exolnet / laravel-envoy
基于Capistrano的Laravel Envoy自动化部署模板。
v1.18.1
2023-10-26 13:53 UTC
Requires
- php: ^8.0
- exolnet/envoy: ^1.110.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.3.3
- squizlabs/php_codesniffer: ^3.6
- dev-master
- v1.18.1
- v1.18.0
- v1.18.0-RC3
- v1.18.0-RC2
- v1.18.0-RC1
- v1.17.2
- v1.17.1
- v1.17.0
- v1.16.1
- v1.16.0
- v1.15.0
- v1.14.0
- v1.13.0
- v1.12.1
- v1.12.0
- v1.11.0
- v1.10.0
- v1.9.0
- v1.8.0
- v1.7.1
- v1.7.0
- v1.6.0
- v1.5.1
- v1.5.0
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- v1.0.0-rc.4
- v1.0.0-rc.3
- v1.0.0-rc.2
- v1.0.0-rc.1
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.1
- v0.1.0
- dev-feature/php83-support
- dev-feature/laravel-10-support
- dev-feature/laravel-pint
This package is auto-updated.
Last update: 2024-08-28 14:32:49 UTC
README
此存储库包含Laravel Envoy的自动化部署模板。部署流程基于Capistrano。
安装
-
使用composer安装此包:
composer require --dev exolnet/laravel-envoy:"^1.9"
-
在项目的根目录创建一个
Envoy.blade.php
文件,内容如下:@import('exolnet/laravel-envoy')
对于典型的Laravel项目,你应该有一个类似以下内容的文件
@import('exolnet/laravel-envoy') @task('deploy:publish') cd "{{ $releasePath }}" php artisan down php artisan config:cache php artisan event:cache php artisan route:cache php artisan view:cache php artisan storage:link php artisan migrate --force php artisan up @endtask
-
在Laravel项目的
config/deploy.php
中创建部署配置。此存储库中提供了一个示例配置文件,位于config/deploy.php
对于典型的Laravel项目,你应该有一个类似以下内容的文件
<?php return [ 'name' => 'example', 'default' => 'production', 'environments' => [ 'production' => [ 'ssh_host' => 'example.com', 'ssh_user' => 'example', 'deploy_path' => '/srv/example', 'repository_url' => 'git@github.com:example/example.git', 'linked_files' => ['.env'], 'linked_dirs' => ['storage/app', 'storage/framework', 'storage/logs'], 'copied_dirs' => ['node_modules', 'vendor'], ], ], ];
-
享受吧!
升级
请阅读UPGRADE-1.x了解升级到1.x版本的步骤。
用法
以下宏可用
vendor/bin/envoy run setup
:在远程主机上设置目录结构和仓库vendor/bin/envoy run deploy --commit=abcdef
:部署提交abcdef
到远程主机vendor/bin/envoy run deploy:publish --current
:在远程主机上运行当前版本的deploy:publish
任务vendor/bin/envoy run releases
:列出远程主机上的可用版本vendor/bin/envoy run rollback [--release=123456]
:回滚到上一个版本或到指定的123456
vendor/bin/envoy run backups
:列出远程主机上的现有备份
您也可以使用本地的Envoy命令
vendor/bin/envoy tasks
:列出可用的任务和宏vendor/bin/envoy ssh
:连接到远程主机
注意,您也可以使用选项--env=foo
与任何之前的命令结合使用,以连接到配置中定义的其他远程主机。
贡献
请参阅CONTRIBUTING和CODE_OF_CONDUCT以获取详细信息。
安全
使用SSH时强制执行StrictHostKeyChecking
。如果您的远程git仓库服务器不支持SSHFP
/VerifyHostKeyDNS
,您需要在远程主机上手动创建known_hosts
文件。
如果您发现任何安全相关的问题,请通过电子邮件security@exolnet.com联系,而不是使用问题跟踪器。