laradock 部署的项目中如何增加 GitLab 的 webhook ?

最近打算在项目中增加 webhook 来实现,有 push event 的时候,可以自动 git pull,不过总是不可以,不知道是不是跟 laradock 有关。

下面是我的做法:

  1. 将 docker 跑起来:
    docker-compose up -d nginx redis mysql
  2. 在 gitlab 中增加 webhook
    比如,指向地址 http://example.com/deploy
  3. laravel 中增加路由和控制器
    // web.php
    Route::post('/deploy', 'DeployController@index')->name('deploy');
    // DeployController
    //........
    $result = shell_exec("/usr/bin/git pull");
    logger('success result: ' . $result);
    $this->success();
    //.........

然后就是一直都没法自动跑起来,没有执行 git pull 这个操作

我找了下 php-fpm 会有对应的报错:sh: 1: /usr/bin/git: not found

[22-Jan-2018 07:46:46] WARNING: [pool www] child 7 said into stderr: "sh: 1: /usr/bin/git: not found"

有没有大佬帮忙看一下!!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 4
  • 当前目录是 public 目录下面,需要 cd 到网站根目录
  • 执行 git 的用户是 nginx 的用户,laradocknginx 用户为 www-data (是否有权限 pull)
  • git仓库是公开的还是私有的,私有的需要配置 git 用户信息或者 sshkey
7年前 评论

请教同样的问题,麻烦各位高手解惑
使用 laradock 环境
nginx 容器中触发 shell 脚本
但 shell 脚本在 workspace 容器中才能执行,麻烦各位高手帮忙解惑

6年前 评论

能问下这个问题最后怎么解决的吗

6年前 评论

laradock 的 nginx 运行的 php-fpm 不是 workspace 这个容器的,而且 php-fpm 这个容器,php-fpm 这个容器并没有安装 git,deployer 等工具

5年前 评论