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
48
Lazy List With Generator and Iterator
nodew
1
710
ddd.pdf
nodew
0
190
An Introduction to Haskell
nodew
2
76
es6 proxy overview
nodew
1
53
Other Decks in Programming
See All in Programming
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
240
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
One Enishi After Another
snoozer05
PRO
0
110
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
520
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
910
Leading Effective Engineering Teams in the AI Era
addyosmani
7
460
AI Agent 時代的開發者生存指南
eddie
3
1.8k
CSC305 Lecture 06
javiergs
PRO
0
250
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
230
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
250
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
How STYLIGHT went responsive
nonsquared
100
5.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Side Projects
sachag
455
43k
The Language of Interfaces
destraynor
162
25k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Building Applications with DynamoDB
mza
96
6.7k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Building an army of robots
kneath
306
46k
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