rpsimao / laravel-deploy-helper
用于Laravel的从Artisan部署的辅助工具
Requires
- php: >=5.6.0
- composer/semver: ^1.4
- illuminate/support: ~6.0
- laravelcollective/remote: ~6.0
Requires (Dev)
- phpunit/phpunit: ^6.1
- sebastiaanluca/laravel-helpers: ^1.0
This package is auto-updated.
Last update: 2024-09-29 05:42:26 UTC
README
与Laravel 5.1、5.4及更高版本兼容。5.1版本使用分支5.1和标签v0.5.x
对于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可以设置其目录结构的根目录
命令
这是一个包含需要从/current目录执行的命令的数组
共享目录
这是一个需要从上一个部署复制到下一个部署的目录部分
共享文件
与目录相同,但是文件。
配置依赖
在这里,您可以可选地放置一些希望用于部署的依赖项(应用程序)。
您可以使用此功能检查服务器上的所有内容是否已正确设置版本。
您可能希望使用'true'来取消版本检查,而不是仅检查应用程序是否存在。
配置保留
需要保留多少个旧的部署的'影子'副本。这些副本对于回滚功能很有用。
配置示例
<?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网站就可以正常工作。