本文介绍如何使用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.csnamespace Aquarius.SayHello { public class Talk { public static string Hello() { return "Hello"; } } }
//Talk_Test.csusing 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
,并确保下边的钩保持选中
new repo.png
提交代码
push code to github.png
其中.gitignore可以忽略,也可以使用git可视化工具或VS中的Git集成进行本步操作
repo.png
push成功之后可以看到代码已经存在
3、集成Azure Pipelines
前往Azure DevOps,创建一个新的项目
Azure DevOps.png
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.csnamespace Aquarius.SayHello { public class Talk { public static string Hello() { return "Hello"; } public static string Hi() { return "Hi"; } } }
//Talk_Test.csusing 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
作者:Weidaicheng
链接:https://www.jianshu.com/p/882a1336e458