前言

  上一篇,我们已经实现了nuget包的打包,发布到nuget。最近,发现github也有持续集成持续交付部署(CICD)的功能(请原谅我的菜)。原来也没太关注这块,主要原来一直专注于写业务。最近开始系统学习微服务相关的内容,了解到是通过jenkins之类的工具来实现的部署。在github上闲逛的时候,发现有个Actions的功能,就尝试了一番。它是通过一个yml配置文件来实现,代码推送到仓库后,自动打包发布到nuget源和github源。这个过程就是在一个docker环境或者虚拟服务器环境中,将代码clone下来,通过nuget.exe这样的命令行打包上传工具来实现原本人工的操作过程(我猜的)。所以,本文主要实现的就是当我们的代码推送到git仓库后,自动打包nuget package,并推送到nuget.org和github.com。

从一次解决Nancy参数绑定“bug”开始发布自己的第一个nuget包(扩展篇)-LMLPHP 

准备工作

  1.首先,我们先修改一下nuget package的配置文件,准备一个待发布的新版本源码。说明一下,这一步不是必须的,我是为了演示一下这个过程,所以故意把版本号改了。只要你的代码是有修改,未推送到git仓库就行了。

从一次解决Nancy参数绑定“bug”开始发布自己的第一个nuget包(扩展篇)-LMLPHP

   2.通过copy命令将我们打包所需的文件copy到一个独立的文件夹中,方便打包。

从一次解决Nancy参数绑定“bug”开始发布自己的第一个nuget包(扩展篇)-LMLPHP 

 命令行完整代码,这里copy后的文件结构和我们在nuget package explorer里面是一样的。

copy "$(SolutionDir)Nancy.FixQueryDictionary\bin\Release\Nancy.FixQueryDictionary.dll" "$(SolutionDir)\NugetPublish\Release\lib\Nancy.FixQueryDictionary.dll"
copy "$(SolutionDir)Nancy.FixQueryDictionary\bin\Release\Nancy.FixQueryDictionary.xml" "$(SolutionDir)\NugetPublish\Release\lib\Nancy.FixQueryDictionary.xml"
copy "$(SolutionDir)Nancy.FixQueryDictionary\bin\Release\Nancy.FixQueryDictionary.pdb" "$(SolutionDir)\NugetPublish\Release\lib\Nancy.FixQueryDictionary.pdb"
copy "$(SolutionDir)README.md" "$(SolutionDir)\NugetPublish\Release\README.md"
01-01 00:55