另一种方式生成ssh公钥进行webhooks进行自动化部署
在上篇文章中(利用webhooks进行自动化部署)提到,创建ssh公钥
的时候,因为默认的www
是没有登录权限的,所以需要去vim /etc/passwd
修改www
的登录权限,然后切换www
去生成ssh公钥
。
实际上还有个更好更简单的办法,无需修改www
权限。
检查系统php运行时使用的用户
可以在webhooks.php中写入以下代码,访问一下就知道了:
exec("cd ~ && cd - && cd -", $output); print_r($output);
创建ssh公钥存放路径
先确认有没有/home/www/.ssh
该路径,如果没有的话先创建:
sudo mkdir -p /home/www/.ssh
修改ssh公钥存放路径权限
sudo chown -R www:www /home/www/.ssh
使用www用户组去创建公钥
sudo -Hu www ssh-keygen -t rsa -C "xxx@xxxxxx.com"
三次回车后即可生成ssh公钥
,接下来查看公钥
sudo cat /home/www/.ssh/id_rsa.pub
把公钥复制到项目的部署公钥管理里面即可。
注意事项
1、请确保项目的用户组为www
,如果不是则:
sudo chown -R www:www 项目路径
2、首次需要先:
sudo -Hu www git pull
然后才可以使用webhooks进行自动化部署。
今天是什么日子?谁能告诉我一下
感谢