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
fastbuild-前端资源打包平台架构与设计及其他
Search
Joe Wang
March 25, 2019
Programming
0
200
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
45
Lazy List With Generator and Iterator
nodew
1
680
ddd.pdf
nodew
0
190
An Introduction to Haskell
nodew
2
71
es6 proxy overview
nodew
1
51
Other Decks in Programming
See All in Programming
TypeScript LSP の今までとこれから
quramy
1
490
Datadog RUM 本番導入までの道
shinter61
1
250
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
210
C++20 射影変換
faithandbrave
0
220
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
110
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
480
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
610
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
190
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
100
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
200
無関心の谷
kanayannet
0
160
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
184
22k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Raft: Consensus for Rubyists
vanstee
139
7k
A better future with KSS
kneath
239
17k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Fireside Chat
paigeccino
37
3.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The World Runs on Bad Software
bkeepers
PRO
68
11k
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