mobizel / symfony-capistrano
为部署您的 Symfony 应用而配置的 Capistrano。
v0.4.0
2022-05-17 11:27 UTC
Requires
- php: ^8.0
- symfony/flex: ^1.17.1 || ^2.0
This package is auto-updated.
Last update: 2024-09-17 16:45:28 UTC
README
Symfony capistrano 允许您使用 Capistrano 和 Symfony Flex Composer 插件来部署您的 Symfony 应用程序。
安装
此仓库托管了不属于 "官方" Symfony 菜谱 的 Composer 包的贡献菜谱。要为您的项目启用此仓库中定义的菜谱,请运行以下命令
composer config extra.symfony.allow-contrib true
将包添加到您的 composer 需求中。
composer require mobizel/symfony-capistrano
如何使用 Capistrano 部署
注意
此页面提供有关 Capistrano 的一些信息。要了解更多,请查看官方文档
Capistrano 是一个用于部署 Symfony 应用的常用工具。它允许在没有任何中断的情况下部署您的应用程序。您的文档根目录是一个符号链接,它对应于发布目录。当构建成功完成后,此符号链接将被更新。
安装依赖项
我们将使用 Bundler 来安装 capistrano
$ gem install bundler
运行 bundler install 命令以在项目的 Gemfile 中安装 gem 依赖项
$ bundle install
配置您的环境
默认情况下,已预先配置了两个环境
- 预发布
- 生产
这些环境配置在 etc/capistrano/deploy/
目录中。将 XX.XXX.XX.XXX
替换为您的服务器 IP 地址
部署预发布环境
$ bundle exec "cap staging deploy"
部署生产环境
$ bundle exec "cap production deploy"
创建您自己的任务
Capistrano 允许您在部署期间执行自己的任务。此示例创建一个在部署目标服务器上执行命令的任务。
namespace :namespace do desc "task description" task :task_name do on roles(:all) do |host| execute 'command executed on target server' end end end
任务钩子
Capistrano 提供钩子,以便在特定任务之前或之后执行您的任务。例如,如果您想在执行任何 git 检查之前在远程服务器上设置代理,则可以运行该任务。
before 'git:check', 'deploy:add_proxy'