利用github的webhook实现代码推送代码后自动更新
登录服务器clone 代码
git clone git@github.com:ninvfeng/deploy.git /data/www/deploy
设置项目目录权限为777
chmod -R 777 /data/www/deploy
为apache用户创建密钥保存目录并修改所属用户为apache
mkdir -p /usr/share/httpd/.ssh chown apache:apache /usr/share/httpd/.ssh
为apache用户创建密钥对
sudo -Hu apache ssh-keygen
查看刚生成的公钥,并登录github粘贴到项目->Settings->Deploy keys里
cat /usr/share/httpd/.ssh/id_rsa.pub
使用apache用户更新项目
sudo -Hu apache git pull
部署deploy.php使外网可直接访问,比如我部署的是
http://deploy.ninvfeng.com/deploy.php
同级目录新建一个token.php 文件,定义token字符串
<?php return "token_string";
登录github->项目->Settings->Webhooks填写部署url如下,其中/data/www/deploy为项目在服务器的实际目录,Content type选 application/json,Secret为上一步中的token字符串
http://deploy.ninvfeng.com/deploy.php?path=/data/www/deploy
大功告成!提交代码测试看是否会自动部署。