本文介绍如何使用Azure Pipelines从Github发布Nuget包。
1、Install Azure Pipelines
点击进入GitHub Marketplace
github.png
找到Azure Pipelines
marketplace.png
点击安装,之后会登录微软账户,因为我已经安装过所以不再展示详细安装步骤,根据提示继续即可
install.png
2、创建测试项目
创建一个类库项目,一个XUnit单元测试项目(前边的前缀主要是为了不重名,不然上传package会报错,当然CI的时候可以修改)
project.png
添加如下代码
//Talk.cs
namespace Aquarius.SayHello
{
public class Talk
{
public static string Hello()
{
return "Hello";
}
}
}
//Talk_Test.cs
using Xunit;
namespace Aquarius.SayHello.Test
{
public class Talk_Test
{
[Fact]
public void Talk_Should_Be_Hello()
{
var result = Talk.Hello();
Assert.Equal("Hello", result);
}
}
}
创建一个新项目,名字叫 Aquarius.SayHello
,并确保下边的钩保持选中
提交代码
push code to github.png
其中.gitignore可以忽略,也可以使用git可视化工具或VS中的Git集成进行本步操作
repo.png
push成功之后可以看到代码已经存在
3、集成Azure Pipelines
前往Azure DevOps,创建一个新的项目
new project.png
点击Pipelines
Pipelines.png
创建一个新的pipeline
选择github
source.png
模板选择ASP.NET Core
template.png
将最后两个publish的删除,保持如下:
remove publish.png
添加一个.Net Core并进行如下设置
add .net core.png
pack.png
添加一个nuget并进行如下设置
add nuget.png
push.png
在进行下一步之前先去Nuget创建一个apikey,并复制
apikey.png
添加一个NuGet server并使用刚才创建的key
Add nuget server.png
Feed URL:
https://api.nuget.org/v3/index.json
下一步开启CI
enable CI.png
最后一步保存并编译
save&queue.png
编译结果以及Nuget package
build result.png
package.png
新的包已经出现(等一段时间就会出现在
Published
分类中)
4、自动编译
修改代码并提交,如下:
//Talk.cs
namespace Aquarius.SayHello
{
public class Talk
{
public static string Hello()
{
return "Hello";
}
public static string Hi()
{
return "Hi";
}
}
}
//Talk_Test.cs
using Xunit;
namespace Aquarius.SayHello.Test
{
public class Talk_Test
{
[Fact]
public void Talk_Should_Be_Hello()
{
var result = Talk.Hello();
Assert.Equal("Hello", result);
}
[Fact]
public void Talk_Should_Be_Hi()
{
var result = Talk.Hi();
Assert.Equal("Hi", result);
}
}
}
commit & push.png
CI build.png
触发自动编译并通过
nuget package.png
新的包也已经上传。
网友评论