- 孤单又灿烂的人 评论:
抢个沙发
- 2018-04-17 17:07:11
- 回复
在日常项目的维护中,通常会在本地git push后,然后去服务器端通过git pull拉取最新的代码,反反复复的重复操作过后,觉得这种方式有点笨,然后通过科学上网了解到自动化部署这种神器,然后就小小的了解了一下,一般自动化部署都是通过webhook来实现的,也有一些做的比较好的自动化部署工具:
上面这些都是很好的自动化部署的工具,结合项目的持续集成,很好用的。而我没有用,我就简单的用了一下webhook,下面是整个过程。本次测试基于码云,ubuntu16.04,GitHub,coding,GitLab同理。
在码云上建立一个git仓库,这个步骤简单,就略过,如果你实在不知道怎么建立仓库,请参考这篇文章码云上创建项目,我这里创建了一个autopull项目。
2.在服务器上配置
sudo mkdir /var/www/.ssh
sudo chown -R www:www /var/www/.ssh/
ssh-keygen -t rsa -C "1235567@qq.com"
sudo -Hu www ssh-keygen -t rsa
,选择no passphrase一直回车sudo cat /var/www/.ssh/id_rsa.pub
查看生成的秘钥,然后复制全部内容git config --global user.name "orange"
git config --global user.email "12341412@qq.com"
chown -R www:www /www/wwwroot/test
注意:请确保你的webhook.php文件能够访问,例如http://www.example.com/test/webhook.php
因为PHP默认禁止exec函数,所以请修改PHP的配置文件,在disable_function后面去掉exec函数,然后重启PHP
7.进入码云创建好的项目,点击项目管理,进入webhook管理,添加你的webhook地址
你可以点击测试来测试地址是否能访问。
然后克隆项目到服务器路径/www/wwwroot/test
8.克隆项目到本地,然后随便改点东西推上去,这个时候你再去服务器看刚才的git仓库,就出现了你推送的内容。很神奇有木有,哈哈,然而只是几个命令而已。- -!!
友情提示:如果你部署失败了,一般都是exec函数没有操作权限,请赋予对应的linux用户权限去操作对应的目录。
last but not least:转载请注明出处,happy coding….再见。。。
评论一下