1

クイック カピストラーノ 3 の質問です。

Capistrano を使用して、CMS をステージング環境にデプロイしてから、本番環境にデプロイしています。

git リポジトリの外にある CMS を使用して、データベース情報を含む構成ファイルをアップロードする必要があります。

staging-config と production-config の 2 つの構成ファイルがあります。

Capistrano にファイルをアップロードさせたり、ターゲットに基づいてタスクを実行させるにはどうすればよいですか?

task :upload_config do
    on roles(:all) do |host|
        within fetch(:shared_path) do
            upload! 'staging-config.php', "#{fetch :shared_path}/staging-config.php"
        end
    end
end 
4

1 に答える 1

1

if..elseif..end次のようにいつでも使用できます。

if fetch(:stage) == :production
...
elsif fetch(:stage) == :staging
...
end

または、ステージングと本番のみの場合:

task :upload_config do
    on roles(:all) do |host|
        within fetch(:shared_path) do
            upload! "#{fetch(:stage).to_s}-config.php", "#{fetch :shared_path}/#{fetch(:stage).to_s}-config.php"
        end
    end
end 
于 2014-01-29T22:58:03.717 に答える