daltcore / laravel-deploy-helper
Laravel 部署助手
Requires
- php: >=5.6.0
- composer/semver: ^1.4
- illuminate/support: *
- laravelcollective/remote: *
Requires (Dev)
- phpunit/phpunit: ^6.1
- sebastiaanluca/laravel-helpers: ^1.0
README
兼容 Laravel 5.1,5.4 及更高版本。
对于 Laravel 5.1,使用分支 5.1 和标签 v0.5.x
LDH 是一个 Laravel 包,可以帮助您在不使用 FTP 的情况下部署网站。
LDH 包使用 SSH 在服务器上构建部署环境,以实现零停机部署和回滚功能。
和回滚功能。
每个人都可以帮助使这个包更大、更好!;-)
安装
通过 Composer
$ composer require daltcore/laravel-deploy-helper
在您的 config/app.php 中
DALTCORE\LaravelDeployHelper\LdhServiceProvider::class,
发布配置
$ php artisan vendor:publish --tag=ldh-config
使用
部署到服务器
将完整实例部署到远程服务器
php artisan ldh:deploy --stage=production --branch=develop
修补到服务器
向远程服务器推送简单修补程序(仅限小改动)
php artisan ldh:patch --stage=production --branch=patch
回滚一个实例
发生严重错误,回滚到历史记录
php artisan ldh:rollback --stage=production
配置
阶段
在阶段部分,您需要定义阶段信息。
git
您可以使用带有基本身份验证的 git 的 http URL。例如: https://username:password@github.com/repo/name.git .
您可以使用 git 的 ssh。例如: git@github.com:repo/name.git
连接
在连接部分,您可以添加用于部署的 SSH 详细信息
remote.root
在这里,您可以放置 LDH 设置目录结构的根目录
命令
这是一个数组,包含需要从当前目录执行的命令
共享目录
这是需要从上一个部署复制到下一个部署的目录部分
共享文件
与目录相同,但针对文件
config.dependencies
在这里,您可以可选地放置一些您希望用于部署的依赖(应用程序)。
您可以使用此功能检查服务器上是否正确设置了版本。
您可能希望使用 'true' 来取消版本检查,而是只检查应用程序是否存在。
config.keep
需要保留多少个旧部署的 '影子' 复制品。这对于回滚功能很有用。
配置示例
<?php return [ 'default' => [ 'stage' => 'production', ], 'stages' => [ 'production' => [ 'git' => '', 'branch' => '', 'connection' => [ 'host' => '', 'username' => '', 'password' => '', // 'key' => '', // 'keytext' => '', // 'keyphrase' => '', // 'agent' => '', 'timeout' => 10, ], 'remote' => [ 'root' => '/var/www', ], 'commands' => [ 'composer install', ], 'shared' => [ 'directories' => [ 'public', 'storage', ], 'files' => [ '.env', ], ], 'config' => [ 'dependencies' => [ 'php' => '>=5.6', 'git' => true, ], 'keep' => 4, ], ], ], ];
目录结构
LDH 在第一次部署时部署以下目录结构
.
├── current -> /var/www/vhosts/example.org/releases/1498833243
├── ldh.json
├── patches
│ └── 0001-Update-readme.md.patch
├── releases
│ └── 1498833243
└── shared
如你所见,LDH 从 /current
静态链接到 /releases/1496845077
。
您只需将虚拟主机指向 /current/public
,Laravel 网站即可正常工作。