依赖项

  1. 首先请确保 Jenkins 已经正确安装
  2. 安装 Jenkins 插件 Publish Over SSH (本机构建则不需要安装,主要用于连接远程SSH)

安装 Publish Over SSH

  1. 进入主页面点击左侧系统管理项进入管理 Jenkins 页面
  2. 点击插件管理搜索 Publish Over SSH

image.png

  1. 勾选安装项 点击底部安装并重启即可

image.png

image.png

配置远程SSH地址

  1. 进入主页面点击左侧系统管理项进入管理 Jenkins 页面
  2. 点击进入系统配置

image.png

  1. 拉到底部可以看到有一个 Publish over SSH 项 (如果没有重启后进入刷新页面)

image.png

  1. 配置SSH相关参数

image.png

构建自动化任务

  1. 进入主页面点击左侧新建任务

image.png

  1. 选择构建一个自由风格的软件项目

image.png

  1. 我这里使用 gitee 做测试 其他git仓库原理一样(gitee需要安装gitee 官方插件)
  2. 选择git项目链接

image.png

  1. 配置源码管理相关参数(Credentials 为登录git凭证可自行添加)

image.png

  1. 配置构建触发器以进行事件触发

image.png

构建

我这里使用的直接执行命令方式也可以使用文件方式

  1. 选择 Send files or execute commands over SSH 项

image.png

  1. 选择指定远程服务器

image.png

  1. 配置构建命令

image.png

  1. #!/bin/sh
  2. cd /www/wwwroot/test/xxx
  3. #git reset --hard
  4. git log -1
  5. git pull origin master
  6. #chown -R www:www ./.git/
  7. #find ./ -user root -exec chown www:www {} \;
  8. #find ./ -user root |grep -v 'user.ini' -exec chown www:www {} \;
  9. git status

配置webhook 到gitee 指定事件

把刚才的地址和秘钥配置后就可以测试了
image.png

测试自动化

  1. 手动gitee添加一个文件 jenkins.txt

image.png
image.png

  1. 手动gitee删除文件 jenkins.txt

image.png

注意

如果执行 git pull 拉取代码时 提示输入账号密码 可以使用一下地址clone 项目后重试

  1. git clone https://{username}:{password}.@gitee.com/xxx/xxx.git
  2. git clone https://111111:22222.@gitee.com/xxx/xxx.git

即可不需要使用密码