因为分布式系统部署代码需要,试了试walle部署系统。(现在已经升级为2.0了)
其他问题,参考官方的说明文档,几乎都能解决。
这里我遇到的问题这里记录下:
首次部署需要全量发布
因为一开始配置好仓库后代码打包比较大,所以试了试增量发布其中一个小文件,结果总是报错:
2018-08-23 10:45:07 -- ---- Executing: $ ssh -T -p 22 -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o CheckHostIP=false 'work'@'10.2.100.24'
'cp -arf /home/work/im-service/. /data1/publish/releases/8/20180719-104448 && cd /data1/publish/releases/8/20180719-104448 && tar --no-same-owner -pm -C
/data1/publish/releases/8/20180719-104448 -xz -f /data1/publish/releases/8/20180719-104448.tar.gz' 2018-07-19 10:45:08 -- cp: cannot stat ‘/home/work/im-
service/.’: No such file or directory
于是看了源代码:
components/Folder.php 第 200-203行
if ($task->file_transmission_mode == TaskModel::FILE_TRANSMISSION_MODE_PART) {
// 增量传输时, 在解压数据包之前, 需要把目标机当前版本复制一份到release目录
$cmd[] = sprintf('cp -arf %s/. %s', $webrootPath, $releasePath);
}
原来当首次使用增量发布的时候会进行备份,导致提示No such file or directory
首次发布,或新增加目标机的时候都要选择全量发布
上线部署卡在同步至服务器
,F12调试start_deploy为502
调整超时配置大一点
注意检查php-fpm.conf的配置
request_terminate_timeout = 7200
注意检查php.ini的配置
max_execution_time = 0
注意检查nginx.conf的配置
fastcgi_connect_timeout 300; // 时间改为 600
fastcgi_send_timeout 300; // 时间改为 600
fastcgi_read_timeout 300; // 时间改为 600
备注
php用户如 www
需加入目标机 ssh
信任
su -s /bin/sh www
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.0.0.112
感谢!