Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
GithubAction GCP 自動デプロイ shiryu 1
Slide 2
Slide 2 text
目次 1. なぜ自動デプロイを行うのか 2. 今回使用するツールについて a. GCPの簡単な説明 b. Github Acitonsの簡単な説明 3. 全体のアーキテクチャ図 4. OIDC(OpenID Connect)についての説明 5. 実際の手順 6. 終わりに 2
Slide 3
Slide 3 text
なぜ自動デプロイなのか ソフトウェアのリリースサイクルを短縮するため →CI/CD 3 (なので、SIer等ウォーターフォールの開発では使用しない可能性も大きい) DevOps,DecSecOps,SREの業務内で使用されることが多い様子。
Slide 4
Slide 4 text
CI/CDの構成要素 1. ビルド a. Gradle b. Maven c. Ant 2. テスト a. JUnit b. Spock 3. デプロイ 4
Slide 5
Slide 5 text
クラウドプロバイダ - GCP - Azure - AWS - さくら 5
Slide 6
Slide 6 text
GCP スタンダード環境 - Docker構築不要 - 無償利用可能 フレキシブル環境 - Docker構築必要 - 無償利用不可 →スタンダードを選択 6
Slide 7
Slide 7 text
CI/CDツール比較 Jenkins Google Cloud Run Github Actions CircleCI Travis CI Ansible →Github Actionsを選択 7
Slide 8
Slide 8 text
Github Actions - プッシュ、プルリクエストに対して起動可能 - ブランチ指定も可能 - YAMLでの記述 - マーケットプレイスがある 8
Slide 9
Slide 9 text
登場する物 9 Workload Identity
Slide 10
Slide 10 text
OpenID Connec(OIDC) - OAuthの更に上に建てられた規格 - 認証情報以外にも、JWT形式でのIDTokenの発行を行う 10
Slide 11
Slide 11 text
実践 11
Slide 12
Slide 12 text
12 12 プロジェクト作成
Slide 13
Slide 13 text
13 13 プールの作成
Slide 14
Slide 14 text
14 14 OIDCプロバイダ設定
Slide 15
Slide 15 text
15 15 ワークロードプールの作成
Slide 16
Slide 16 text
16 16 サービスアカウントを作成する
Slide 17
Slide 17 text
17 17
Slide 18
Slide 18 text
18 18 プリンシパルにサービスアカウントへ のアクセス権の付与
Slide 19
Slide 19 text
19 19
Slide 20
Slide 20 text
20 20 上手に設定できると こうなる
Slide 21
Slide 21 text
21 21 App EngineのAPI も有効化が必要
Slide 22
Slide 22 text
22 22 OIDC用に作った サービスアカウントを使用する。
Slide 23
Slide 23 text
23 23 project id はコ ンソール画面に ある
Slide 24
Slide 24 text
24 24 注意 : 末尾のGithubの部分、本来 のIDがgithubだったせいでえらい時 間食った、気をつけましょう。
Slide 25
Slide 25 text
25 25 App Engineの リージョンを決め ておくのも大事。
Slide 26
Slide 26 text
26 補足 26 workload identity poolからアクセス権の設定をすると : どのリポジトリからでもアクセス可能になる。
Slide 27
Slide 27 text
27 エラーレポ(from Github Action) 27
Slide 28
Slide 28 text
28 未着手(from Github Action) 28 - Workload Identityとのプロジェクト分離 - フレキシブル環境でのパイプライン構築 - CI/CDの範囲では自動テスト - IAM、サービスアカウントについての解説
Slide 29
Slide 29 text
29 参考資料 29 RedHat : デプロイの自動化とは GCP : Workload Identity GCP : デプロイメント パイプラインとの Workload Identity 連携を構成する Qiita : yuki2006 Github ActionsでGoogle App Engineにデプロイする方法 Zenn : koki GitHub Actions で OIDC を使用して GCP 認証を行う
Slide 30
Slide 30 text
30 実は 30 事前に確認したらデプロイに失敗し続けて 焦りながら当日… 当然当日の発表はボロボロ コード自体のリポジトリはこちら https://github.com/CouldU5SaNa/2023-08-26_Prese ntation