2016-06-02 4 views
1

私はSpinnakerを実験するために使用しているan example web appを持っています。具体的にはソース(github)からプロダクション(GCE)までです。Spinnakerを使ってウェブアプリを焼くには?

一般に、画像として焼き付けるべきもの(適用可能な依存関係を含む)はありますか?もしそうなら、どうですか?ドキュメンテーションと利用可能なUIオプションはdebパッケージしかカバーしていなかったからです。

これを焼き付けてはならない場合は、QA VMにこれと依存関係をどのように展開すればよいですか?スクリプトを使用してソースからプル&インストールする必要がありますか?

答えて

5

典型的なシナリオは、ソースをビルドし、jenkinsのようなCIシステムを使ってdebを生成/公開し、そのdebに依存関係を宣言させることです。

使用しているビルドシステムによっては、debを作成するためのオプションがかなりあります。多くの人々はgradleとnebula(https://nebula-plugins.github.io/)と呼ばれるNetflix OSSプラグインを使用しています。

どのように示し、ここで、包括的なチュートリアル(http://www.spinnaker.io/docs/from-source-to-prod)があります: - (ローカル適切レポに)ジェンキンスとDEBを公開/ Gitのレポに源を起動し、構築 - スピネーカーパイプラインをトリガ、焼くには新しいイメージ、およびテストクラスタ に展開 - テストクラスタにちょうど検証画像を見つけて、そのコードラボでの概念はそれがない、主にジェネリックですがPRODクラスタ

にそれを促進 - いくつかの手動の判断 を実行します缶詰のGCEイメージに依存して、設定なしで稼動させることができます。 GCEで動いていると言われているように、うまくいくはずです。

もちろん、他のベーキング/デプロイメント戦略を採用することもできます(起動時に設定管理システムに依存する人もいます)が、debを作成してイメージに焼くのが最も適しているようです。

本当に必要なのは、新しく焼いたイメージにウェブアプリケーションをクローンするだけであれば、カスタムパッカーテンプレートを作成することでこれを行うことができます。パッカーテンプレートはすべてこのディレクトリ(https://github.com/spinnaker/rosco/tree/master/rosco-web/config/packer)に存在し、(https://github.com/spinnaker/rosco/blob/master/rosco-web/config/packer/gce.json)を開始点として使用できます。

この行(https://github.com/spinnaker/rosco/blob/master/rosco-web/config/packer/gce.json#L33)を変更して、独自のシェルスクリプトを呼び出します。あなたのシェルスクリプトは、必要なリポジトリを複製し、好きなようにビルド/テストすることができます。パッカーに依存しているので、ここでパッカーの他のサポートされているプロビジョナーのいずれかを使用することもできます。 DEBとしてパッケージ化することは非常に興味深いですenter image description here

+0

を:

最後のステップは、(もしあれば)、それが必要とどんなパラメータとともに、焼く段構成のUI​​で新しいカスタムパッカーテンプレートを指定することです。私はそれについての経験はありませんが、異なるビルドを追跡するためのバージョン管理とプライベートレポがあるようです。私は途中でジェンキンを使用しているので、あなたが記述したフローと一致します。私はこれをさらに調べますが、あなたの答えを受け入れます。ありがとうございました。 –

関連する問題