ステージング スクリプトと本番デプロイ スクリプトの間でいくつかの共有タスクがあります。共有タスクを作成するベスト プラクティスは何ですか? /lib/capistrano/tasks
たとえば、それらを別のファイルに移動する必要がありますか? もしそうなら、どうすればいいですか?ファイル拡張子とは何か、また、これらのタスクに名前を付けてcap
コマンドからアクセスする方法を教えてください。
1 に答える
2
Capistrano の典型的なマルチステージ構成には、次のファイルがあります。
Capfile
config/deploy.rb
config/deploy/staging.rb
config/deploy/production.rb
staging.rb
これらの環境に配置された、またはproduction.rb
それらの環境でのみ使用できるタスク。
任意の環境からアクセスできるタスクが必要な場合は、それらを に配置できますconfig/deploy.rb
。
それらを別のファイルに抽出したい場合は、あなたが言ったように、lib/capistrano/tasks/*.rake
. (通常、Capfile
これらのタスクをロードする行を a に含める必要があります。)
たとえば、unicorn:restart
Unicorn を再起動するカスタマイズされたタスクがあります。というファイルを作成しlib/capistrano/tasks/unicorn.rake
、次のファイルを追加できます。
namespace :unicorn do
desc "Restart Unicorn"
task :restart do
# ...
end
end
編集
次の行を に追加してCapfile
、共有タスクを の下にロードできますlib/capistrano/tasks/*.rake
。
# Load custom tasks from `lib/capistrano/tasks' if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
于 2015-01-31T18:07:29.390 に答える