本教程适用于两台服务器,A服务器部署了Jenkins(以下简称Jenkins服务器或A服务器),B服务器为应用服务器,用来部署Web应用(以下简称Web服务器或B服务器)
生成密钥文件
在A服务器生成密钥
# 生成密钥
ssh-keygen -t rsa
bash
执行命令后,一直回车即可,如图所示

- 将id_rsa.pub文件的内容复制到
authorized_keys文件中 - 将id_rsa.pub和authorized_keys文件拷贝到B服务器的
/root/.ssh的目录下中。
安装Publish over SSH
前往Jenkins管理界面安装Publish over SSH插件,安装插件所在路径“系统管理>插件管理”

配置Publish over SSH
前往Jenkins系统设置界面,页面路径“系统管理>系统配置”,找到Publish over SSH,
并将A服务器的私钥(id_rsa文件的内容)复制到下图所示文本框中

同时新增SSH Servers并保存

新建自动化部署

以下使用开源项目做演示,项目地址:https://gitee.com/miss_you/easy-admin
示例中使用的码云git地址为:https://gitee.com/miss_you/easy-admin.git
- 配置源代码管理

- 添加Jenkins提供者


- 构建项目前操作(非必选项,根据需求选择)

- 添加shell脚本


示例脚本
#!/bin/bash
# 进入到拉取代码的目录
cd $WORKSPACE/easy-admin/src/backend/Easy.Admin.Web.Entry
# 命令文档 https://learn.microsoft.com/zh-cn/dotnet/core/tools/dotnet
dotnet restore
dotnet build
# 此处构建的是linux arm64下的,根据自己需求调整参数
dotnet publish --os linux -a arm64 --no-self-contained -c Release
cd ./bin/Release/net8.0/linux-arm64
tar -czvf publish.tar.gz publish
bash
- 发送打包文件到B服务


保存后就可以实现自动部署了。








