Jenkins + gitlab + rsync部署项目
2019-03-18 本文已影响0人
凤之恋
参考资料
Jenkins安装与使用 https://www.jianshu.com/p/aa2ff4078f55
rsyncd 服务配置 https://www.jianshu.com/p/18660d085196
新建项目

配置项目
- 基础设置
配置项目

选择丢弃旧的构建,保留最近几天或者最近几个构建
-
源码管理设置
源码管理.png
-
构建设置
选择增加构建步骤=》执行shell

# 通过rsync部署代码到目标服务器
ip="192.168.16.1"
/usr/bin/rsync -aq --progress --port=30001 $WORKSPACE/ zhangxiu@$ip::laravel/easy_pinsheng_taobao --password-file=/data/zhangxiu/rsync/rsync_jenkins.client --exclude=.env
可添加多个构建执行shell 部署到多台服务器上。
需要注意jenkins服务器上rsync密钥文件的身份和权限。/data/zhangxiu/rsync/rsync_jenkins.client
用户身份和权限

rsyncd 服务配置 参照 https://www.jianshu.com/p/18660d085196
gitlab jenkins实现自动化部署
- gitlab中配置访问令牌
API token 是在gitlab中的个人令牌中生成的(注意保存令牌)


- 在项目中配置gitlab connection
在上述项目配置中,需要选择一下gitlab connection
项目选择gitlab connection.png
gitlab connection的配置方法如下:
系统设置=》gitlab

gitlab api token凭据添加方式为:凭据=》系统=》全局凭据=》添加凭据
类型选择 gitlab api token

- 配置项目 构建触发器


- gitlab 项目中webhook 设置


- 测试自动构建
push 一下目标分支的代码,可以再jenkins项目的构建记录中看到来自gitlab push的构建记录
