DevFest 2020 Ja - GitLab Review Apps with GKE

2a3710646ca647dccd379703f2713682?s=47 koda
October 18, 2020

DevFest 2020 Ja - GitLab Review Apps with GKE

Kubernetes を利用する事で、信頼性・利便性の高いサービスの「運用」の環境が得られた人は多いと思います。
この Kubernetes を使って「開発」もさらに効率化したいと考え、GitLab の Review apps を利用しています。Review apps を使うと、Merge Request(GitHubではPull Requestと同等)に対し、そのレビュー対象の環境が自動でKubernetesクラスタにデプロイされます。このため自分でレビュー対象のコードをCheckoutしてレビューできる環境を作る必要がなくなり、コードレビューを快適に実施できるため、たまりがちのコードレビューという課題が解決できます。
セッションではこの Review apps を中心に、開発の効率化について紹介します。

2a3710646ca647dccd379703f2713682?s=128

koda

October 18, 2020
Tweet

Transcript

  1. GKEとGitLabで 快適レビュー環境の 構築 Koda From GDG Shinshu

  2. hello! KODA (@koda3t) • 「Web」とか「Cloud」とか「DevOps」に取り組む技術者 • 最近はAgile・SCRUMの社内普及もやってる • 某メーカーの中でアプリ開発がお仕事 •

    長野県で温泉にはいりながら家族とのんびり生活中 • 何か作ることが大好き!プログラミング大好き!! • Google系を中心にクラウド系の技術コミュニティに参加 東京から 1時間ちょっと 温泉天国
  3. https://speakerdeck.com/koda/devfest-in-shinshu-2019-abount-devops-in-gcp https://speakerdeck.com/koda/docker-hands-on https://speakerdeck.com/koda/kubernetes-hands-on GDG信州での活動(最近)

  4. https://speakerdeck.com/koda/devfest-2020-ja-gitlab-review-apps-with-gke 本日の資料

  5. 今日話すこと Docker が生まれ、さらに Kubernetes が使えるようになったおかげで、 快適な運用ができるようになりました。 またコンテナ技術や便利なIDEなどにより、個人の開発もどんどん 効率化するようになってきました。 そのような開発現場では、溜まるコードレビューが新たな問題 として浮上するようになりました。

    本セッションでは、GKEを使ってコードレビューを少しでも快適に できるように実施した工夫を紹介します。
  6. 最近のサービス開発では、優れたソフトウェアやサービスが使えるようになった

  7. Kubernetes / GKE を利用する事で、信頼性・利便性の高いサービスの 「運用」の環境が手に入った

  8. 一方、開発の現場は、、、、 コンテナ技術や便利なIDEなどにより、 効率的に開発が進む 溜まっていく、コードレビュー なかなかマージされないFeatureブランチ ボトルネックマン≒レビュアー

  9. Q. なんでコードレビューがたまるのか? A. レビュアーも開発者(リードデベロッパー)であることが多く、  自分の開発の途中でレビューしたくない。  なぜなら、ちゃんと動作を確認するために、  レビュー対象のコードをチェックアウトして、  動作できる状態にしなければいけない。  気軽にレビューできればやるけど出来ないし、  なかなかまとまった時間は取れないのだよね、、、

     自分の開発もあるしさ、、、、、 ぶっちゃけ「めんどくさい」から!
  10. 「開発」のアジリティを 向上するためには、 コードレビューを どうにかせにゃならん

  11. GitLab Review Appsがあるよ!

  12. GitLab Google Cloud • GitLabはGitHubと同等のGitリポジトリ管理とプロジェクトマネジメントを 行えるアプリケーション • CommunityEditionはOSSで公開されており、社内のプライベートな環境でも ホスティングできる(GitHubも有償なら社内環境を作れる) ◦

    IssueやMerge Request(GitHubではPull Request)といったGitHubと同等の 機能がある ◦ CIのような自動化関連はGitHubより先行している印象 • 最近はDevOpsツールとしての機能が充実してきており、Kubernetes/GCPと の連携が強化されている • CNCF Technology Radar: Continuous Deliveryでも高い位置にある What is GitLab? -> GitLab is a complete DevOps platform
  13. GitLabのメニューから、Kubernetesクラスタとの連携が管理できる。 GCPとのパートナーシップもありGCP上のクラスタなら簡単に連携できるし、追加のクレジットももらえる!! (社内で立てればプライベートな環境にあるKubernetesクラスタとも連携可能) GitLab と Kubernetes

  14. Review Appsの仕組み コードレビューが必要な、Merge Request(GitHubではPull Request)の単位に、それをレビューするための環境を Kubernetes上に自動で構築する仕組み。 レビュアーはコードレビューの画面から、動作確認環境へ遷移出来るので自分の環境で何かする必要はなくなる。

  15. GKEを使った GitLab Review Appsのデモ GKEへデプロイした環境のプロビジョニングに時間がかかるので、編集した動画を再生

  16. Review Appsは超便利 GKEも超便利 長野県は良いところ 今日学んだことのまとめ

  17. Have Fun 新しい技術は使うだけで楽しい! 紹介した環境を構築するハンズオンの興味ある?

  18. thanks! Any questions? You can find me at @koda3t