Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save otw1248/3cea8c8c73e63b76c4d30fac7f7c97c3 to your computer and use it in GitHub Desktop.
Save otw1248/3cea8c8c73e63b76c4d30fac7f7c97c3 to your computer and use it in GitHub Desktop.
devops
Add switches for new changes for continuous development of a project 在持续开发的项目中建议给新的变更添加开关
在上线前客户突然通知暂时不上线已经开发完成的某个模块;由于第三方的原因,某个功能模块无法集成或者正常工作;某个模块还在商务协商中。。。
There are many cases that one or few modules can't be released, such as the customer won't wanna one module to be released; the module is not working as the third party; the biz activities on a module is still going on...
像乐高一样构建系统,添加开关来控制模块的部署
Building the system like a lego, easily to deploy them by switch to control.
下面列举一些关于怎么实现的建议及细节.
Here shows few tips on how to do that.
1. 规划好什么时候添加开关和什么时候删除开关,以及这样做的触发条件。
Plan on when to add and remove the switchs and how to trigger these.
2. 架构、设计和实现时做好模块切割。
Keep modules independent when architect, design, implment.
3. 数据库表的修改:允许新添加列,允许修改增加列的长度或类型;禁止删除列;禁止减小列的长度;
When modifying a table's schema, allow to add a new column, allow to increase the length of column or enlarge the column max value; prevent to remove a column and reduce the length
4. 如何跟踪和管理模块:给每个模块或者需求设定一个编号;在后续的所有代码/数据库的修改中都使用这个编号来标记。
How to track and manage the module? Setting up an ID for the module or new requirement, mark this for all the following operations, such as submit the source code, new issue tickets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment