2

CentOS6.2マシンのOpenStackクラスタでプロジェクトを実行しています。プロジェクトは約10 git reposで構成されています。サービスのための1つのレポ。また、サービスはいくつかの役割に基づいて20の異なるノード上で実行されています。したがって、我々はサービスと役割の間にある種のマッピングを行うことができます。 クラスタを介して変更を配信することは、手動で行う場合には厄介です。現在、git pullと各ノードの設定変更を組み合わせて使用​​しています。 人的要因が関係しているので、私はマニュアルエラーのためにクラスタをオフラインにしたくありません。クラスタで実行中のプロジェクトのアップデート

ソースを更新した後(dbの移行または構成ファイルの更新を実行した後)に構成をポストする機能を備えたクラスタへの変更を提供するソリューションを探しています。それに関する良い解決策はありますか?

更新日: 以下のプロジェクトが適しているようです。これらの実践経験はありますか?

答えて

0

がスケールであなたは、あなたがchefのようなものを十分に活用することができるかもしれない取り組んでいるように思えますまたはpuppet

+0

これらは、その規模で初期展開を行う場合のようにプロビジョニングに適しています。彼らはプロジェクトの更新のための適切なメカニズムとみなすことができるかどうかはわかりません。 –

1

私たちは、Springloopsを使用して展開を管理しています。これにより、各リポジトリの各支店ごとに異なるサーバーを構成することができます。中央のリポジトリにプッシュし、そこからデプロイメントを管理するだけです。導入は自動化または手動化が可能です。

カスタムコールバックを実行するためのサポートがいくつかあるので、プッシュがカスタムスクリプトをトリガできる通知を受け付ける、クラスタのどこかにURLエンドポイントを設定できます(プロジェクトごとに行うことができます) 。

これは、ソース管理の責任をサーバーから奪うのでうまくいきます。新しいサーバーへの新しい展開が必要な場合は、Springloopsで新しいサーバーを追加してプッシュするのは簡単です新しいサーバーごとにgitリポジトリをクローンし、cronまたはトリガーされたタスクを設定してリポジトリを更新します。

コマンドラインツールとサードパーティのマネージドサービスの組み合わせは他にもたくさんありますが、いくつか試してみました.Springloopsは、現在取り組んでいる数十のプロジェクトの展開を管理すること以上に受け入れられています。

これは調べる価値があります。

+0

springloopsは、タイムシート、issuetrackerなどと少し違ったプロジェクトのように見えます。有用な唯一の機能はウェブフック管理です。 –

関連する問題