Slide 1

Slide 1 text

速度向上の秘訣 CI/CDにおけるDockerビルドの⾼速化(仮) 株式会社ナレッジラボ 2024年01⽉31⽇

Slide 2

Slide 2 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 ⾃⼰紹介🚀 - 岡野 星⽮ (オカノ セイヤ) - 開発ディビジョン エンジニアリングチーム - 2023年 5⽉ ⼊社 - 好きな⾔語: Go, Rust, Ruby - Stellaris 好き - 性格: 陰キャなのに、出しゃばりがち 2

Slide 3

Slide 3 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 3 ナレッジラボとは テクノロジー 経営判断に必要なデータを収集・分析・予測して経営を可 視化する業績・予算管理クラウド 経理財務BPO 業務設計 事業に応じて最適な経営管理を オーダーメイドで設計し、経営管理 のDXを実現します。 クラウドサービスと連携し正確かつ スピーディーな経理財務サービスを 提供します。 経営管理コンサルティング 事業のライフサイクルに合わせてテクノロジーを活用した経 営管理領域のコンサルティング ⼤阪のコンサルティング会社として2013年に事業をスタートし、現在はテクノロジー とコンサルティングの両輪で、経営の解像度を⾼める仕組みを提供しています。 2018年にM&Aでマネーフォワードグループにジョインしています(持分⽐率60%)。 × コンサルティング

Slide 4

Slide 4 text

結論

Slide 5

Slide 5 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 結論 - CI/CDトータルが に 5

Slide 6

Slide 6 text

⾃動化の歴史

Slide 7

Slide 7 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 Manageboard 7 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 8

Slide 8 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 Manageboard 8 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 9

Slide 9 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 2年前... 9 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。

Slide 10

Slide 10 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 1.5年前.... 10 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。 Circle CIのロゴ は Circle Internet Services, Inc. の商標または登録商標です。

Slide 11

Slide 11 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 1年前~現在 11 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。 Circle CIのロゴ は Circle Internet Services, Inc. の商標または登録商標です。 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 12

Slide 12 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 どこらへんがネック? - CI (Rspec) おっそい (約12分) - Docker Build 遅い (約7分) - ECSタスクの更新待ち(約5分) 12 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 13

Slide 13 text

直近で取り組んだこと

Slide 14

Slide 14 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 1年前~現在 14 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。 Circle CIのロゴ は Circle Internet Services, Inc. の商標または登録商標です。 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 15

Slide 15 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 今 15 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 16

Slide 16 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 なにをした? - CIの並列化 - Docker buildの速度改善 - dockerのlayer cacheを効くように - Asset PrecompileをDockerの世界からバイバイ 16 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 17

Slide 17 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 CIを並列化 - parallel_tests gemでRSpecを並列化 - parallelism + テスト分割はしていた (CircleCI) - テスト実⾏に使うインスタンスのスペックを上げる - parallel_testsの並列数 (スペックは倍にした) - コスト的には実⾏時間は下るのでドッコイドッコイ - Github Actions は Job Matrix で CircleCIと同じくらいの早さに - r7kamura/split-tests-by-timings 17 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 18

Slide 18 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 CIを並列化 - 18

Slide 19

Slide 19 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 Asset Precompile を Docker の世界からバイバイ - Dockerfileでアセットコンパイルしていた(所要時間 2分) - → Actionsでコンパイル & S3へアップロード - S3からアセットを配信するように 19 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 20

Slide 20 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 Manageboard(再掲) 20 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 21

Slide 21 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 Manageboard 21 Amazon Web Services、AWS、および Powered by AWS のロゴは、Amazon.com, Inc. またはその関連会社の商標です。 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 22

Slide 22 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 もろもろ対応した結果 CI/CDトータル 24分から、 9分くらい短縮したけど...なんかしょっぱい😢

Slide 23

Slide 23 text

まとめ & 未来

Slide 24

Slide 24 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 まとめ - CI/CDトータルが 約24分 → 約15分に - CIは速ければ速いほうが良い - CI待ちの時間はストレスがたまる - → テスト実⾏は早くなったので、普段の開発の体 験は向上 💪 - デプロイは依然としてDocker buildがネック 24 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 25

Slide 25 text

Copyright © 2023 Knowledgelabo,Inc. All rights reserved.
 未来 - まだまだ開発組織としては⼩さい - 改善できるところは⼭程あります! - 今回の取り組みは発表駆動 - 普段から継続してできるようにしたい 25 記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。

Slide 26

Slide 26 text

本資料に記載された情報は株式会社ナレッジラボ(以下当社)が信頼できると判断した情報源を元に当社が作成したものですが、その内容および情報の正確性、完全性等について、何ら保証を行っておらず、また、いかなる責任を持つものではあり ません。本資料に記載された内容は、資料作成時点において作成されたものであり、予告なく変更する場合があります。 本資料はお客様限りで配布するものであり、当社の許可なく、 本資料をお客様以外の第三者に提示し、閲覧させ、また、複 製、配布、譲渡することは堅く禁じられています。 本文およびデータ等の著作権を含む知的所有権は当社に帰属し、 事前に当社の書面による承諾を得ることなく、本資料に修正・加工することは堅く禁じられています。 本資料に記載されている会社名および商品‧サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。