nickdekruijk / deploy
使用webhooks自动部署您的git项目
1.1.0
2019-12-24 15:23 UTC
Requires
- php: >=7.2.0
This package is auto-updated.
Last update: 2024-09-13 05:23:35 UTC
README
使用webhooks自动部署您的git项目
安装
首先使用composer安装此包。
composer require nickdekruijk/deploy
在您的.env
文件中设置APP_DEPLOY_SECRET
。
APP_DEPLOY_SECRET=your_secret_here
还编辑app/Http/Middleware/VerifyCsrfToken.php
,将路由添加到$except数组中,以跳过Csrf令牌检查
protected $except = [
'/deploy-webhook',
];
最终,向github(或您的git提供者)添加一个新的webhook,其url为https://yourdomain.com/deploy-webhook,以及APP_DEPLOY_SECRET
值。
部署脚本
控制器将执行一个shell脚本,执行实际的部署。默认情况下,它调用laravel项目根目录中的deploy.sh
。您可能需要设置执行权限。例如,这可能包含
#!/bin/sh
git pull origin master
composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev
php artisan config:cache
php artisan route:cache
php artisan migrate --force
通知
如果您想为部署错误启用电子邮件通知,请在.env
文件中添加一个电子邮件地址
APP_DEPLOY_NOTIFY_MAIL=user@domain.com
如果您还希望成功部署时也收到通知,请添加
APP_DEPLOY_NOTIFY_SUCCESS=true
配置
如果默认值不适合您的项目,请使用以下命令发布配置文件
php artisan vendor:publish --provider="NickDeKruijk\Deploy\ServiceProvider"
并查看配置文件/config/deploy.php
,根据需要做出更改。