· CI/CD とソース管理  · 6 min read

Cloud Build を使った継続的インテグレーション/デリバリー(CI/CD)の実装

Google Cloud の Cloud Build を活用して、効率的な CI/CD パイプラインを構築する方法を解説します。

Google Cloud の Cloud Build を活用して、効率的な CI/CD パイプラインを構築する方法を解説します。

Cloud Build とは

Cloud Build は、Google Cloud が提供する完全マネージドな CI/CD プラットフォームです。開発者は Cloud Build を使用することで、ソースコードのビルド、テスト、デプロイを自動化し、効率的なソフトウェア開発ライフサイクルを実現できます。

CI/CD パイプラインの構築

Cloud Build を使用して CI/CD パイプラインを構築する手順を見ていきましょう。

1. プロジェクトの設定

まず、Google Cloud Console でプロジェクトを作成し、Cloud Build API を有効にします。

2. ソースリポジトリの連携

GitHub や Bitbucket などのリポジトリと Cloud Build を連携させます。これにより、コードの変更を検知して自動的にビルドを開始できます。

3. ビルド設定ファイルの作成

プロジェクトのルートディレクトリに cloudbuild.yaml ファイルを作成し、ビルドステップを定義します。

steps:
  - name: "gcr.io/cloud-builders/docker"
    args: ["build", "-t", "gcr.io/$PROJECT_ID/myapp:$COMMIT_SHA", "."]
  - name: "gcr.io/cloud-builders/docker"
    args: ["push", "gcr.io/$PROJECT_ID/myapp:$COMMIT_SHA"]

4. トリガーの設定

Cloud Build コンソールでトリガーを設定し、特定のブランチへのプッシュやプルリクエストの作成時にビルドが実行されるようにします。

5. テストの統合

ビルドプロセスにユニットテストやインテグレーションテストを組み込みます。

steps:
  - name: "gcr.io/cloud-builders/npm"
    args: ["install"]
  - name: "gcr.io/cloud-builders/npm"
    args: ["test"]

6. デプロイメントの自動化

ビルドが成功した場合、自動的にアプリケーションをデプロイするステップを追加します。

steps:
  # ... 前述のステップ ...
  - name: "gcr.io/cloud-builders/gke-deploy"
    args:
      - run
      - --filename=k8s/
      - --location=us-central1-c
      - --cluster=my-cluster

Cloud Build の料金

Cloud Build の利用には、以下のような料金体系があります。プロジェクトの規模や使用頻度に応じて、適切なプランを選択できます。

無料枠

Google Cloud は、Cloud Build に対して月あたり 2,500 分の無料枠を提供しています:

  • 月あたり 2,500 分のビルド時間
  • 標準的な仮想マシンでのビルドに適用

この無料枠は、多くの小規模プロジェクトや個人開発者にとって十分な場合があります。

従量制料金

無料枠を超えた使用や、より高性能なマシンを使用する場合は、以下のような従量制料金が適用されます:

  • 標準的な仮想マシン:$0.003/分
  • 高性能な仮想マシン:$0.01/分

Cloud Build 料金体系

コスト最適化のヒント

  1. ビルドステップの最適化: 不要なステップを削除し、ビルド時間を短縮する
  2. キャッシングの活用: 依存関係のキャッシュを利用して、ビルド時間を短縮する
  3. 並列実行: 可能な場合、ビルドステップを並列化して全体の実行時間を短縮する

Cloud Build の料金詳細は、プロジェクトの規模拡大に伴い変更される可能性があるため、最新の情報は Google Cloud の公式ドキュメント で確認することをおすすめします。

適切な設定と最適化により、CI/CD パイプラインの効率を高めつつ、コストを抑えることが可能です。

セキュリティの考慮事項

CI/CD パイプラインを構築する際は、セキュリティにも十分注意を払う必要があります。Cloud Build では、以下のようなセキュリティ機能を活用できます:

  • シークレット管理:環境変数やキーファイルを安全に管理
  • IAM 統合:適切な権限設定によるアクセス制御
  • プライベートプール:ビルドを VPC 内で実行

モニタリングと最適化

Cloud Build のパフォーマンスを監視し、継続的に改善することが重要です。Cloud Monitoring を使用して、ビルド時間やステップごとの実行時間などの指標を追跡できます。

まとめ

Cloud Build を活用することで、効率的で安全な CI/CD パイプラインを構築できます。自動化されたビルド、テスト、デプロイメントプロセスにより、開発者の生産性が向上し、高品質なソフトウェアをより迅速にリリースできるようになります。

より詳細な情報は、以下のリソースを参照してください:

CI/CD の実践についてさらに学びたい方は、以下の書籍がおすすめです:

これらの書籍では、Cloud Build を含む Google Cloud のさまざまなサービスを活用した実践的な開発手法について詳しく解説されています。

Back to Blog

Related Posts