之前写过自动化部署工具瓦力(walle)的安装,今天在虚拟机上对walle的项目配置和上线进行了测试,这里记录一下我的步骤。
我对walle的工作流程理解:
宿主A机器到git远端仓库拉去源代码到本地的代码检出仓库,然后,瓦力将代码复制到目标B主机。
这就决定了,宿主A机器的php-fpm运行用户,要有对本地的代码检出仓库的写入权限,同时目标B机器要对A机器信任,使对方可以无密码登录到自己机器上。
测试时会使用到的一些东西:
php代码的git远端地址:git@github.com:ziyueit/xunsearch.git
A机器(宿主主机)IP:192.168.21.63
B机器(目标主机)IP:192.168.21.60
A机器的php-fpm运行用户:wallehost
A 机器上的‘本地的代码检出仓库’目录 /warehouse/
B机器的php-fpm和nginx运行用户:webhost
B机器上的‘发布版本库’目录
开始步骤:
1.在A机器创建用户:wallehost
useradd wallehost
mkdir /warehouse/
chown wallehost /warehouse/
2.在B机器创建用户:webhost
useradd webhost
passwd webhost
输入新账号的密码,
然后创建‘发布版本库’目录
mkdir /www/public
chown webhost /www/
chown webhost /www/public/
3.让A机器的wallehost,可以使用B机器的webhost帐号免密码登录B机器
A机器:
su wallehost
ssh-keygen -t rsa
一路回车下去就行
这里要将生成公钥内容添加到github的ssh-key里面
cat ~/.ssh/id_rsa.pub
将里面的内容复制添加到https://github.com/settings/ssh里
B机器:
su webhost
cd ~
mkdir .ssh
chmod 700 .ssh
A 机器:
cd ~/.ssh
cp id_rsa.pub authorized_keys
scp authorized_keys webhost@192.168.21.60:/home/webhost/.ssh
B机器:
cd ~/.ssh
chmod 600 authorized_keys
A机器:
ssh webhost@192.168.21.60
如果可以不输入密码,说明信任建立成功
4.修改A、B机器上的php-fpm运行用户
可以使用下面命令查看当前运行的用户
ps -aux | grep php-fpm
分别修改运行的user,
su root
vim /etc/php-fpm.d/www.conf
A 机器上的修改为user=wallehost
B机器上的修改为user=webhost
分别重启两台机器上的php-fpm
5.配置walle项目
6.提交上线单,这里不多讲了,想必大家看看都知道怎么做。
可能遇到的问题:
等等再收集吧……