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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
puku0x
May 19, 2023
Technology
970
0
Share
Nx CloudでCIを爆速にした話
TechBrew 〜 一杯のお酒で繋がるエンジニアたち〜@福岡
puku0x
May 19, 2023
More Decks by puku0x
See All by puku0x
Agent Skills 入門
puku0x
0
1.6k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
1.9k
生成AIではじめるテスト駆動開発
puku0x
0
1.1k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
2
3k
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
1.5k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
290
ファインディでのGitHub Actions活用事例
puku0x
9
3.8k
Findyの開発生産性向上への取り組み ~Findyフロントエンドの場合~
puku0x
0
470
Findyの開発生産性を上げるためにやったこと
puku0x
1
650
Other Decks in Technology
See All in Technology
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
340
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
4
290
ふりかえりを 「あそび」にしたら、 学習が勝手に進んだ / Playful Retros Drive Learning
katoaz
0
390
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
350
Cortex Code君、今日から内製化支援担当ね。
coco_se
0
300
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
540
GitHub Copilotを極める会 - 開発者のための活用術
findy_eventslides
5
3.5k
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
9
3.5k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.2k
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
ストライクウィッチーズ2期6話のエイラの行動が許せないのでPjMの観点から何をすべきだったのかを考える
ichimichi
1
290
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
240
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
GraphQLとの向き合い方2022年版
quramy
50
14k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
The Pragmatic Product Professional
lauravandoore
37
7.2k
The Curse of the Amulet
leimatthew05
1
11k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
100
Unsuck your backbone
ammeep
672
58k
Paper Plane
katiecoart
PRO
1
49k
How to make the Groovebox
asonas
2
2.1k
Un-Boring Meetings
codingconduct
0
250
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