Google Cloud での CI / CD

Forrester Wave™ によると Cloud Build がクラウド ネイティブの継続的インテグレーションのリーダー。

CI / CD デベロッパー ハブへようこそ。ここでは、継続的インテグレーションと継続的デリバリーについての概要と詳細を説明します。

調査結果を探している、CI / CD プロダクトについて調べている、クイックスタートや動画を参照したいなど、どのような用途にご利用いただく場合も、このハブの目的は 1 つです。すなわち、お客様のチームが Google Cloud 上の CI / CD を使ってより迅速かつ安全にソフトウェアをデリバリーできるよう支援することです。

おすすめのクイックスタート

まずはクイックスタートから開始しましょう。初めての CI / CD パイプラインをすぐに実行できます。
クイックスタート
Cloud Build を使用して Docker イメージをビルドし、そのイメージを Artifact Registry に push します。
クイックスタート
Cloud Build を使用して Go バイナリをビルドし、そのバイナリを Google Cloud Storage に push します。
クイックスタート
Cloud Build と Cloud Source Repositories を使用して App Engine のデプロイを自動化します。
クイックスタート
Docker を使用する場合は、Docker コンテナ イメージとプライベート パッケージを管理するための単一の場所として Artifact Registry をお試しください。
クイックスタート
Java を使用する場合は、Artifact Registry Maven リポジトリを設定し、そこにパッケージをアップロードします。
クイックスタート
Node.js を使用する場合は、Artifact Registry npm リポジトリを設定し、そこにパッケージをアップロードします。

注目の Codelab

Codelab
Cloud Build を使用して GKE の継続的デプロイ パイプラインを設定します。
Spinnaker を使用して Kubernetes でアプリケーションのデプロイ、カナリア リリース、自動ロールバックを行う方法など、ベスト プラクティスについて学習します。
Codelab
Binary Authorization を使用すると、コンテナ イメージがチームのプラクティスや基準に従っているか確認したうえでデプロイできます。

注目のプロダクト

現在お使いのパイプラインを Google Cloud に移行する場合も、Google のエンドツーエンド CI ソリューションである Cloud Build を使い始める場合も、Google が最適なソリューションを提供します。
Cloud Build は、Google Cloud Platform インフラストラクチャでビルドを行うサービスです。Cloud Storage、Cloud Source Repositories、GitHub、Bitbucket からソースコードをインポートし、仕様に合わせてビルドを実行して、Docker コンテナや Java アーカイブなどのアーティファクトを生成します。
Artifact Registry は、パッケージと Docker コンテナ イメージを 1 か所で管理できる場所として機能します。CI / CD ツールや Google Cloud ランタイム環境と統合されているため、アーティファクトのライフサイクル全体を管理できます。
Google Cloud Source Repositories は、Google Cloud Platform でホストされる多機能のプライベート Git リポジトリです。この多機能でスケーラブルなプライベート Git リポジトリでは、コードを簡単に共同編集して安全に管理できます。他の GCP ツール(Cloud Build、Stackdriver、Cloud Pub/Sub など)に接続すれば、Git ワークフローを拡張できます。お客様が所有するすべてのリポジトリでインデックスによる高度な検索が可能なため、コードに迅速にアクセスできます。

Artifact Registry は、Maven と npm パッケージのリポジトリを作成、管理できる Google Cloud サービスです。

注目のソリューション

エンドツーエンドの継続的インテグレーションと継続的デリバリーを設計、実装するためのソリューションをご覧ください。
ソリューション
GCP に Spinnaker をインストールして管理することで、継続的デリバリーを簡単に実現できます。
ソリューション
Google Kubernetes Engine、Cloud Source Repositories、Cloud Build、Spinnaker を使用して継続的デリバリー パイプラインを作成し、ビルド、テスト、デプロイのプロセスを自動的にトリガーします。
ソリューション
マルチオペレーティング システムのサポート、クリーンなビルド、適切な負荷分散を実現するために Kubernetes Engine で Jenkins を実行します。
ソリューション
Google がホストするプロダクト スイートである Cloud Build と、広く利用されている GitOps 方式を使用して、Google Cloud Platform に継続的インテグレーションと継続的デリバリー(CI / CD)パイプラインを作成します。

コンテンツ ストリーミング

