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
810
Nx CloudでCIを爆速にした話
TechBrew 〜 一杯のお酒で繋がるエンジニアたち〜@福岡
puku0x
May 19, 2023
Tweet
Share
More Decks by puku0x
See All by puku0x
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
190
ファインディでのGitHub Actions活用事例
puku0x
9
3.2k
Findyの開発生産性向上への取り組み ~Findyフロントエンドの場合~
puku0x
0
420
Findyの開発生産性を上げるためにやったこと
puku0x
1
570
Angularコーディングスタイルガイドはいいぞ
puku0x
1
290
Findyのフロントエンド設計刷新を通して得られた技術的負債との向き合い方
puku0x
1
1.7k
最高の開発体験を目指して 〜Findyのフロントエンド設計刷新〜
puku0x
0
820
VSCode GraphQL + GraphQL Code Generator による快適なフロントエンド開発
puku0x
0
2.7k
Nxはいいぞ
puku0x
0
750
Other Decks in Technology
See All in Technology
4/17/25 - CIJUG - Java Meets AI: Build LLM-Powered Apps with LangChain4j (part 2)
edeandrea
PRO
0
110
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
140
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
730
品質文化を支える小さいクロスファンクショナルなチーム / Cross-functional teams fostering quality culture
toma_sm
0
110
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
0
370
LiteXとオレオレCPUで作る自作SoC奮闘記
msyksphinz
0
650
Classmethod AI Talks(CATs) #21 司会進行スライド(2025.04.17) / classmethod-ai-talks-aka-cats_moderator-slides_vol21_2025-04-17
shinyaa31
0
590
Dynamic Reteaming And Self Organization
miholovesq
3
510
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
coconala_engineer
1
290
Linuxのパッケージ管理とアップデート基礎知識
go_nishimoto
0
300
Automatically generating types by running tests
sinsoku
2
3.1k
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
0
160
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Unsuck your backbone
ammeep
670
57k
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.6k
A Tale of Four Properties
chriscoyier
158
23k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Optimising Largest Contentful Paint
csswizardry
36
3.2k
For a Future-Friendly Web
brad_frost
176
9.7k
The World Runs on Bad Software
bkeepers
PRO
67
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Building an army of robots
kneath
304
45k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
760
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