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
630
Nx CloudでCIを爆速にした話
TechBrew 〜 一杯のお酒で繋がるエンジニアたち〜@福岡
puku0x
May 19, 2023
Tweet
Share
More Decks by puku0x
See All by puku0x
ファインディでのGitHub Actions活用事例
puku0x
9
1.9k
Findyの開発生産性向上への取り組み ~Findyフロントエンドの場合~
puku0x
0
390
Findyの開発生産性を上げるためにやったこと
puku0x
1
490
Angularコーディングスタイルガイドはいいぞ
puku0x
1
200
Findyのフロントエンド設計刷新を通して得られた技術的負債との向き合い方
puku0x
1
1.6k
最高の開発体験を目指して 〜Findyのフロントエンド設計刷新〜
puku0x
0
740
VSCode GraphQL + GraphQL Code Generator による快適なフロントエンド開発
puku0x
0
2.2k
Nxはいいぞ
puku0x
0
690
Angularの静的サイトジェネレーター「Scully」の最新情報
puku0x
0
300
Other Decks in Technology
See All in Technology
目標設定と習慣化で今よりも一歩生産性を上げる
sansantech
PRO
7
2.3k
FastlyとfalcoでNode.jsレスな Webサーバー構築 : IPTV版 ABEMAアプリインフラ刷新 / Building web server using Fastly and falco without Node.js for IPTV ABEMA app
nodaguti
0
240
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
1
160
waitany と waitall を作った話
mrkn
0
110
LLMに日本語テキストを学習させる意義
ksaito
13
3.5k
技術ブログや登壇資料を秒で作るコツ伝授します
minorun365
PRO
18
4.6k
Hyperledger Fabricの成長、成熟を振り返る / Looking back history of Hyperledger Fabric
gakumura
0
180
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
2
130
AWSを始めた頃に陥りがちなポイントをまとめてみた
oshanqq
1
2.1k
Azure Cosmos DB での時系列ログの運用と改善
sansantech
PRO
0
190
Dojo 20240830 COBOL to Java on Z
ichikawayasuhisa
0
240
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
3.2k
Featured
See All Featured
The Invisible Customer
myddelton
119
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
We Have a Design System, Now What?
morganepeng
48
7.1k
How GitHub (no longer) Works
holman
309
140k
Documentation Writing (for coders)
carmenintech
65
4.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
25
1.3k
Code Review Best Practice
trishagee
62
16k
RailsConf 2023
tenderlove
26
790
Making Projects Easy
brettharned
113
5.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
The Language of Interfaces
destraynor
153
23k
Why Our Code Smells
bkeepers
PRO
333
56k
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