foodkit / laravel-deployer
一个不使用符号链接版本的 Deployer 脚本,适用于 Laravel 项目。
1.0.21
2017-09-07 08:20 UTC
Requires
- deployer/deployer: ^4.3.0
README
这是一个 Deployer 脚本,用于 Laravel 部署,不能(或更愿意不)依赖于符号链接。相反,Git 仅用于直接在服务器上更新代码库。
安装
通过 composer 安装此包
composer require foodkit/laravel-deployer
配置
在项目的根目录中定义 deploy.php
文件
<?php namespace Deployer; require __DIR__.'/vendor/foodkit/laravel-deployer/src/laravel-norevision.php'; // Configuration set('ssh_type', 'native'); set('ssh_multiplexing', true); set('branch', 'production'); set('repository', 'git@github.com:company/project.git'); // Servers server('production', '1.2.3.4') ->user('root') ->identityFile() ->set('deploy_path', '/var/www/project');
您可能希望独立运行部署(不是项目的一部分)。这将跳过对本地存储库状态的某些检查。在这种情况下,使用 standalone
标志
set('standalone', true);
此外,如果您的项目不需要,可以禁用迁移步骤
set('migration', false);
Slack 集成
如果您想与 Foodkit 的发布说明生成器集成,请添加以下内容
option('start', null, InputOption::VALUE_OPTIONAL, 'The start tag/branch'); option('end', null, InputOption::VALUE_OPTIONAL, 'The end tag/branch'); set('slack_title', 'Release notes'); set('slack_color', '#4d91f7'); set('slack_emoji', ':ghost:'); set('slack_name', 'Laravel Deployer'); set('slack_webhook', 'https://hooks.slack.com/services/ABCDEFGH/IJLMNOPQ/OJI7OA9IU1BAJgGj4ge3YD9A'); set('release_notes_command', 'vendor/bin/release-notes generate');
然后使用 start
和 end
命令行参数运行部署
API 集成
如果您想将发布说明发送到 API 端点,请添加以下内容
option('start', null, InputOption::VALUE_OPTIONAL, 'The start tag/branch'); option('end', null, InputOption::VALUE_OPTIONAL, 'The end tag/branch'); set('api_endpoint', 'https://api.product.com'); after('deploy', 'slack:send-release-notes-api');
然后使用 start
和 end
命令行参数运行部署
如何部署
运行部署命令
php vendor/bin/dep deploy production
可选地,可以在命令行中指定标签或分支
php vendor/bin/dep deploy production --tag="v0.1" php vendor/bin/dep deploy production --branch="develop"
可选地,如果您正在与发布说明生成器集成
php vendor/bin/dep deploy production --tag="v1.0.8" --start="v1.0.7" --end="v1.0.8"
要查看确切发生的事情,可以使用 --verbose
选项增加输出的详细程度
-v
用于常规输出-vv
用于更多详细输出-vvv
用于调试
对于语义版本
如果您使用语义版本,则仓库内置了 "hotfix" 和 "release" 任务。
hotfix
php vendor/bin/dep hotfix production
这将获取最新的标签,增加 0.0.1,创建一个新的标签并部署。
发布
php vendor/bin/dep release production
与 hotfix 命令相同,但它将最新标签增加 0.1
贡献
查看 问题列表。
在 master
上提交拉取请求。