CI / CD 分野のイベントやその他のコンテンツに関する最新情報をお届けします。
ポッドキャスト
Cloud Build は、Forrester Wave™ の 2019 年第 3 四半期版「Cloud-Native Continuous Integration Tools」で評価された 10 社の CI プロバイダの中で、「Current Offering」と「Strategy」の両方のカテゴリで最高スコアを獲得しました。
ポッドキャスト
高度な CI / CD パイプラインを作成して Cloud Build の優れた機能を有効に活用しましょう。パイプラインが複雑化する中で、構成をメンテナンスしやすくする優れた機能とおすすめの方法を学んでください。
ポッドキャスト
CI / CD システムを作成するための強力で柔軟なオープンソース フレームワークである Tekton について紹介します。Tekton を利用すれば、開発者は複数のクラウド プロバイダやオンプレミス システムにわたってビルド、テスト、デプロイすることができます。
記事
継続的インテグレーション(CI)とは何でしょうか。DevOps とはどのような関係なのでしょうか。このような CI に関する疑問やよく指摘される欠点、成功の測定方法について説明します。
記事
CI / CD については、継続的インテグレーションと継続的デリバリーに関する Google Cloud Platform ポッドキャストで詳しく説明しています。Percy のビジュアル レビュー、Spinnaker の企業向け継続的デリバリー、Travis CI の継続的インテグレーションなど、さまざまな内容を学べます。
記事
「バグがどこかはわかっている。だからちょっとした修正をするつもりだ。でもテストの時間はない...。...まったく困ったものだ。」
クイックスタート
Cloud Build を Kaniko(Dockerfile からコンテナ イメージをビルドするためのオープンソース ツール)と併用することで、コンテナビルドのアーティファクトをキャッシュに保存し、ビルド時間を大幅に短縮できます。
クイックスタート
現在のソフトウェア チームには、従来に増して迅速にビジネス価値を創出することが求められています。この目的のため、Google では Cloud Build を市場に投入しました。Cloud Build は、クラウド内でアプリケーションのビルドとテストを大規模に実施するためのフルマネージド CI / CD プラットフォームです。
クイックスタート
Cloud Functions を実際に使用した例を使って、CI / CD のテスト戦略によって本番環境からバグを排除する方法を学びます。
イベント
Spinnaker は、Netflix、Waze、Target、Cloudera などの企業によって採用されているオープンソースのマルチクラウド継続的デリバリー プラットフォームです。さらに、Halyard という新しいオープンソースのコマンドライン インターフェース(CLI)ツールを使用して、Spinnaker 自体を簡単にデプロイできます。
記事
Hugo のような静的ウェブ プラットフォームは、ウェブサーバー不要でウェブサイトを作成できるという利点から採用されることが増えてきました。CI / CD パイプラインを作成して Hugo ベースのウェブサイトをデプロイするために、Google Cloud を利用できます。

動画ストリーム

Google Cloud は、App Engine などのサービスでアプリケーションの開発、デプロイ、デバッグを行うためのエンドツーエンドのワークフローを提供します。また、Cloud Source Repositories と他の Google Cloud ツールを使用して継続的インテグレーション プロセスを実装し、自動化されたビルドとテストによりチェックインを検証できます。
「シフトレフト」の DevOps 原則では、開発サイクルの初期段階でテストを行うことを推奨しています。この方法により、ソフトウェアの品質とシステムの状態を大幅に改善できます。Cloud Build を使用すると、完全な本番環境システムを複製できる自己完結型の Kubernetes 環境をプロビジョニング、テスト、破棄できます。これにより、すべてのビルドの一部としてシステム全体のテストを安全でコスト効率に優れた方法で実行できます。
すぐに使える DevOps のベスト プラクティスと自動化について説明します。集中管理の git リポジトリからのコードとしてインフラストラクチャと構成を管理します。これにより、ハイブリッド ワークロードの可視性、制御、コンプライアンスを維持できます。複数のツール、構成、ポリシー システム、言語で、デベロッパーのアジリティを損なうことなく、セキュリティとコンプライアンスの要件を満たすことができます。
Skaffold や Google Cloud Build などの開発ツールを使用すると、開発の速さ 10 倍にできます。コードが変更されるたびに Skaffold がアプリケーションをインテリジェントに再構築し、デプロイします。これらはすべてお気に入りの IDE から実行できます。
Cloud Build バイナリ認証のベスト プラクティスに従って、コードを Google Kubernetes Engine クラスタにデプロイする前に、ソフトウェア サプライ チェーンが既知の安全なパスをたどるようにする方法を説明します。
Cloud Build を使用してパイプラインを作成し、Infra-As-Code 環境定義を検証して既存の環境を安全に更新します。また、環境定義のバージョニングと公開を行う方法や、Cloud Build、Jenkins、Spinnaker などのツールで実行されるアプリケーション デプロイメント パイプラインで定義を使用する方法について説明します。
マネージド ベースイメージ、GCR 脆弱性スキャン、Binary Authorization などを最大限に活用して、DevOps の全体的なセキュリティを向上させる方法について説明します。
継続的デリバリー システムを構築することで、git リポジトリからマルチステージのクオリティ ラダー(実験、検証、テスト、リリースなど)までの、本番環境にいたる流れを自動化できます。CI / CD ツールを使用して、Cloud Functions、サーバーレス コンテナなどの GCP サーバーレス サービス全体でアプリのテストとデプロイを行う方法について説明します。
Kubernetes 環境で CI / CD システムを決めるのは容易なことではありません。選択肢が非常に多く、Kubernetes よりも前に構築されているシステムもあります。Google では、業界のリーダーと協力して、クラウド ネイティブの CI / CD システムのコンポーネント、API、ベスト プラクティスの標準セットを構築しました。今回は、サンプルを使ってデモを行い、マルチクラウド環境やハイブリッド クラウド環境で機能する最新の開発ワークフローを使用して、ソースから本番環境までのコードの管理に使用できる新しい Kubernetes ネイティブ リソースについて紹介します。
Kubernetes と Istio を使用すると、Canary リリースなど、高度なロールアウト パターンに対応する豊富なサポートを利用することで、より簡単かつ安全にアプリケーションをデプロイできます。
GCP の新しいフルマネージド サーバーレス プラットフォームでは、インフラストラクチャを気にすることなく、使用した分だけ支払うだけで任意の HTTP ステートレス コンテナを実行できます。ここでは、この新しいプロダクトの特徴について詳しく説明します。新しいユースケースのデモもご覧いただけます。サーバーレスでコンテナを実行することで可能性が広がります。また、すでに利用されているお客様の声もご紹介します。
Kubernetes でサーバーレス開発に必要な技術を提供する Knative は、2018 年の登場以来、著しい成長と普及を遂げています。2019 年は、Knative をベースにどのようなプロダクトがリリースされるのでしょうか。詳細をご覧ください。