mobizel/symfony-capistrano

为部署您的 Symfony 应用而配置的 Capistrano。

v0.4.0 2022-05-17 11:27 UTC

This package is auto-updated.

Last update: 2024-09-17 16:45:28 UTC


README

Symfony capistrano 允许您使用 CapistranoSymfony 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'