は、与えられた一つのホスト:Deployerの2アプリケーション
- シングルページのフロントエンドアプリケーション(angularJS)& APIのバックエンドサービス(Symfony3)
- 一つのホストフロント&バックエンドの両方をホストする1段分の
- デプロイヤーバージョン6.0.3
問題は、以下のコマンドの形式を使用して両方をデプロイする方法です。dep deploy [frontend|backend]
。 問題は、異なるパラメータを使用するため、2つの別々のホストとして記述する必要があります。repository
& deploy_path
以上です。私がすることができますが、その後、コマンドラインで使用するつもりdep deploy stage --hosts frontend
& dep deploy stage --hosts backend
いずれかの1を書き意味
task('deploy', [
'deploy:info',
.
.
.
])->onHosts(['[frontend|backend]']);
:あなたは一つのファイルに保管してください場合次に、あなただけのように説明したバックエンド&フロントエンドのための2つのタスクを持つことはできません彼らは、エラーで失敗します:
No task will be executed, because the selected hosts do not meet the conditions of the tasks.
私の推測では、それが最後のスタンド1を実行します&タスク自体を無効にすることです。
AND OK。私も
task('deploy:frontend', [
'deploy:info',
.
.
.
]);
task('deploy:backend', [
'deploy:info',
.
.
.
]);
この方法で、dep deploy:[frontend|backend] stage
でそれを実行するために論理的になり、そのための回避策を持っていることができますが、両方のフロントエンド以来&バックエンドは、彼らは両方のインスタンスのdeploy_path
のパラメータを持っている同じサーバ&に住んで、それだけでファイル内の最後のホストの設定でdeployパラメータを上書きします。私が使用したものをそのことについては
は、ホスト宣言のいくつかの調整と
onHosts()
機能です。定義された
host('backend')
->hostname('host.com')
host('frontend')
->hostname('host.com')
& 2タスク:
task('deploy:[frontend|backend]', [
'deploy:info',
.
.
.
])->onHosts(['[frontend|backend]']);
あなたはほど展開する必要がありますこの方法:あなたのすべてが無意味であることに同意dep deploy:[frontend|backend] stage --hosts [frontend|backend]
。
デプロイをbackend.php
& frontend.php
のように2つのファイルに分けてください。 dep deploy stage -f [frontend|backend].php
が、日々の業務のために、それはデータベースのインポート/エクスポートのような、不便です...
この問題へのあなたの意見やソリューションを共有してください
オプションはありません。異なる名前の両方のシナリオで使用するタスクを上書きするか、または '--hosts'を指定する必要があるため、 –