本文介绍如何使用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
随时随地看视频