2016-10-21 9 views
1

私はお互いに依存する重いアプリケーションが複数あります。複数の分散ビルドクラスタを管理する方法

  • アプリケーションA、IP 10.0.0.1
  • アプリケーションB、IP 10.0.0.2

のアプリケーションが同じマシン上で実行されるように、あまりにも太っている、 ので、私は持つに終わります2台のマシン、それらのアプリケーションのビルド、実行、テスト。

お互いに話すアプリケーションの場合、彼らの設定にはipsがあります。今

各コミット後にテストを実行するために、私はアプリケーションAを実行し、マシンの複数のペアを開始することができるようしたい、B.

質問:
複数を管理するためのいくつかのツールがありますジェンキンスのマシンの依存ペア?
私はJenkinsのどこかのマシンの依存ペアを見て、そのIPを考えています。ペアでマシンを起動する。このようなペアで設定を交換し、IPを更新するには、おそらく 「人形」または「シェフ」を取ることができます。

+0

Jenkinsは、スレーブノードの管理ではなく、CIの最初の場所(ビルド、テスト、デプロイメント)のためのものです。スレーブノードで結合されたジョブを実行するには、[Jenkins Pipeline plugin](https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin)を使用して必要なものを達成することができます。とにかく仕事の記述にスマートなアプローチが必要でしょう – agg3l

+0

「スレーブノードの管理ではない」という意味では、私はあなたが何を意味するのか理解できません。 Jenkinsは分散ビルドをサポートしているため、スレーブ・ミッションはCIツールの一部ですか? Jenkins Pipelineは、ノードのペアリングではなく、ビルドチェーンのVIZUALIZATIONについてです。だからこのコメントのポイントは何ですか? – Skip

答えて

0

あなたが単にテストボックスPuppet、Chef、Ansibleでアプリを実行したいと仮定すると、過度の攻撃です。ファブリックのpythonモジュールを使用するか、ruby minaまたはcapistrano http://docs.fabfile.org/en/1.13/usage/execution.htmlが好きな人は、 スクリプトは、ジェンキンスさんはあなたが繰り返しに構築する必要があり、より複雑なインフラを持っている場合、ファブのAPP1 APP2 構成管理ツールを使用する必要があります実行してい

@hosts("x.x.x.x")  
def app1(): 
    run("startapp&") 
@hosts("x.x.x.x") 
def app2(): 
    run("startapp2&") 

`

行くだろうし、それも一種ですあなたが間違いを犯した場合は、インフラストラクチャに関する文書の作成異なるノードでコマンドを実行するだけでは使用しないでください。これはシェフやパペットを使用している場合に特に当てはまります。

関連する問題