🍺

Google Cloud PlatformのCloud Runでサイト公開するまでの手順を作成してみた話

2022/02/08に公開

きっかけ

https://zenn.dev/nobokko/articles/tech_ruby_rails_firststep

の関連として、Google Cloud PlatformのCloud Runに実際にサイト公開まで行ってみました。

あとはZennでの画像の使い方に慣れる為にちょっと画像を盛ってみました。

前提

  • GithubにDockerfile込みでサイト公開の準備が出来ていること( ex. https://github.com/nobokko/rubyonrails_google-custom-search.git )とします。
  • Windowsで作業を行います。
  • Windowsクリーンインストール直後くらいの状況を想定しています。(Windowsサンドボックスで検証しました)

GCP事前準備

  • Googleアカウントの作成
  • GCP利用の設定
  • GCPプロジェクトの作成

Windows環境構築

  • Gitインストール
  • Visual Studio Codeインストール
    • Remote - SSH (Remote Development)
    • Cloud Code

Powershellを立ち上げます。

winget install -h Git.Git ; `
winget install -h Microsoft.VisualStudioCode ;

Powershellを立ち上げます。上のは放置でも閉じてもよいです。

git config --global core.autocrlf false ; `
git config --list --global ; `
code --install-extension googlecloudtools.cloudcode ; `
code --install-extension ms-vscode-remote.remote-ssh ;

Visual Studio Codeを実行します。

code . ;

本作業

View -> Command Palette を実行します。


「Git C」くらいまで入力すると「Git Clone」が見えると思うので、それを選択します。


GitのURL、例えば以下のURLを入力して「Clone from URL」を選択します。
https://github.com/nobokko/rubyonrails_google-custom-search.git


リポジトリを展開するフォルダを適当に選択します。


終了すると右下にポップアップが表示されるので「Open」を選択します。

  • 開きそこねた場合は
    File -> Open Folder から上記でリポジトリを展開したフォルダを選択してください。

ここからはCloud run に上げる作業です。

ここまでダラダラ進めていればCloud SDKのインストール等が拡張機能側で終わっていると思います。終わっていない場合は暫く待ってみてください。

画面下で何か動いていたら多分終わってないです。


左下の「Cloud Code」を選択します。


「Deploy to Cloud Run」を選択します。


ログインしていないので怒られます😢(たぶん初回のみです)

「Log in to GCP」を選択してGoogleアカウントでログインしてください。


最後に「許可」を選択します。


Visual Studio Codeの方をみると、プロジェクトの選択を求められているかもしれません。

目的のプロジェクトを選択します。


事前準備以上の事をしていない場合はAPIの利用許可を求められます。「Enable API」を選択するとCloud Run APIが有効になります。


Cloud Runの設定画面になります。


「Build environment」で今回は「Cloud Build」を使ってみます。

選択すると「Cloud Build API」の許可を求められるので「Enable Cloud Build API」選択します。


「Deploy」を選択します。


最終的に成功すると以下のような表示になります。


実際には成功しない場合もありますが高確率で作成したDockerfile等で何か起きています。

Cloud Build の ビルド履歴Cloud Run の ログ を読んで頑張ってください。

まとめ

お疲れさまでした。

参考URL

https://cloud.google.com/sdk/docs/quickstart

Discussion