Skaffold は、継続的な開発、継続的インテグレーション(CI)、継続的デリバリー(CD)をオーケストレートすることで、デベロッパーの生産性を向上させるコマンドライン ツールです。
Google のオープンソース プロジェクトである Skaffold には、プラグイン可能なアーキテクチャを備えた宣言型でポータブルな構成が用意されています。
13,000 人の GitHub スターと 300 人を超えるコントリビューターを抱える Skaffold には、利用者であるデベロッパーにより構成される活発で大規模な コミュニティがあります。
なぜでしょうか。Skaffold が開発とデリバリー プロセスを加速していることをデベロッパーは高く評価しています。
DevOps の調査によると、チームがデプロイの頻度が高く、変更のリードタイムが短いほど、組織のパフォーマンスが向上します。
Cloud Code、Cloud Build、Google Cloud Deploy などの Google Cloud プロダクトで Skaffold を使用して開発オーケストレーションを行う方法について説明します。
Category | シナリオ | Skaffold のメリット |
---|---|---|
継続的な開発 | JetBrains IDE 向け Cloud Code が Skaffold を使用して、ローカルの minikube クラスタまたは Google Kubernetes Engine クラスタで Kubernetes アプリケーションを実行してデバッグする方法について説明します。 |
|
Cloud Code for VS Code が Skaffold を使用して Google Kubernetes Engine クラスタで Kubernetes アプリケーションを実行してデバッグする方法について説明します。 |
| |
継続的インテグレーション | Skaffold を使用して Cloud Build でビルドとテストを行うCloud Build のビルドステップで Skaffold イメージを使用すると、Skaffold コマンドを簡単に使用して Cloud Build CI / CD パイプラインでビルド、テスト、デプロイできます。 |
|
継続的デリバリー | Google Cloud Deploy が Skaffold を使用して、一連の 2 つの Google Kubernetes Engine クラスタにサンプル アプリケーションを配信する方法について説明します。 |
|
エンドツーエンド | 統合された Google Cloud ツールセット(Cloud Code、Cloud Build、Google Cloud Deploy)を使用して、継続的開発、継続的インテグレーション(CI)、継続的デリバリー(CD)システムを設定し、使用します。このシステムを使用すると、アプリケーションを開発し、Google Kubernetes Engine(GKE)にデプロイできます。 |
|
Google Cloud で Skaffold を使用する
JetBrains IDE 向け Cloud Code が Skaffold を使用して、ローカルの minikube クラスタまたは Google Kubernetes Engine クラスタで Kubernetes アプリケーションを実行してデバッグする方法について説明します。
コードの変更を自動的に再デプロイする
File Sync を有効にすると、再ビルドせずに、コードの変更を即座にデプロイできる
Kubernetes クラスタでコードをデバッグする
アプリケーション ログをストリーミングし、アプリをローカルマシンにポート転送する
Google Cloud Deploy が Skaffold を使用して、一連の 2 つの Google Kubernetes Engine クラスタにサンプル アプリケーションを配信する方法について説明します。
統合された Google Cloud ツールセット(Cloud Code、Cloud Build、Google Cloud Deploy)を使用して、継続的開発、継続的インテグレーション(CI)、継続的デリバリー(CD)システムを設定し、使用します。このシステムを使用すると、アプリケーションを開発し、Google Kubernetes Engine(GKE)にデプロイできます。
開発とデリバリー全体のパリティ向上
異なる環境間で構成を再利用する
ガバナンスをワークフローの早い段階で一貫して適用する
上に示したその他すべてのメリット