Ninvfeng Blog

记录web开发中的所见所得

利用github的webhook实现代码推送代码后自动更新

利用github的webhook实现代码推送代码后自动更新

  1. 登录服务器clone 代码

    git clone git@github.com:ninvfeng/deploy.git /data/www/deploy
  2. 设置项目目录权限为777

    chmod -R 777 /data/www/deploy
    
  3. 为apache用户创建密钥保存目录并修改所属用户为apache

    mkdir -p /usr/share/httpd/.ssh
    chown apache:apache /usr/share/httpd/.ssh
    
  4. 为apache用户创建密钥对

    sudo -Hu apache ssh-keygen
    
  5. 查看刚生成的公钥,并登录github粘贴到项目->Settings->Deploy keys里

    cat /usr/share/httpd/.ssh/id_rsa.pub
    
  6. 使用apache用户更新项目

    sudo -Hu apache git pull
    
  7. 部署deploy.php使外网可直接访问,比如我部署的是

    http://deploy.ninvfeng.com/deploy.php        
    
  8. 同级目录新建一个token.php 文件,定义token字符串

    <?php return "token_string";
    
  9. 登录github->项目->Settings->Webhooks填写部署url如下,其中/data/www/deploy为项目在服务器的实际目录,Content type选 application/json,Secret为上一步中的token字符串

    http://deploy.ninvfeng.com/deploy.php?path=/data/www/deploy
    
  10. 大功告成!提交代码测试看是否会自动部署。

文章评论已关闭!