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

GitHub Actions を導入した経緯 / 2022-06-09

GitHub Actions を導入した経緯 / 2022-06-09

41c9dedd1b4c53ace82e040bb09334fe?s=128

Takuma Yamamoto

June 09, 2022
Tweet

More Decks by Takuma Yamamoto

Other Decks in Programming

Transcript

  1. confidential ©KitchHike Inc. GitHub Actions を導入した経緯 Takuma Yamamoto 株式会社キッチハイク 2022.06.09

  2. confidential ©KitchHike Inc. BIOGRAPHY あなたは誰ですか? • バックエンド: Ruby on Rails

    • フロントエンド: React • アプリ: React Native 2 技術スタック SNS •  https://github.com/tamago3keran •  https://twitter.com/yamataku3831 •  https://qiita.com/tamago3keran • サウナ • 韓流ドラマ • アニメ ... 趣味 Takuma Yamamoto Work at KitchHike, Inc. From Miyazaki
  3. confidential ©KitchHike Inc. Continuous Integration TODAY’s TOPIC 3 弊社が GitHub

    Actions 導入に至った経緯を紹介 Continuous Delivery GitHub Actions を使用して、RubCop や ESLint によるソース コードの静的解析や、 RSpec や Jest による自動テストなど、 効率的な開発を行っています。 GitHub Actions を使用して、React Native で作成したモバイ ルアプリをアプリストアに自動送信・申請しています。
  4. confidential ©KitchHike Inc. TODAY’s GOAL GitHub Actions 導入のきっかけに 導入へのきっかけ ご自身で開発しているプロダクトに導入

    してみようかなと、考えるきっかけにな れば嬉しいです。 導入事例を知る どういった背景や経緯で導入し、結果ど ういうメリットを享受できたのかについ て、紹介します。
  5. confidential ©KitchHike Inc. What is GitHub Actions? そもそも GitHub Actions

    とは何ですか? 5
  6. confidential ©KitchHike Inc. GitHub Actions makes it easy to automate

    all your software workflows, now with world-class CI/CD. Build, test, and deploy your code right from GitHub. INTRODUCTION 6 GitHub 製の CI/CD ツール GitHub上のアクションなどをフックして、ビル ド・テスト・デプロイを自動化できる、GitHub 製の CI/CD ツールのことです。 引用元: https://github.com/features/actions
  7. confidential ©KitchHike Inc. Continuous Integration コードの静的解析やテストなどの自動実行 7

  8. confidential ©KitchHike Inc. Wercker のサービス終了がきっかけ BACKGROUND 8 引用元: https://devcenter.wercker.com Important

    Notice: Wercker service will be shutdown on October 31st, 2022 . We recommend you to use OCI DevOps service. Thank you for using Wercker. 他サービスへの 移行を検討することに...
  9. confidential ©KitchHike Inc. 他 CI サービスを調査して費用を比較検討 INVESTIGATION 9 GitHub Actions

    CircleCI AWS CodeBuild OS メモリ CPU 1ヶ月の固定額 1ヶ月の無料時間枠 1ヶ月あたり有料で賄う時間 1分あたりの料金 1ヶ月の支払額($) Linux 7GB 4 $5(= 1+4) 100分 11,900分 $0.01 $124 Docker / Linux 8GB 4 $19(= 15+4) 2,750分 9,250分 $0.012 $130 Linux 7GB 2 $4 3,000分 9,000分 $0.008 $76 ※ 弊社の場合、CI 実行にかかる時間は 1ヶ月で約12,000分 程度だったので、その前提で計算しています。 ※ OS とメモリを可能な限り近い条件にして比較しています。 ※ AWS CodeBuild は AWS CodePipeline との併用を前提とし、その利用料を固定額に含めています。 ※ AWS CodeBuild は US East(N. Virginia) リージョンで計算しています。 ※ AWS CodeBuild と CircleCI は別途 GitHub の利用が必要なので Pro プランの固定費も含めています。 ※ https://qiita.com/tamago3keran/items/c16a25bb4bead6b15ac8
  10. confidential ©KitchHike Inc. GitHub Actions が最も安い費用で運用できる ADVANTAGES 10 GitHub Actions

    CircleCI AWS CodeBuild OS メモリ CPU 1ヶ月の固定額 1ヶ月の無料時間枠 1ヶ月あたり有料で賄う時間 1分あたりの料金 1ヶ月の支払額($) Linux 7GB 4 $5(= 1+4) 100分 11,900分 $0.01 $124 Docker / Linux 8GB 4 $19(= 15+4) 2,750分 9,250分 $0.012 $130 Linux 7GB 2 $4 3,000分 9,000分 $0.008 $76 ※ 弊社の場合、CI 実行にかかる時間は 1ヶ月で約12,000分 程度だったので、その前提で計算しています。 ※ OS とメモリを可能な限り近い条件にして比較しています。 ※ AWS CodeBuild は AWS CodePipeline との併用を前提とし、その利用料を固定額に含めています。 ※ AWS CodeBuild は US East(N. Virginia) リージョンで計算しています。 ※ AWS CodeBuild と CircleCI は別途 GitHub の利用が必要なので Pro プランの固定費も含めています。 ※ https://qiita.com/tamago3keran/items/c16a25bb4bead6b15ac8
  11. confidential ©KitchHike Inc. Continuous Delivery アプリストアへの送信・申請を自動化 11

  12. confidential ©KitchHike Inc. セキュリティ面を考慮してオフィスのマシンでのみ申請 BACKGROUND 1 12 アプリ申請するためには「証明書」が保存されている端末で Archive する必要があります。ただし、証

    明書を開発メンバー全員が所持していると、流出するリスクを高めてしまいます。よって、「証明書」 をオフィスのマシンにだけ保存するようにしました。 それに伴って、アプリ申請がオフィスのマシンに依存するような状態になっていました。
  13. confidential ©KitchHike Inc. コロナがきっかけで出社しづらい状況に BACKGROUND 2 13 コロナがきっかけで出社しづらくなり、オフィスに足を運ばなくてもアプリ申請できる状態にする必要 がありました。 様々なサービスを調査し、

    GitHub Actions が最も低コストで運用できることがわかったので、導入を 決めました。
  14. confidential ©KitchHike Inc. アプリのデータ送信・申請をクラウド上で行えるようになった CHANGE 14 GitHub Actions を使用することで、アプリビルドだけでなく、作成されたデータをアプリストアに送信 し、申請する処理まで、GitHub

    がホスティングしている仮想マシンで行えるようになりました。 After Before 証明書 証明書
  15. confidential ©KitchHike Inc. アプリ申請に GitHub Actions を導入したメリット ADVANTAGES 15 コロナでオフィス出社しづらくなりました

    が、GItHub Actions の導入により、場所を 問わずアプリ申請が可能になった。 証明書も GitHub で管理することで、開発 者全員に配布する必要がなく、セキュリ ティ的にも安心。 他作業に集中できる 手動でアプリ申請する場合は、ひとつひと つコマンドを打ったり、ボタンをぽちぽち していました。 GitHub Actions の導入により、PR を作成 するだけで、自動で申請までされるように なり、その間他作業に集中できるようにな りました。 ヒューマンエラーの防止 オフィス外から申請できる PR を作成するだけで、自動でアプリ申請ま でされるようになったことで、人間が作業 しなくてよくなったので、ヒューマンエ ラーの発生を防げます。
  16. confidential ©KitchHike Inc. Summary GitHub Actions 導入メリットのまとめ 16

  17. confidential ©KitchHike Inc. GitHub Actions 導入のメリットをまとめると... SUMMARY 17 • 他サービスと比べると安い費用で

    CI/CD の運用ができる • アプリ申請に必要な証明書を開発メンバーのローカルに保存しなくてよいので安全 • マシンに依存せず、どこからでもアプリ申請を行うことができる • 申請作業が自動化されることで、その間他タスクに集中することができる • 人間が手動で作業を行わなくて良いので、ヒューマンエラーを未然に防げる
  18. confidential ©KitchHike Inc. Recruitment 弊社のサービス概要 18

  19. confidential ©KitchHike Inc. RECRUITMENT We are Hiring! 19 キッチハイクでは、食と暮らしを豊かにしてい く、そんな活動を仕事として取り組みたいエン

    ジニアを募集しています。 キッチハイク 採用 https://www.wantedly.com/companies/kitchhike
  20. confidential ©KitchHike Inc. ご静聴ありがとうございました! 20