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

開発生産性と開発者体験の向上に向けた CI/CD改善の取り組み / proni-techbre...

PRONI株式会社
February 20, 2024
3k

開発生産性と開発者体験の向上に向けた CI/CD改善の取り組み / proni-techbrew-in-tokyo-20240220

2024年2月20日実施のイベント登壇資料です。
https://findy.connpass.com/event/309537/

【イベント概要 ※connpassより抜粋】
昨今、開発生産性を向上させるために、スピードと品質の両立のためにもテストやデプロイといった部分を自動化が進んでいます。資源の統一化、一元的な管理等の対応は急務であり、CI/CDの考え方や取り組みについて、様々な組織で工夫が凝らされています。

Findyでも、今後の取り組みを検討、改善していくユーザーの中で、「CI/CDに適したツールは何がいいのか」「他企業ではどういった取り組みをおこなっているのか」「現在のベストプラクティスは何か」といった声を多くいただいています。

本イベントでは、そういった声にお応えし、様々な企業での取り組み事例を、LTにて学び、明日から使える知見やノウハウの参考になる場を目指します。

PRONI株式会社

February 20, 2024
Tweet

More Decks by PRONI株式会社

Transcript

  1. 名前 末澤 尚也(SUEZAWA NAOYA ) 所属 PRONI 株式会社 役割 プロダクトエンジニア 業務 ・2020 〜

    既存サービスインフラ IaC 化対応 ・2021 〜 新規サービスインフラ構築 ・2022 〜 既存サービスリプレイス対応 / 採用推進 / 技術広報 ・2023 〜 現在はプロダクト開発チームにてバックエンド開発を担当 登壇・イベント ・Laravel.shibuya#10 テスト実行時間を1/2 にしました@Laravel ・AWS Startup Meetup#13 わたしたちにIaC はまだ早かったのかもしれない ・AWS GameDay 8 位 受賞 ・夏の開発生産性LT Week~ ベストプラクティスから学ぶ!Four Keys 向上への トライ~ " 開発生産性を高めるために実践しているナレッジの紹介" 自己紹介
  2. 会社紹介 P R O N I 株式会社 受発注を変革するインフラを創る をVISION に掲げ、

    国内最大級のBtoB 受発注プラットフォーム アイミツ を展開しています 発注先を探している発注者と仕事を請け負いたい受注者を 最適な形でマッチングさせることで、 世の中の無駄な「相見積もり」を省き、 あらゆる発注をスムーズにすることを目指しています
  3. 2020 2021 2022 2023 2019 会社紹介 P R O N

    I 株式会社 シリーズA 6.6 億円 シリーズB 14.4 億円 シリーズC 25.8 億円 社員数 50 人突破 社員数 100 人突破 日本サービス大賞 「優秀賞」受賞 FINDY TEAM+ AWARD 2022 受賞 職場環境最優良法人 受賞 累計資金調達金額 46.8 億円 突破! 社員数 120 人 突破! Findy Team+ Award 2022 受賞!
  4. C I / C D とは(G e m i n

    i にきいてみた)
  5. P R O N I 株式会社のC I / C D

    CI にgithub 、Cd にCodePipeline を利用しており、 develop や main などの特定ブランチへの変更を トリガーにCodePipeline を開始するように設定しています その後、CodeBuild にてアプリケーションビルド、 Docker イメージ生成、ECR にDocker イメージPush 、 CodeDeploy でECS へデプロイするといった仕組みです
  6. C I (G i t h u b A c

    t i o n で行なっていること) CI で行なっていること ・lint チェック ・build チェック ・コーディング規約チェック ・テスト実行(バックエンド / フロントエンド)
  7. C I 実行時間短縮のために取り組んだこと job 並列実行 当時 CI で実行していたテスト時間が1/3 になりました FYI

    https://docs.github.com/ja/actions/using-jobs/using-a-matrix-for-your-jobs FYI https://note.com/deliku0306/n/na7fedd795bd7
  8. GitHub-hosted Larger Runners job 単体の実行時間が改善されたのですが、 Total durations の数値が悪くなっていました 並行ジョブ数の上限に達し、ジョブがキューイング されていたのではないかと推測しています

    C I 実行時間短縮のために取り組んだこと FYI https://docs.github.com/ja/actions/learn-github-actions/usage-limits-billing-and- administration#usage-limits FYI https://note.com/deliku0306/n/nb72dd50d2372
  9. r e v i e w d o g でL

    i n t e r 解析結果をコメント化 reviewdog Pull Request にコメント形式で指摘してくれます FYI https://github.com/reviewdog/reviewdog
  10. C I 実行結果をS l a c k 通知 ワークフロー成功 /

    失敗時Slack 通知 ワークフロー結果をSlack で通知し、失敗していた時に、誰 のどのPullRequest が、どのワークフローで失敗したかわ かるようにしています。 FYI https://github.com/tokorom/action-slack-incoming- webhook
  11. C D (C o d e P i p e

    l i n e ) デプロイ main にマージすれば、 自動で Approve フェーズまで進行し、 デプロイ担当者が Approve することで、 Deploy が実行される仕組みになっています