2017-10-12 2 views
0

は、与えられた一つのホスト: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が、日々の業務のために、それはデータベースのインポート/エクスポートのような、不便です...

この問題へのあなたの意見やソリューションを共有してください

答えて

0

タスク定義:フロントエンドとバックエンドを、あなたは簡単に行うことができます。 depバックエンドホスト名/ステージまたはdepフロントエンド。

depコマンドの2番目のパラメータは、固定語deployではなくタスク名です。

+0

オプションはありません。異なる名前の両方のシナリオで使用するタスクを上書きするか、または '--hosts'を指定する必要があるため、 –

関連する問題