2023_08_26_GihtubActionでGAEに自動デプロイ(他山の石ver)

360 Views

August 29, 23

スライド概要

2023年8月26日に行った、むきむきJava第一回での発表資料です。
ぐだぐだな発表でしたが、戒めの意味と、初心者歓迎の意味、二つを込めて公開します。
他山の石というのは、他の人の失敗を参考にするという意味だそうです。

Githubリポジトリはこちら↓
https://github.com/CouldU5SaNa/2023-08-26_Presentation

profile-image

むきむきJava運営者

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

GithubAction GCP 自動デプロイ shiryu 1

2.

目次 1. なぜ自動デプロイを行うのか 2. 今回使用するツールについて a. GCPの簡単な説明 b. Github Acitonsの簡単な説明 3. 全体のアーキテクチャ図 4. OIDC(OpenID Connect)についての説明 5. 実際の手順 6. 終わりに 2

3.

なぜ自動デプロイなのか ソフトウェアのリリースサイクルを短縮するため →CI/CD (なので、SIer等ウォーターフォールの開発では使用しない可能性も大きい) DevOps,DecSecOps,SREの業務内で使用されることが多い様子。 3

4.

CI/CDの構成要素 1. ビルド a. Gradle b. Maven c. Ant 2. テスト a. JUnit b. Spock 3. デプロイ 4

5.

クラウドプロバイダ - GCP Azure AWS さくら 5

6.

GCP スタンダード環境 - Docker構築不要 - 無償利用可能 フレキシブル環境 - Docker構築必要 - 無償利用不可 →スタンダードを選択 6

7.

CI/CDツール比較 Jenkins Google Cloud Run Github Actions CircleCI Travis CI Ansible →Github Actionsを選択 7

8.

Github Actions - プッシュ、プルリクエストに対して起動可能 - ブランチ指定も可能 - YAMLでの記述 - マーケットプレイスがある 8

9.

登場する物 Workload Identity 9

10.

OpenID Connec(OIDC) - OAuthの更に上に建てられた規格 - 認証情報以外にも、JWT形式でのIDTokenの発行を行う 10

11.

実践 11

12.

プロジェクト作成 12

13.

プールの作成 13

14.

OIDCプロバイダ設定 14

15.

ワークロードプールの作成 15

16.

サービスアカウントを作成する 16

18.

プリンシパルにサービスアカウントへ のアクセス権の付与 18

20.

上手に設定できると こうなる 20

21.

App EngineのAPI も有効化が必要 21

22.

OIDC用に作った サービスアカウントを使用する。 22

23.

project id はコ ンソール画面に ある 23

24.

注意 : 末尾のGithubの部分、本来 のIDがgithubだったせいでえらい時 間食った、気をつけましょう。 24

25.

App Engineの リージョンを決め ておくのも大事。 25

26.

補足 workload identity poolからアクセス権の設定をすると : どのリポジトリからでもアクセス可能になる。 26

27.

エラーレポ(from Github Action) 27

28.

未着手(from Github Action) - Workload Identityとのプロジェクト分離 フレキシブル環境でのパイプライン構築 CI/CDの範囲では自動テスト IAM、サービスアカウントについての解説 28

29.

参考資料 RedHat : デプロイの自動化とは GCP : Workload Identity GCP : デプロイメント パイプラインとの Workload Identity 連携を構成する Qiita : yuki2006 Github ActionsでGoogle App Engineにデプロイする方法 Zenn : koki GitHub Actions で OIDC を使用して GCP 認証を行う 29

30.

実は 事前に確認したらデプロイに失敗し続けて 焦りながら当日… 当然当日の発表はボロボロ コード自体のリポジトリはこちら https://github.com/CouldU5SaNa/2023-08-26_Prese ntation 30