使用webhooks自动部署您的git项目

1.1.0 2019-12-24 15:23 UTC

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,根据需要做出更改。