黑马程序员技术交流社区

标题: 【上海校区】码云WebHooks自动化部署 [打印本页]

作者: YXW95    时间: 2019-9-19 09:45
标题: 【上海校区】码云WebHooks自动化部署
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36864496/article/details/79670511
目的:不用每次代码git提交以后,再去服务器pull一次。
比设置定时任务的好处是:不用一直请求,而是push时触发
具体步骤:

1. 码云上建库

2. 服务器上git配置
    2.1安装git
       2.1.1、yum install curl-devel expat-devel gettext-devel \
      openssl-devel zlib-devel
      安装必备库
      2.1.2、yum -y install git-core
      安装git核心版
     2.1.3、git --version
     查看是否安装成功
  2.2 配置git
   2.2.1、git config --global user.name "xxx"
   2.2.2、git config --global user.email xxx@xxx.com

   2.3. 切换到要存放项目是目录
      cd /home/wwwroot
     2.4. 克隆代码
     2.4.1、git clone git@gitee.com:xxx/xxx.git mytest.xxx.com-test
     ps: 地址分为HTTPS和SSH,如果用SSH需要生成公钥,然后添加到码云的公钥列表里
     默认创建的项目文件夹是码云上的项目名称,需要修改要在地址后面加一个空格和要自定义的名字
     git clone git@gitee.com:xxx/xxx.git mytest.xxx.com
   2.4.2、生成公钥
      ssh-keygen -t rsa -C "xxx@xxx.cn"
      执行完命令会输入存放公钥的文件夹,如:/root/.ssh/

3. 参考链接
       Gitee码云通过WebHooks实现自动同步代码部署
      http://blog.csdn.net/LMH820822/article/details/78356399?locationNum=10&fps=1

4. 问题解决
     PHP shell_exec或exec执行权限问题

     设置让php能够以root权限来执行exec() 或者 shell_exec()
     https://www.cnblogs.com/miaoshiqian/p/4482666.html
      将 PHP 的执行用户加到 sudo 免密输入的列表中

     主要还是权限的问题,最好用 sudo git pull

     修改配置以后需要重启 php-fpm 或 Nginx

    chmod -R 777 /home/cookiex/abc

    其他参考
     PHP shell_exec或exec执行权限问题
     http://www.metsky.com/archives/843.html

    实际上执行的命令:
       cd /home/wwwroot/mytest.xxx.com/ && git pull

    重启Nginx
      service nginx start

      重启PHP-fpm
       kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
     或
        service php-fpm restart
       如果遇到手动执行git pull 报错 Please, commit your changes or stash them before you can merge
       使用这个命令
         git reset --hard

        git pull

   解决问题的思路和思考:
       PHP代码执行不成功,手动通过xshell执行命令,看是否提示错误
          如果没有错误,查看是否用户权限问题,PHP执行默认www用户或别的,xshell是root用户
         写日志错误,文件夹没有权限
             shell_exec函数执行错误, 修改PHP配置文件,默认是禁用此类函数
            多查资料多尝试多比较多总结多思考,量变引发质变

           参考代码:
            码云WebHooks自动化部署
              http://t.cn/RnoGJC0
————————————————
版权声明:本文为CSDN博主「qq_36864496」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36864496/article/details/79670511






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2