3

現在、Symfony2 と Gitflow を使用して Web サイトを開発しています。「開発」、「ステージング」、「本番」と呼ばれる 2 つの外部サーバーと、Github の中央 GIT リポジトリがあります。

Capifony を次の目的で使用したいと考えています。

  • 「develop」ブランチの変更を開発サーバーにデプロイします。
  • リリース/ホットフィックスなどをステージングに展開してテストします
  • 「マスター」ブランチをライブの「本番」サーバーにデプロイします

私は多段階展開に関するこのページを読んでおり、これまでのところ capistrano 拡張機能を使用して capifony をインストールしています。

私の /app/config/deploy.rb ファイル内には、次のものがあります。

set :stage_dir, 'app/config/deploy' # needed for Symfony2 only
require 'capistrano/ext/multistage'
set :stages, %w(production staging development)

set :application, "MyApp"

set :repository,  "git@github.com:MyCompany/#{application}.git"
set :scm,         :git

set  :keep_releases,  3

次に、次のような別の /app/config/development.rb ファイルを取得しました。

server 'SERVER_IP - PORT NUMBER', :app, :web, :primary => true
set :deploy_to, "/var/www/MyApp/" #directory on server
set :symfony_env_prod, "test"

ただし、cap development deploy を実行すると、エラーが発生します。

the task `development' does not exist

誰かが「タスク」が何を指しているのか説明できますか?

ありがとう

4

1 に答える 1

1

require 'capistrano/ext/multistage'の最後の行に移動deploy.rbするか、少なくともそのset :stages, %w(production staging development)前に移動します。

于 2013-02-08T18:54:41.130 に答える