美文网首页
Windows系统下Laravel5.4配置webhook自动部

Windows系统下Laravel5.4配置webhook自动部

作者: AngryCat | 来源:发表于2018-02-07 15:16 被阅读0次

    服务器环境:

    Windows Server 2008 R2 Enterprise
    PHP 5.6.27
    Apache 2.4.23
    MySQL 5.5.53
    Laravel 5.4
    代码仓库:GitLab 8.8.5

    每次从本地push代码到仓库,然后在登录服务器pull回来刚刚的代码。都感觉好繁琐,于是就想着能不能把后面那句话要执行的动作省略掉,也就是只需将本地代码push至代码仓库,然后代码仓库在响应push过来的动作,将代码地给服务器。解决该问题一个比较简单的办法是利用代码仓库的webhook功能。

    以下是Laravel项目中配置webhook

    1. 首先创建一条webhook专用的一条路由,并使用exec()函数执行deploy.bat脚本。
    // routes.php
    Route::any('/deploy', function () {
      exec('C:/path/to/yourProject/deploy.bat');
    })
    

    创建deploy.bat文件

    # deploy.bat
    cd C:/path/to/yourProject/
    git pull origin master
    
    1. 然后在Laravel项目中的.env文件里增加两行参数
    HOMEDRIVE = C:    //这里配置的是HOMEPATH变量的盘符
    HOMEPATH = \Users\Administrator //这里填写用户目录,因为exec执行git命令时需要.gitconfig和.ssh里的文件
    
    1. 将刚刚写好的路由地址填入webhook的链接栏,其他的都默认(webhook在gitlab仓库地址 > 设置 > web钩子),完成后点击“增加web钩子”按钮即可。


      GitLab Web钩子界面
    2. 试着从本地push一条commit到代码仓库触发webhook同步至服务器,如果这里没有效果的话,请结合刚刚新增的Web钩子“测试”按钮与Laravel日志进行调试。

    相关文章

      网友评论

          本文标题:Windows系统下Laravel5.4配置webhook自动部

          本文链接:https://www.haomeiwen.com/subject/hknozxtx.html