理解walle实现发布代码的原理:
宿主机:walle系统搭建的服务器以及拉取gitlab代码的服务器,这个时候gitlab一般都是另外一台服务器。
目标机器:版本最终发布的目的机器,或者目的机群。
一、确定宿主机php运行的账户,并在该账户下创建ssh-key,并将ssh-key添加到gitlab的ssh-key中,实现宿主机免密码拉取版本。
-
vim php-fpm.conf
user = www #得到php是运行了www这个账户下
-
获取ssh-key
su - www #切换到www账户下
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
#生成ssh-key,回车键多几次,勿设置密码。
cat .ssh/id_rsa.pub #将宿主机的公钥复制到gitlab的ssh-key列表中这个时候宿主机已经跟gitlab取得了授信
git clone git-url #测试宿主机与gitlab是否添加信任
二、实现宿主机与目标机器的ssh免密码登录
-
假设都使用目标机器的root账户,登录后,在/root/.ssh/下创建authorized_keys名的文件
touch authorized_keys
-
并将宿主机的id_rsa.pub的公钥复制到该文件中
ssh root@目标服务器的ip #ssh登录目标机器
回车,会提示一个操作host的信任输入yes确认,继续回车,这个时候发现已经免密码进入到目标服务器了
三、配置好walle系统的配置就可以进行代码的发布了