Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
fastbuild-前端资源打包平台架构与设计及其他
Search
Joe Wang
March 25, 2019
Programming
0
210
fastbuild-前端资源打包平台架构与设计及其他
Joe Wang
March 25, 2019
Tweet
Share
More Decks by Joe Wang
See All by Joe Wang
An Introduction to Reactive Programming based on RxJS
nodew
0
51
Lazy List With Generator and Iterator
nodew
1
720
ddd.pdf
nodew
0
200
An Introduction to Haskell
nodew
2
85
es6 proxy overview
nodew
1
60
Other Decks in Programming
See All in Programming
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
290
CSC509 Lecture 14
javiergs
PRO
0
210
Module Harmony
petamoriken
2
600
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
340
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
20k
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
250
sbt 2
xuwei_k
0
150
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
5.3k
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
130
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
10k
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
120
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.9k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
RailsConf 2023
tenderlove
30
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Statistics for Hackers
jakevdp
799
230k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Facilitating Awesome Meetings
lara
57
6.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Practical Orchestrator
shlominoach
190
11k
The Cult of Friendly URLs
andyhume
79
6.7k
Transcript
Fastbuild 前端资源打包平台架构与设计及其他 Joe
Why another fxxk build platform ?
None
Known problems • ⼈⾁添加/修改项⺫配置,⽽且添加⼀个项⺫要同步到三个项⺫,上机发布三个项⺫ 的代码 • 任务已经失败退出,前端仍然显⽰打包中 • cancel⼀个任务,拿不到⽇志⽂件 •
任务机显⽰被占⽤,其实是闲置的,但是没办法添加新任务 • 任务机区分node版本,没办法充分利⽤资源 • websocket推送⼤量⽆⽤数据,⼀条消息⼏⼗k的数据 • 前端⻚⾯cpu占⽤⾼(真的没有⽤来挖矿 • 没办法深度扩展
⽼版 build平台 调⽤关系⽰意图
Show some code
None
None
None
“If you could not refactor the fxxk legacy code, just
rewrite it!” - Joe
None
None
None
Show some code
Task Runner Steps
Make Command
ENV
Fastbuild ⽬录结构
Pros and cons in golang • Standalone executable file, no
dll required • Performance • Lightweight channel • Build-in test support • Error handle • Interface{} • Interface • No generics • Lack of functional programming support
Protobuf & GRPC
What are Protocol buffers Protocol buffers are Google's language-neutral, platform-neutral,
extensible mechanism for serializing structured data https://developers.google.com/protocol-buffers/
None
What are GRPC A high-performance, open-source universal RPC framework https://grpc.io/
None
None
None
Next Step • Integration with OPS • Delivery fastbuild with
one click • Improve the user experience • Use NSQ if possible
The end