在这里给大家分享一下,怎么样使用Jenkins来部署JuCheapCore4.0(Net Core 3.1 WebApi)的程序。
环境:
操作系统:Windows Server 2012
应用程序:Net Core 3.1开发的WebApi应用程序
源代码:gitee.com
自动化部署程序:Jenkins。关于Jenkins怎么在Windows上安装,这里就不多说了,安装很简答,大家自己科普下。
第一步
建立一个Jenkins发版项目,如下图:
第二步
填写源代码仓库的地址,如果是私有仓库,需要添加仓库的账号和密码,如下图:
第三步
选择Jenkins构建的触发器。我们使用的手动触发发版流程,所以这里留空不选择,如下图:
第四步
编写发版脚本,这一步也是最重要的一个步骤,如下图:
完整构建脚本如下:
cd "%WORKSPACE%\src\JuCheap.Core.WebApi\"
dotnet publish -c:Release -r win-x64 --self-contained false
cd bin\Release\netcoreapp3.1\win-x64\
del /F/Q appsettings.json
taskkill -IM JuCheap.Core.WebApi.exe /F
xcopy /y/s * D:\wwwroot\JuCheapCore4\api\8001
xcopy /y/s * D:\wwwroot\JuCheapCore4\api\8002
cd D:\wwwroot\JuCheapCore4\api\8001
start JuCheap.Core.WebApi.exe
cd D:\wwwroot\JuCheapCore4\api\8002
start JuCheap.Core.WebApi.exe
发版的完整脚本如上,接下来我们解释下上面的每一行代码的具体意思
1 cd "%WORKSPACE%\src\JuCheap.Core.WebApi\"
进入到Jekins工作目录下的项目源代码文件夹里面,这个是我们需要发布的WebApi项目所在的根目录。
2 dotnet publish -c:Release -r win-x64 --self-contained false
发布JuCheap.Core.WebApi这个项目。
-c:Release 是发布Release版本
-r win-x64 是发布windows版本
--self-contained false 发布一个依赖net core框架的应用。如果改成true,那么这个发布的应用程序,可以独立运行,不需要依赖net core框架,因为发布的时候会把运行时包含在里面。
备注:dotnet publish命令还有一个参数 -o 发布物输出的目录。可以直接把发布好的文件输出到指定的目录
3 cd bin\Release\netcoreapp3.1\win-x64\
发布完成后,我们进入到最终发布好的文件所在的目录
4 del /F/Q appsettings.json
由于发布的时候,我不需要发布配置文件,这里我把它删除掉。
5 taskkill -IM JuCheap.Core.WebApi.exe /F
在开始复制发布文件到对应的运行目录之前,我们需要先杀掉之前运行的JuCheap.Core.WebApi.exe程序。
6.1 xcopy /y/s * D:\wwwroot\JuCheapCore4\api\8001
6.2 xcopy /y/s * D:\wwwroot\JuCheapCore4\api\8002
上面有两个拷贝的命令,因为我们JuCheap.Core.WebApi.exe这个程序,我们部署了两套应用。
7.1 cd D:\wwwroot\JuCheapCore4\api\8001
进入到对应的运行目录
7.2 start JuCheap.Core.WebApi.exe
启动JuCheap.Core.WebApi.exe这个应用程序
备注:这里我们使用应用程序的方式运行WebApi,当然你也可以使用dotnet的命令来运行,可以把下面的“start JuCheap.Core.WebApi.exe”替换成“dotnet JuCheap.Core.WebApi.dll”
8.1 cd D:\wwwroot\JuCheapCore4\api\8002
重复7.1的步骤,重新部署一套应用。
8.2 start JuCheap.Core.WebApi.exe
重复7.2的步骤,启动第二套应用程序。
好了,到此为止,我们的构建项目就创建完成了,下面我们来一起看看,实际构建效果,如下图:
如上图,我们看到最后的结果是:SUCCESS。说明我们发布成功。好了,希望文章能够帮助到更多的同学。