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
220
0
Share
fastbuild-前端资源打包平台架构与设计及其他
Joe Wang
March 25, 2019
More Decks by Joe Wang
See All by Joe Wang
An Introduction to Reactive Programming based on RxJS
nodew
0
58
Lazy List With Generator and Iterator
nodew
1
750
ddd.pdf
nodew
0
220
An Introduction to Haskell
nodew
2
94
es6 proxy overview
nodew
1
74
Other Decks in Programming
See All in Programming
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.3k
New "Type" system on PicoRuby
pocke
1
400
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.5k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
560
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
320
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
130
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
4.9k
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1k
初めてのRubyKaigiはこう見えた
jellyfish700
0
380
AIエージェントの隔離技術の徹底比較
kawayu
0
450
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
510
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
50k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Leo the Paperboy
mayatellez
7
1.8k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
520
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
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