依赖项
- 首先请确保 Jenkins 已经正确安装
- 安装 Jenkins 插件 Publish Over SSH (本机构建则不需要安装,主要用于连接远程SSH)
安装 Publish Over SSH
- 进入主页面点击左侧系统管理项进入管理 Jenkins 页面
- 点击插件管理搜索 Publish Over SSH
- 勾选安装项 点击底部安装并重启即可
配置远程SSH地址
- 进入主页面点击左侧系统管理项进入管理 Jenkins 页面
- 点击进入系统配置
- 拉到底部可以看到有一个 Publish over SSH 项 (如果没有重启后进入刷新页面)
- 配置SSH相关参数
构建自动化任务
- 进入主页面点击左侧新建任务
- 选择构建一个自由风格的软件项目
- 我这里使用 gitee 做测试 其他git仓库原理一样(gitee需要安装gitee 官方插件)
- 选择git项目链接
- 配置源码管理相关参数(Credentials 为登录git凭证可自行添加)
- 配置构建触发器以进行事件触发
构建
我这里使用的直接执行命令方式也可以使用文件方式
- 选择 Send files or execute commands over SSH 项
- 选择指定远程服务器
- 配置构建命令
#!/bin/sh
cd /www/wwwroot/test/xxx
#git reset --hard
git log -1
git pull origin master
#chown -R www:www ./.git/
#find ./ -user root -exec chown www:www {} \;
#find ./ -user root |grep -v 'user.ini' -exec chown www:www {} \;
git status
配置webhook 到gitee 指定事件
把刚才的地址和秘钥配置后就可以测试了
测试自动化
- 手动gitee添加一个文件 jenkins.txt
- 手动gitee删除文件 jenkins.txt
注意
如果执行 git pull 拉取代码时 提示输入账号密码 可以使用一下地址clone 项目后重试
git clone https://{username}:{password}.@gitee.com/xxx/xxx.git
git clone https://111111:22222.@gitee.com/xxx/xxx.git
即可不需要使用密码