Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Nx CloudでCIを爆速にした話
Search
puku0x
May 19, 2023
Technology
0
520
Nx CloudでCIを爆速にした話
TechBrew 〜 一杯のお酒で繋がるエンジニアたち〜@福岡
puku0x
May 19, 2023
Tweet
Share
More Decks by puku0x
See All by puku0x
Findyの開発生産性向上への取り組み ~Findyフロントエンドの場合~
puku0x
0
350
Findyの開発生産性を上げるためにやったこと
puku0x
1
430
Angularコーディングスタイルガイドはいいぞ
puku0x
1
140
Findyのフロントエンド設計刷新を通して得られた技術的負債との向き合い方
puku0x
1
1.5k
最高の開発体験を目指して 〜Findyのフロントエンド設計刷新〜
puku0x
0
700
VSCode GraphQL + GraphQL Code Generator による快適なフロントエンド開発
puku0x
0
1.8k
Nxはいいぞ
puku0x
0
640
Angularの静的サイトジェネレーター「Scully」の最新情報
puku0x
0
250
Scully: Angular SSG
puku0x
0
160
Other Decks in Technology
See All in Technology
競技としてのKaggle、役に立つKaggle
yu4u
3
1.7k
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
350
アクセス制御にまつわる改善 / Improving access control
itkq
0
550
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
160
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
760
現代CSSフレームワークの内部実装とその仕組み
poteboy
7
3.6k
Databricks における 『MLOps』
databricksjapan
2
170
JSON攻略法.pdf
miyakemito
8
5.1k
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
1
360
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
240
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
530
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Scaling GitHub
holman
457
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
Typedesign – Prime Four
hannesfritz
36
2.1k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Unsuck your backbone
ammeep
663
57k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Side Projects
sachag
451
41k
The Invisible Side of Design
smashingmag
294
49k
Ruby is Unlike a Banana
tanoku
96
10k
Transcript
Nx CloudでCIを爆速にした話 TechBrew 〜 一杯のお酒で繋がるエンジニアたち〜@福岡 @puku0x Noriyuki Shinpuku
@puku0x 2
@puku0x 3 CIにどれぐらい時間がかかっていますか?
@puku0x 成長のジレンマ 4 機能追加 コード量 増 CI時間 増
@puku0x 5 CIが遅いとどうなる?
@puku0x レビューが遅くなる 6 20分後でいいや
@puku0x 7 ブランチの生存期間が 延びるとどうなる?
@puku0x コンフリクトが増える 8
@puku0x 9 CI高速化がカギ
@puku0x CI高速化のテクニック • キャッシュの活用 ~/.npm や node_modules 等をキャッシュ • 変更検知
影響範囲のコードのみ実行 10 その他: ジョブ並列化、仮想マシンのグレードアップ等
node_modulesのキャッシュ 11 strategy: matrix: node: ['16', '18'] steps: - uses:
actions/cache@v3 id: cache with: path: node_modules key: ${{ runner.os }}-node-${{ matrix.node }}-npm-${{ hashFiles('**/package-lock.json') }
- uses: actions/cache@v3 if: steps.cache.outputs.cache-hit != 'true' with: path: |
~/.npm ~/.cache/Cypress key: ${{ runner.os }}-node-${{ matrix.node }}-npm-${{ hashFiles('**/package-lock.json') } restore-keys: | ${{ runner.os }}-node-${{ matrix.node }}-npm- - name: Install dependencies if: steps.cache.outputs.cache-hit != 'true' run: npm ci 他のディレクトリのキャッシュ 12
@puku0x 13 https://nx.dev/
@puku0x Nx + Nx Cloud • nx affected による変更検知 •
Nx Cloudによるリモートキャッシュ ◦ CI時間平均 約10分 → 約5分 ※最短で1分未満 14
@puku0x 15
@puku0x 16 300時間/月 以上を削減!
@puku0x 17 https://speakerdeck.com/puku0x/findynohurontoendoshe-ji-shua-xin-wotong-sitede-raretaji-shu-de-fu-zhai-tonoxiang-kihe-ifang
@puku0x Nxはいいぞ @puku0x Noriyuki Shinpuku