Slide 1

Slide 1 text

Cloud Buildしか使ってなかったけど、 Cloud Deployも使ってみる。 # とりあえず使ってみる編 Jagu'e'r Cloud Native #16 ハイブリッド Meetup 株式会社スリーシェイク Sreake事業部 大美博史 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 2

Slide 2 text

目次 1. 自己紹介 2. 話さ(せ)ないこと。 3. なんで? 4. Cloud Deployって? 5. まとめ

Slide 3

Slide 3 text

自己紹介 01 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 4

Slide 4 text

自己紹介 名前:大美 博史(おおみ ひろふみ) 所属:株式会社スリーシェイク ( 2024/1 ~ ) 趣味:山走り、サッカー、ハンドボール Google Cloud歴:もうすぐ一年。 まだぺーぺーです。 雪やばすぎて、勇気の下山

Slide 5

Slide 5 text

話さ(せ)ないこと。 02 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 6

Slide 6 text

話さ(せ)ないこと。 - 話さ(せ)ないこと。 - Cloud Deployの詳しいこと - Skaffoldとか

Slide 7

Slide 7 text

なんで? 03 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 8

Slide 8 text

いまの構成 - stgブランチにpush →stg環境のCloud Runにデプロイ - mainブランチにpush →prod環境のCloud Runにデプロイ Cloud BuildがCI/CD(ビルド・デプロイ)をになっている。

Slide 9

Slide 9 text

いまの構成 - stgブランチにpush →stg環境のCloud Runにデプロイ - mainブランチにpush →prod環境のCloud Runにデプロイ Cloud BuildがCI/CD(ビルド・デプロイ)をになっている。 なんでCloud Deploy 使いたいの?

Slide 10

Slide 10 text

なんでCloud Deploy使う? - Cloud Deployというサービスがあることは知っていて、興味があった。 - いつか使いたいと思っていた。 - Johnさんから今回の発表のお話しが来た。 - てことで使おう。 - 改善できたら嬉しいな。 しょうもない理由で 申し訳ございません。

Slide 11

Slide 11 text

Cloud Deployを使ってみる 04 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 12

Slide 12 text

Cloud Deployって? - Cloud Buildだけの世界 まずは検証環境にデプロイして無事動いたら本番にデプロイしたい 問題が起きたらロールバックしたい デプロイ時に承認プロセスを設けたい ... 難しい。。Cloud Buildに任せすぎ(?)。 あらかじめ設定した手順に沿って、複数のサーバー環境(開発、テスト、本番など)へ アプリケーションを自動的に配信してくれるマネージド サービス

Slide 13

Slide 13 text

Cloud Deployって? - Cloud Buildだけの世界 まずは検証環境にデプロイして無事動いたら本番にデプロイしたい 問題が起きたらロールバックしたい デプロイ時に承認プロセスを設けたい ... 難しい。。Cloud Buildに任せすぎ(?)。 デプロイ(CD)部分はCloud Deployに任せよう。 あらかじめ設定した手順に沿って、複数のサーバー環境(開発、テスト、本番など)へ アプリケーションを自動的に配信してくれるマネージド サービス

Slide 14

Slide 14 text

Cloud Deployって? - Cloud Deploy ( + Skaffold ) でできること。 - 「stg -> prod」のようなデリバリーパイプラインの設定 - 承認プロセスの設置 - デプロイ時のフック(DBのマイグレーションなど) - etc. [色々できるぞ! Cloud Deploy!!](https://zenn.dev/google_cloud_jp/articles/cloud-deploy-updates-2023)

Slide 15

Slide 15 text

Cloud Deployって? 1. あらかじめデリバリーパイプラインを作成 デプロイ先、順序などを決める 2. リリースを作成 成果物をまとめる 3. ターゲット(デプロイ先)へデプロイ 4. 問題があればロールバック、なければ次 5. 次のターゲットへデプロイ Stg Prod Stg Prod

Slide 16

Slide 16 text

- Cloud Deploy デプロイのパイプライン(デプロイの手順やデプロイ先)を用意する - Cloud Build イメージをビルド・プッシュしてアーティファクトを作る Cloud Deployを動かす →リリース物をまとめたり、ターゲットにデプロイしたり Cloud Buildとの棲み分け

Slide 17

Slide 17 text

使ってみる

Slide 18

Slide 18 text

使ってみる デプロイの可視化

Slide 19

Slide 19 text

使ってみる デプロイの差分

Slide 20

Slide 20 text

まとめ 05 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 21

Slide 21 text

まとめ - CI/CDを見直すきっかけになった。 - Cloud DeployにCD部分を託したことで、Cloud Buildの設定ファイルがすっきりした。 - デプロイ頻度やデプロイ失敗率が可視化されるので開発生産性について考えるきっかけに なる。 - デプロイ後に動作確認→OK/NGでロールアウトをコントロール。ができるの嬉しい。 - デプロイ時の操作を定義できるので、デプロイ時にCloud RunサービスをPublic公開やDB マイグレーションが一緒にできるの嬉しい。 - ただ、今の開発プロセスにおいてはToo Much。 - あっても困らないので、これを機にCloud DeployでCDしていこうと思います。 - #使ってみてどうか編 へ続く。