原理分析
宿主机、目标机群、操作用户关系如下图所示,宿主机(walle所在的机器),是一个中间机器,是代码托管与远程目标机群的纽带。所以宿主机需要与代码托管(github/gitlab)和远程目标机群都建立ssh-key信任
建立ssh-key信任
1.在宿主机中配置免密码登录,把宿主机(walle部署的的机器)用户的/.ssh/id_rsa.pub添加到远程目标机器用户的/.ssh/authorized_keys
#宿主机操作
sshpass -p 远程目标机器密码 scp ~/.ssh/id_rsa.pub 远程目标机器用户名@192.168.233.137:~/.ssh/authorized_keys
2.同时把~/.ssh/id_rsa.pub添加到远程git仓库的ssh公钥里https://www.jianshu.com/p/2b59daff2ac7
配置目标服务器
进入walle管理系统
创建项目
检测
点检测如果提示一下页面则配置OK
代码推送
1.git clone git仓库地址
2.修改些内容git提交代码版本
3.walle 管理系统-》部署管理-》找到刚刚创建的项目-》新建上线单
此时walle会直接获取git仓库分支的代码以及git更新的版本推送到设置的目标机器
总结
walle代码版本回滚、版本更新通过改变目标集群部署路径 (/Data/apps/wwwroot/test)软连接的指向完成的,代码存放地方为目标集群部署仓库(/Data/apps/wwwroot/re-test/版本号)