TBD & Monorepo: Integrate with Lerna and Yarn workspace

@JimmyLv 2017-09-22 09:49:32发表于 JimmyLv/jimmylv.github.io


⓵ 定义目标和原则

⓶ 展望结果(OKRs)

⓷ 头脑风暴(发散)

⓸ 组织整理(收敛)

⓹ 明确「下一步行动」

  • before monorepo(setup)
  • lerna usage
  • lerna run & exec
  • yarn workspace






Topic: Monorepo


  • Overhead of dependency upgrade
  • Versioning management not easy cross repos

When the application gets more complex, dependencies become hard to manage and bring overhead in development. Mono-repo is to solve this issue by bring them together in one repo, so that we can working on one repo without manage dependencies in different places. We'd like to share with you what changes we made in O$P to make our frontend development easier and the problems we've solved.

Topic: Trunk Based Development


  • Long release cycle
  • Long review cycle
  • Maintain too many branches

Solution & Benefits:
Trunk-Based Development is a source-control branching model, where developers collaborate on code in a single branch called ‘trunk’, resist any pressure to create other long-lived development branches. Trunk-Based Development is a key enabler of Continuous Integration and by extension Continuous Delivery. When individuals on a team are committing their changes to the trunk multiple times a day it becomes easy to satisfy the core requirement of Continuous Integration that all team members commit to trunk at least once every 24 hours. This ensures the codebase is always releasable on demand and helps to make Continuous Delivery a reality.