美文网首页
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