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通过git时强制执行SSH StrictHostKeyChecking
。如果你的远程git仓库服务器不支持SSHFP
/VerifyHostKeyDNS
,你需要在远程主机上手动创建known_hosts
文件。
如果你发现任何安全相关的问题,请通过security@exolnet.com发送电子邮件,而不是使用问题跟踪器。