Jenkins配置部署.NetFrameWork (.NetCore) 应用程序
首先配置Jenkins环境,并安装插件Localization: Chinese (Simplified)、MSBuild、SSH
Global Tool Configuration 中配置相关工具(MSBuild 的配置信息是安装了visualstudio2019)
接下来配置SSH
win10安装SSH(参考链接:https://zhuanlan.zhihu.com/p/111812831)
开启ssh服务 Start-Service sshd 查看状态:Get-Service sshd 关闭服务:Stop-Service sshd 重启服务:Restart-Service sshd
ssh服务安装完毕,服务器与客户端(本机)都要安装
测试ssh是否正常使用,默认需要输入密码登录
从客户端使用命令: ssh 服务器用户名@服务器Ip
配置免密登录,先在客户端(本地)生成公钥
ssh-keygen -t rsa
切换到路径:C:\Users\your_userName\.ssh,找到公钥文件id_rsa.pub
复制公钥文件内容,到服务端C:\Users\your_userName\.ssh下创建文件authorized_keys(没有文件后缀),粘贴公钥,保存退出。
服务端切换到C:\ProgramData\ssh\下(首次启动sshd后会生成该文件夹),打开sshd_config文件
修改文件(确保以下三点没有被注释,最后一个修改为no):
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no
确保以下两点被注释:
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
重启服务:Restart-Service sshd
本地测试是否可以免密登录
Jenkins配置SSH,打开Configure System
新建一个自由风格的任务
指定Jenkins工作目录,以及配置代码管理工具
开始构建web,对于.NetFrameWork的项目需要下载Nuget包管理工具还原,对于.NetCore的直接使用dotnet还原即可
nuget.exe 下载路径 https://www.nuget.org/downloads 微软msbuid文档:https://docs.microsoft.com/zh-cn/nuget/reference/msbuild-targets
"C:\Program Files (x86)\NuGet\nuget.exe" restore NewWeb\NewWeb.sln
/t:Restore /t:Rebuild /p:Configuration=Release /p:DeployOnBuild=True /p:PublishProfile=FolderProfile.pubxml
推送到远程地址
cmd /c "C:\Windows\System32\inetsrv\appcmd.exe recycle apppool /apppool.name:NweWeb && E: && cd E:\SSH\SSHWeb && tar xvf NewWeb.tar"
至此,自动部署已配置完毕,备份什么的可以写脚本命令来执行。