Qianshi's Blog
404 字
2 分钟
Asp.Net Core Jenkins Deploy

1.下载安装 jenkins#

Windows安装Jenkins详细教程(图文教程) - 小测试圈 - 博客园 (cnblogs.com)

2.安装配置 Publish over SSH 插件#

服务器安装 OpenSSH:PowerShell/Win32-OpenSSH: Win32 port of OpenSSH (github.com)

安装:Dashboard -> Manage Jenkins -> Plugins -> Available plugins -> 搜索 Publish over SSH 安装

配置:Dashboard -> Manage Jenkins -> System -> Publish over SSH -> SSH Servers -> hostname 填写服务器地址 -> 高级 -> 填写 password -> Test Configuration(Success 即为配置成功)

remote directory 在 windows 服务器下需要在路径前面加上 /

3.新建任务#

Dashboard -> 新建Item -> 输入名称选择 Freestyle project -> 源代码管理选择Git -> 填写完URL 后添加 Credentials -> 指定要监听的分支 -> 构建触发器选择 Poll SCM -> 日程表填入 H/2 * * * * 没两分钟检查是否有更新 -> Build Steps -> 添加 Execute Windows batch command -> 填写命令1 -> 添加 Send files or execute commands over SSH -> 选择服务器 -> 高级勾选 Verbose output in console -> Transfer Set 填写表单1 -> 保存 -> Build Now

命令1

dotnet resoter
dotnet build
dotnet publish 工程名称 -o .\publish

表单1

Sources files = **/publish/*

Remove prefix = /publish

Remote directory = test

Exec command = C:/cicd/auto-publish.bat

auto-publish.bat

cd /d %~dp0
::获取当前目录

@set WebSiteName="网站名称"
@set SCWebApiWebPoolName="应用程序池名称"
@set CicdDir="新程序发布文件夹"
@set TargetDir="程序文件夹"

::停止一下IIS站点
@echo stop WebSite start...
C:\Windows\System32\inetsrv\appcmd.exe stop site %WebSiteName%
@echo stop WebSite finished...

::停止应用程序池
@echo stop WebSite start...
C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:%SCWebApiWebPoolName%
@echo stop WebSite finished...

::复制文件
xcopy %CicdDir% %TargetDir% /f/y

::启动应用程序池
@echo stop WebSite start...
C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:%SCWebApiWebPoolName%
@echo stop WebSite finished...

::启动IIS站点
@echo Restart WebSite start...
C:\Windows\System32\inetsrv\appcmd.exe start site %WebSiteName%
@echo Restart WebSite finished...

Asp.Net Core Jenkins Deploy
https://kuriyama.top/posts/dotnet/asp-net-core-jenkins-deploy/
作者
Qian Shi
发布于
2024-04-08
许可协议
CC BY-NC-SA 4.0