之前写过自动化部署工具瓦力(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项目

图片1.png

6.提交上线单,这里不多讲了,想必大家看看都知道怎么做。

可能遇到的问题:

等等再收集吧……

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