Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ラクマにおけるGitOps導入事例

 ラクマにおけるGitOps導入事例

Hidekazu Miyamoto

May 26, 2021
Tweet

More Decks by Hidekazu Miyamoto

Other Decks in Technology

Transcript

  1. May 26th, 2021 GitHub InFocus Hidekazu Miyamoto C2C Service Development

    Section. Rakuten Group, Inc. ラクマにおけるGitOps導⼊事例
  2. 3

  3. 14 実現したい事 - 開発編 Cloud Platform Developer GitHub Actions 1.

    PullRequest 2. Action 4. plan terraform-repo 3. init, fmt 5. Add the result to comment
  4. 15 実現したい事 – リリース編 Cloud Platform Developer GitHub Actions 1.

    Approve 3. Action 4. apply terraform-repo Code Owner 2. Merge
  5. 21 実現したい事 Developer application-repo k8s-manifest-repo GitHub Actions Container Registry 1.

    Push 2. Action 3. Push Image 4. Push manifest file 5. Polling 6. apply
  6. 25 マニフェストファイルの更新 + Pull Request作成 Developer application-repo k8s-manifest-repo GitHub Actions

    Container Registry 1. Push 2. Action 3. Push Image 4. Push manifest file 5. Polling 6. apply
  7. 33 PRD K8S Cluster staging branch develop branch main branch

    feature branch STG K8S Cluster DEV K8S Cluster ブランチ戦略 Pattern1 3. merge 2. merge 1. checkout 4. merge
  8. 34 PRD K8S Cluster staging branch develop branch main branch

    feature branch STG K8S Cluster DEV K8S Cluster ブランチ戦略 Pattern2 4. merge 3. merge 2. merge 1. checkout
  9. 35 PRD K8S Cluster main branch feature branch STG K8S

    Cluster DEV K8S Cluster ブランチ戦略 Pattern3 - overlay更新時 2. merge 1. checkout
  10. 36 PRD K8S Cluster main branch feature branch STG K8S

    Cluster DEV K8S Cluster ブランチ戦略 Pattern3 - base更新時 2. merge 1. checkout
  11. 37 Pattern3 Pros Cons List Pattern1 Pattern2 Pros Cons Pattern1

    ブランチが固定になっている為わかりやすい overlaysの対応を⾏う時に他のbranchへのマージ漏れが出てくる可能性があ る Pattern2 ブランチが固定になっている為わかりやすい Pattern1で懸念していたマージ漏れは回避できる 対応するフローが多く⾯倒 Pattern3 ブランチの構成がシンプル Pattern1で懸念していたマージ漏れは回避できる baseの対応時のbranch切り替え作業が⾯倒