ご存じのとおり、Jenkins 2.0 がリリースされ、単なる継続的インテグレーション (CI) から継続的デリバリー (CD) へと拡張されています。そこでお聞きしたいのですが、Jenkins 2.0 と比較して、Spinnaker の競争上の利点は何ですか?
3 に答える
私は、Spinnaker での Jenkins の統合と、Netflix のパイプライン機能に幅広く取り組んでいます。
Spinnaker は、エンド ツー エンドのビルド ツールを意図したものではありませんでした。SCM の管理、テストの実行、パッケージの構築、無数のプラグインの使用などに関して、Jenkins の方が優れている点があります。
Spinnaker がうまくやろうとしているのは、公開したソフトウェア (debian パッケージ、docker イメージ、または展開可能な JAR のいずれか) を取得し、高度にカスタマイズ可能な予測可能なソフトウェア展開サイクルで実行することです。つまり、Spinnaker のすべての機能は、高可用性、マルチアカウント、マルチクラウドのアーティファクト デプロイを簡単に行えるように構築されています。
Spinnaker パイプラインは、クラウド中心のビューを採用しています。パイプライン ステージと API コントロールのほとんどは、予測可能でユーザー フレンドリーな方法で新しいサーバー グループを作成し、既存のサーバー グループを変更することに関係しています。疑わしい場合は、これが最適化のケースです。
クラウド展開がどのように見えるかについてはより強い意見があり、CD パイプラインでクラウド展開タスクを処理するときにポイント アンド クリック UI を使用することがよくあります --- クラスター x でイメージを見つけ、このクラスターを無効にし、サーバー グループのサイズを変更します。 、このクラスターを縮小する、このクラスターにトラフィックを取得させる、この古いクラスターを破棄するなど。
2 年以上前に Spinnaker を書き始めたとき、Jenkins パイプライン機能は利用できなかったため、必要な機能を構築しました。私たちが思いついた Jenkins サポートは、Netflix の他のチームが社内で何千もの展開パイプラインを構築するのを支援するニーズから発展しました。Netflix はビルドとテストを Jenkins に大きく依存しているため、Jenkins ジョブと Spinnaker ステージ間の移行は非常にシームレスです。
Spinnaker パイプライン機能を使用せず、代わりに AWS にデプロイするためのショートカットとして Jenkins ジョブで Spinnaker API を使用する Netflix のチームがあります。Jenkins パイプラインまたは同様の CD ツールを使用している場合、Spinnaker はデプロイ フェーズを非常に柔軟にします。
また、Spinnaker が Jenkins ジョブを 1 つのアプリケーションに関するアトミックで再利用可能なタスクに分割する方法を気に入っているチームもあります。クラウドにデプロイしないチームは、Spinnaker を使用します。これは、当社のパイプラインが、Jenkins の世界で見つけることができるものよりもニーズに適しているためです。
Jenkins パイプラインは非常に優れています。Spinnaker が Jenkins とそれが行う多くのことを完全に置き換えるとは思えません。私たちの目標は、「クラウドへのデプロイ」ステップをよりシンプルで拡張可能にすることです。どちらか一方を使用するか、一緒に使用するか、まったく使用しないかは、あなた次第です。
Maven を使用して、コード ベース全体を構成、プロパティ (つまり、GitHub でバージョン管理されているすべてのもの) と共にパッケージ化し、そこから RPM を作成します。このフローが終了すると、AWS またはその他のクラウドで Spinnaker パイプラインがトリガーされ、CD 部分が開始されます。
Spinnaker は、この指定された CD スコープで非常にユニークです。
コードの昇格 : 昇格する同じ RPM により、基礎となるコード / env を不変にすることが保証されます。
Spinnaker コンソール自体からインスタンスのサイズ変更を制御できます
ロールバックはワンクリックです。
Blue-green / Red-Black 、 Canary 、 highlander などの最新の展開概念はすべて OOB です。
パイプライン ログは、高レベルと低レベルの両方で非常に洞察に満ちたビューを提供します。
マルチリージョン展開 (DR 戦略的)
Spinnaker を RHEL にインストールする際に助けが必要な場合は (無料で助けてください!)、私に知らせてください。
ただし、Spinnaker はクラウド中心の展開にのみ使用していると言わざるを得ません。