10
私はマルチステージのマルチサーバ設定をしています。私の仕事ではサーバ名 を使用する必要があります。 stagin.rbに私が持っている:Capistrano 3:タスクでサーバカスタム変数を使用する
set :stage, :staging
# Define servers
server 'xxx.xx.xx.xxx', user: 'deploy', roles: %w{app}, name: 'app1'
server 'xxx.xx.xx.yyy', user: 'deploy', roles: %w{app}, name: 'app2'
と私は、「名前」変数私の仕事であることを使用したい:
task :configure do
on roles(:app), in: :parallel do
# how do I get server name here?
end
end
これは実際にはサーバ定義の変数名を "appname"に変更して "puts server.appname"を実行すると "Rake :: Task"の "未定義メソッド 'appname'を取得するとタスクの名前を返します。 " –
@ a.yastreb申し訳ありませんが、私の悪い、間違ったパラメータ。私はヘッドアップのおかげで答えを訂正しました。 – bredikhin
ありがとう!今働く:) –