通过Myget编译发布Nuget程序包

引言

最近写了一个开源组件,用于生成测试用的数据Faker.zh-Hans,放在Github上。稍微研究了一下如何从Github自动编译和发布到Nuget以便有更多人使用。
整体来说,发布一个开源项目到Nuget还是很方便的。简单的把步骤列出来,希望能够帮到大家。

Faker.zh-Hans还没完成,但是欢迎大家给我打星

主要步骤如下:

  1. 注册MyGet账号
  2. 配置MyGet 编译信息
  3. 发布Nuget程序包

注册MyGet账号

登陆https://www.myget.org ,注册一个账号。MyGet本身是一个类似于Nuget的网站,但是它提供了更多的服务,诸如编译,发布等。它面向社区部分是免费的。

简单填写登录信息,单击创建账号按钮,等待收到验证信以后,验证


通过Myget编译发布Nuget程序包_第1张图片
注册

如果不想创建太多账号,也可以用Github账号直接登陆

登陆后,首先创建一个Feed。


通过Myget编译发布Nuget程序包_第2张图片
Paste_Image.png

填写自己的feedUrl和描述。

通过Myget编译发布Nuget程序包_第3张图片
Paste_Image.png

编译代码

转到Build Services,准备从源码控制器中选择代码编译。


通过Myget编译发布Nuget程序包_第4张图片
Paste_Image.png

点击Github后需要登陆github(如果用Github账号登陆则不用)后选择需要的代码库。

通过Myget编译发布Nuget程序包_第5张图片
Paste_Image.png

MyGet会自动生成这个feed Hook 的URL,我们复制下来。

通过Myget编译发布Nuget程序包_第6张图片
Paste_Image.png

首先点击Build,先编译一个出来看看

通过Myget编译发布Nuget程序包_第7张图片
Paste_Image.png
  1. 在Github上的设置
    在对应得项目中选择Settings:
Paste_Image.png

添加一个webhook

通过Myget编译发布Nuget程序包_第8张图片
Paste_Image.png

把刚才复制的hook填入到playload中

通过Myget编译发布Nuget程序包_第9张图片
Paste_Image.png

okay,现在大部分工作已经做完,只要push代码到Github中,MyGet就会自动编译。

发布到Nuget

注册一个Nuge账号,在nuget官网上注册账号很简单,填写下图信息,点击Register即可。

通过Myget编译发布Nuget程序包_第10张图片
image.png

创建好账号后转到apiKey创建一个apikey,如下图

通过Myget编译发布Nuget程序包_第11张图片
image.png

创建好apikey之后,选择复制这个apikey,然后转到myget网站:如下图:

通过Myget编译发布Nuget程序包_第12张图片
image.png

选择Edit,然后把apikey拷贝到对应的ApiKey输入框即可。

最后,在包生成以后,你可以在下面界面点击push,把生成的包发不到nuget,发布后可能需要稍微等一下(15分钟?)然后就可以在visual studio中下载了。

通过Myget编译发布Nuget程序包_第13张图片
image.png

参考资料
Automatically Publishing NuGet packages from GitHub

你可能感兴趣的:(通过Myget编译发布Nuget程序包)