1
/
5

Cloud BuildとKanikoで効率的な継続的デリバリー(CD)を構築する方法【株式会社ライトコード】

ストレスのないCDを構築しよう

皆さんこんにちは。
Google Cloudが好きな小山こと"こやまん"です。
Google Cloud を利用する多くのプロジェクトでは、アプリケーションのデプロイが重要な作業の一つです。今回は、Cloud Buildを利用して、アプリケーションをデプロイする継続的デリバリー(CD)に関する記事となります。

CD(継続的デリバリー/継続的デプロイメイント)とは?

ITエンジニアなら一度は耳にしたことがある「CD」ですが、具体的な内容を忘れてしまっている方もいるかもしれませんので、ここで簡単におさらいします。CD とは、開発したアプリケーションを自動で公開・配布するプロセスで、作業の効率化を図るための手法です。

CDのメリット

  • 迅速なリリース
    自動化されたデプロイメントによる効率的なリリース
  • ヒューマンエラーのリスクの減少
    手作業を無くすことによりエラーのリスクを減少
  • 運用コストの削減
    人的リソースを削減し、コスト効率が向上

実際にCDを構築してみよう

CDを実現するために、さまざまな方法がありますが、今回はGoogle CloudのCloud Buildと呼ばれるサービスを利用して実現していきます。
構成は以下のような形となります。


処理の流れは以下の通りです。

  1. Github上にコードをPush
  2. プルリクエストの作成
  3. Cloud Buildにより、ビルドを実行
  4. Secret Managerより環境変数を設定
  5. Artifact RegistryにDockerイメージを格納
  6. Cloud Runにデプロイ

Artifact Registry

Artifact RegistryはDockerイメージを格納するサービスです。
Cloud Runにアプリケーションをデプロイする上で必須ではありませんが、一般的に使用されることが多いので、今回も利用していきます。
Google CloudのコンソールでArtifact Registryと検索すると初回のみ、以下の画面が表示されるので、有効にするボタンをクリックします。


有効後に、Artifact Registryの管理画面から、リポジトリを作成します。

  • 名前
    hoge(任意の名前を設定)
  • 形式
    Docker
  • モード
    標準
  • ロケーションタイプ
    リージョン(日本国内に在住の場合は、以下のいずれかがおすすめです)
    - asia-northeast1(東京)
    - asia-northeast2(大阪)
  • 説明
    任意の内容を設定
  • ラベル
    必要に応じて設定
  • 暗号化
    Googleが管理する暗号鍵
  • 不変のイメージタグ
    無効
  • クリーンアップポリシー
    ドライラン

作成したリポジトリに移動すると、asia-northeast1-docker.pkg.dev/project-name/xxxxxxといった感じのリポジトリのパスが確認できます。
このパスは、後続の作業で必要になるので控えておきます。(※1)

Cloud Build

Cloud Buildのトリガーを作成します。
Google CloudのコンソールでCloud Buildと検索すると初回のみ、以下の画面が表示されるので、有効にするボタンをクリックします。


有効後に、Cloud Buildの管理画面から、トリガーの作成を行います。

  • 名前
    fuga(任意の名前を設定)
  • リージョン
    global(グローバル)
  • 説明
    任意の内容を設定
  • タグ
    必要に応じて設定
  • イベント
    ブランチにpushする
  • ソース
    第1世代
    - リポジトリ : GitHub(Cloud Build GitHub アプリ)
    - ブランチ : 必要に応じて変更
  • invert Regex
    チェックしない
  • 構成(形式)
    Cloud Build 構成ファイル(yaml または json)
  • 構成(ロケーション)
    リポジトリ
  • Cloud Build 構成ファイルの場所
    任意の場所(例: gcp/cloudbuild.yml)
  • 承認
    チェックしない
  • ビルドログ
    チェックしない
  • サービスアカウント
    xxxxxxxxxxxx-compute@developer.gserviceaccount.com

Cloud Run

Cloud Runの管理画面から、サービスを作成します。

記事の続きは下のURLをクリック!

https://rightcode.co.jp/blogs/48309



エンジニア積極採用中です!

現在、WEBエンジニア、モバイルエンジニア、デザイナー、営業などを積極採用中です!

採用ページはこちら:https://rightcode.co.jp/recruit

社員の声や社風などを知りたい方はこちら:https://rightcode.co.jp/blogs?category=life

社長と一杯飲みながらお話しませんか?(転職者向け)

特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk

もっとワクワクしたいあなたへ

現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「営業」などを積極採用中です!

ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。

有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。

  • もっと大きなことに挑戦したい!
  • エンジニアとしてもっと成長したい!
  • モダンな技術に触れたい!

現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?

ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。

  • ライトコードの魅力を知っていただきたい!
  • 社風や文化なども知っていただきたい!
  • 技術に対して熱意のある方に入社していただきたい!

一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。

Invitation from 株式会社ライトコード
If this story triggered your interest, have a chat with the team?
株式会社ライトコード's job postings

Weekly ranking

Show other rankings
Like Hiroyuki Choshi's Story
Let Hiroyuki Choshi's company know you're interested in their content