/ktor-docker-cloudrun

CloudRunへ継続的デプロイするサンプル

Primary LanguageKotlin

Cloud RunへGithubから継続的デプロイ

↓を参考に進めました

Cloud Run へのデプロイ  |  Cloud Build のドキュメント  |  Google Cloud

プロジェクト作成

アプリを作成・構築・メンテするためのGCPのプロジェクトを作成します。

スクリーンショット 2021-08-08 15 20 11

Cloud Run

Cloud Runのページから、サービスの作成を選択

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f35306663653034372d616462652d393737322d656266372d3866613764663539613632382e706e67

1. サービスの設定

サービス名を入力、リージョンを選択して、次へ

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f31316636366362652d373035622d613730662d356335372d3061306137316162396233332e706e67

2. サービスの最初のリビジョンの構成

ここで、ソース リポジトリから新しいリビジョンを継続的にデプロイする を選択し、 SET UP WITH CLOUD BUILD を押す

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f34663166383030332d306534362d333034642d373238382d3630313266383935613163632e706e67

3. Cloud Build の設定

Cloud Build の設定が開く

3.1 リポジトリの選択

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f38363865613631392d326634612d323230342d323364622d3339376437333263393230352e706e67

プロジェクトを新規作成した後であれば以下のようなメッセージが表示さえる。各々のAPIの設定を行う

  • イメージを作成するには、Cloud Build API が必要です。
  • (省略可)Container Analysis(無料)を使用してソース情報を取得して表示します

ボタンをぽちっと押すとAPI連携が始まる

スクリーンショット 2021-08-08 15 37 24

ここでは、以前作ったServer Side Kotlinnのリポジトリを指定しました。

https://qiita.com/sugasaki/items/d5800aedafc7dd3f528c

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f63376263663363652d656362622d616665312d356234392d3766356338633039343834642e706e67

リポジトリのミラーリングは未選択で進みました。

3.2 ブランチの選択

ブランチ選択

継続的デプロイに使用するブランチを選択します。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f61623264663432662d623532662d626631362d393432352d3334383561323664656263612e706e67

Build Typeの選択

Githubのブランチ内にDockerfileをPUSH済なので、それを使います。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f33303232386434332d366137302d316265392d383334392d6462366639336131343361332e706e67

入力終わったら保存を押します。

3.3 詳細設定

ポート番号や最大リクエスト数などの詳細設定ができます。 必要におうじて変更をおこない、必要がなければ、次へボタンを押下

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f33313438363534622d633261382d386262632d366434302d6364613534656332353835382e706e67

3.4 サービスをトリガーする方法の構成

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f34376237363934612d393836312d373433352d613261312d3861346461633238373333622e706e67

以下を選択して、作成ボタンを押す

  • すべてのトラフィックを許可する
  • 未認証の呼び出しを許可

注)未認証の呼び出しを許可を選択しないと、外部から作成したサービスにアクセスできないので選択すること。

作成ボタンを押すと「継続的デプロイを設定しています」の画面に切り替わります。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f33336663306632372d396438652d323231632d663639632d3334336464636532653365652e706e67

Cloud Run管理画面へ

「継続的デプロイを設定しています」の画面で、しばらく待つとジョブの実行が完了します。

ジョブの実行が完了すると、URLが表示されます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f38653534383966642d336436632d396433362d373861632d3635316138363364393965372e706e67

URLにアクセスすると、作成したアプリが表示されます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f36643562396636642d333436312d376135312d366535392d6134306136656265333537342e706e67

継続的デプロイ

GithubへPUSHを検知して、Cloud Buildが起動します。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f30653061626330322d376639372d356262312d303263332d6431353831613430373764322e706e67

ビルドが完了すると、デプロイされ、アプリが変更されます。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f34393931302f31303536613533652d613434362d313065622d383033362d3834633830656138373731302e706e67

以上です