dotnet .net framework jenkins自动化流程
针对dotnet .net framework 代码 以及dotnet core的代码编译jenkins自动化流程记录一下
针对dotnet core 代码文件 首次down下来的源代码文件需要进行源代码还原需要执行
dotnet restore
其次进去其工程目录执行代码备份、编译、停止服务、传输到线上代码目录、启动服务(由于dotnet 为静态代码 不像动态代码文件可以实时生效所以每次代码更新必须要进行服务的启停动作)
以下为内网测试环境的一个傻瓜式脚本
cd C:\devops\git-push\sso.uats.org\Jazea.Passport.Web
xcopy C:\devops\git-push\sso.uats.org\Jazea.Passport.Web\bin\Release\netcoreapp2.2\publish C:\devops\bak\sso.uats.org.bak /y /e /c /h /z /d
dotnet publish -c Release
appcmd stop site Passport
appcmd stop apppool /apppool.name:Passport
xcopy C:\devops\git-push\sso.uats.org\Jazea.Passport.Web\bin\Release\netcoreapp2.2\publish C:\files\web\passport\sso /y /e /c /h /z /d
appcmd start apppool /apppool.name:Passport
appcmd start site Passport
echo "deploy .............................................successfully"
针对dotnet .net framework 代码文件 首次down下来的源代码文件需要进行源代码还原需要执行
nuget restore
其次进去其工程目录执行代码备份、编译、停止服务、传输到线上代码目录、启动服务(由于dotnet 为静态代码 不像动态代码文件可以实时生效所以每次代码更新必须要进行服务的启停动作)
以下为内网测试环境的一个傻瓜式脚本:(由于dotnet .net framework后台代码文件必须依赖windows 的.net framework环境所以必须在windows环境下运行,- - 谁让人家都是azure Microsoft一家的东西呢,也许以后强大的Microsoft会集成到linux的环境下运行,所以下面的脚本均是windows的环境命令,没有对应的 dotnet nuget msbuild 则需要安装对应的命令工具,由于开发小哥哥多年的开发经验都是使用Microsoft 的 vs code visual studio来进行publish 发布代码编译,所以我们可以直接在代码运行的node安装visual studio 文件夹内有内置的客户端命令行工具 msbuild 命令要用它文件夹下面的命令即可进行编译,自己下载了个msbuild命令不可行,emmm可能是依赖winodws的环境吧,我的目录在C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin下面)
cd C:\devops\git-push\admin.e.uats.org\VirtoCommerce.Platform.Web
xcopy C:\devops\git-push\admin.e.uats.org\VirtoCommerce.Platform.Web\bin\Release\_PublishedWebsites\VirtoCommerce.Platform.Web C:\devops\bak\admin.e.uats.org.bak /e /y /c /h /z /d
msbuild VirtoCommerce.Platform.Web.csproj /nologo /verbosity:m /t:Build /p:Configuration=Release;Platform="Any CPU";OutputPath=bin\Release
appcmd stop site e-commerce-backend
appcmd stop apppool /apppool.name:backend
xcopy C:\devops\git-push\admin.e.uats.org\VirtoCommerce.Platform.Web\bin\Release\_PublishedWebsites\VirtoCommerce.Platform.Web C:\files\web\e-commerce\backend /e /y /c /h /z /d
appcmd start apppool /apppool.name:backend
appcmd start site e-commerce-backend
echo "deploy .............................................successfully"
执行代码备份、编译、停止服务、传输到线上代码目录、启动服务均有脚本执行,接下来直接配置自己的jenkins老爷爷即可,需要的就是添加个gitlab的webhook实现自动触发jenkins进行发布,最后面可以添加对应的钉钉机器人,邮件报警即可,话不多说上个样例图吧
这是我自己创建的备份 脚本 源代码 文件夹
这是上面对应的admin 后台的源代码文件,针对具体的工程目录 依赖工程文件具体询问开发小哥哥即可
jenkins主要配置图如下,jenkins老爷爷相信大家都不会陌生啦,简单的一批针对具体场景具体配置即可:
针对jenkins代码仓库配置主要配置图:
git仓库地址拉取的dev的分支代码
ssh publish plugin:
Post-build Actions:
ok 到此结束就是这么简简单单轻轻松松拿下。
补一个awk 过滤乘法口诀的语句:
[root@zabbix ~]# awk 'BEGIN{for(n=0;n++<9;){for(i=0;i++<n;)printf i"x"n"="i*n" ";print ""}}'
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81