概述
这个方案是我琢磨了好久,唯一成功实现的方法。。。
主要思路如下:
- 准备一个部署测试服务的服务器(注意一定要是server版本的,,不然一会会出现权限错误)
- 通过gitlab配置webhook在代码更新的时候自动给jenkins发送消息
- jenkins配置gitlab获取消息之后通过ssh连接服务器通过docker-compose进行部署
参考:
- https://www.jianshu.com/p/707209fc1dae
搭建环境
1服务器准备好一个可以远程登录的root账户
2jenkins安装插件
需要安装的插件:
- Publish over SSH
- Gitlab
3jenkins配置远程服务器的登录信息
系统管理—》系统设置–》拉到底部Publish over SSH
Passphrase和Key二选一即可 。Passphrase是密码方式登录服务器,Key是免密码方式登录服务器(如何免密登录自行百度)。
Remote Directory: 上传代码的默认存储根目录
修改默认端口号点击高级即可设置Port。
配置完成后,点击 Test Configuration 进行测试。
配置gitlab钩子
参考:https://www.jianshu.com/p/eeb15a408d88
参考:https://www.cnblogs.com/xiao987334176/p/11425560.html
参考:https://www.cnblogs.com/horizonli/p/5332515.html