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
160
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
34
Lazy List With Generator and Iterator
nodew
1
530
ddd.pdf
nodew
0
180
An Introduction to Haskell
nodew
2
67
es6 proxy overview
nodew
1
46
Other Decks in Programming
See All in Programming
PHP 8.3で追加されたjson_validate()を徹底的に深掘りしてみよう
mashirou1234
1
720
ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Model Design
suzushin54
1
1.4k
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
4
870
TCA魔法学入門🪄
dazy
0
280
実践!RDRAを活用した既存システムの仕様変更 / Specification Changes in Existing Systems Utilizing RDRA
imamotohikaru
0
2.5k
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
110
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
330
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
2
540
15分間でふんわり理解するDocker @ Matsuriba MAX
ukwhatn
PRO
1
340
DocC Tutorial と TCA におけるテスト機能の紹介
kalupas226
1
330
Creating Retro-Style Photos Using Swift
ski
1
340
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
How STYLIGHT went responsive
nonsquared
92
4.7k
GraphQLの誤解/rethinking-graphql
sonatard
48
9.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
242
20k
A designer walks into a library…
pauljervisheath
199
23k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
Large-scale JavaScript Application Architecture
addyosmani
501
110k
Scaling GitHub
holman
456
140k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
Git: the NoSQL Database
bkeepers
PRO
421
63k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
How to Ace a Technical Interview
jacobian
272
22k
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