当前位置:网站首页>Use Gerrit + Zadig to realize trunk development and trunk publishing (including byte flying Book Practice)
Use Gerrit + Zadig to realize trunk development and trunk publishing (including byte flying Book Practice)
2022-06-29 13:30:00 【InfoQ】
- The main development , Trunk release
- The main development , Branch release
- Branch Development , Trunk release
- GitFlow
- ...
What is backbone development 、 Trunk release

- Branch management is simple
- It's easy to develop , It's easy to operate , It's not easy to make mistakes.
- Fewer code merge conflicts
- Suitable for high frequency delivery
- The trunk and branch can be released at any time , Development self-test stage /CR The process / The verification process of trunk and branch needs to be strictly controlled
- Undeveloped function code , It cannot be brought into the version to be released or realize the function switch , Hide unfinished functions
Detailed explanation of teamwork process

Flying book based on Zadig The practical process of

- Submit code changes: Modify the code , Submit MR , Generate change-id
- Manual review: add to / Notify the code reviewer ; The reviewer can multiple times submit review , Through one transection Submit , Pass the review , Can give a score -2 To 2;
- Machine review :Non blocking automatic trigger Zadig Workflow execution validation : structure -> Deploy -> test ;
- Backbone feedback :After the workflow runs, it will send IM notice , And implement Gerrit Scoring and verification results score +1-1
- Based on the backbone release online
- Development ASubmit an update service-a Of PR1, Automatic triggering Zadig workflow -> structure service-a -> to update ENV1 Of service-a -> in the light of ENV1 Execute test script
- Development BSubmit an update service-b Of PR2, Automatic triggering Zadig workflow -> structure service-b -> to update ENV2 Of service-b -> in the light of ENV2 Execute test script
- PR1、PR2 Merge Master After that, the workflow is triggered respectively -> structure service-a、 structure service-b -> Update all environments , Ensure consistency of all environments and backbone .
Demo Demonstration practice
- The basic construction process of the project
- More configurations create multiple environments on demand , Specific referenceConfigure multiple environments | Zadig fileWorkflow configuration Webhook trigger :Load balancing of the environment | Zadig fileWorkflow configuration IM notice :workflow | Zadig fileMultiple services share and build :structure | Zadig file
Daily R & D and use process
Development Engineer
- Code submission and automatic verification : Submission code -> stay Gerrit To create a Change -> Automatic triggering Zadig Execution of workflow ( structure -> Dynamically select idle environment for deployment -> automated testing )


- Manual code review :Reviewer Use Gerrit As a code review tool and score , Judge whether the code can be merged according to the scoring results
Test Development Engineer
- stay Zadig Configure management test scripts on :test | Zadig file
- Verify the new features for the updated environment , Add test cases for new functions
Release Engineer
- Version release based on the verified code of the trunk
- After publishing, execute the workflow to keep the service version in all environments consistent with the trunk
project / Enterprise managers
边栏推荐
- Mirror vulnerability scanner: trivy
- Summary of common MySQL statements and commands
- Evaluation of powerful and excellent document management software: image management, book management and document management
- C语言内存函数
- Memorized Function
- C语言字符函数
- Cvpr2022 | reexamine pooling: your receptive field is not the best
- QT signal and slot
- STK_ Gltf model
- Simple introduction to matlab
猜你喜欢

Cvpr2022 | reexamine pooling: your receptive field is not the best

维修记录导出的excel表格太大怎么办?

Application Service Vulnerability scanning and exploitation of network security skills competition in secondary vocational schools (SSH private key disclosure)

Exploring the way of automated testing - Preparation

cnpm报错‘cnpm‘不是内部或外部命令,也不是可运行的程序或批处理文件

CVPR2022 | 长期行动预期的Future Transformer

Comparison table of LR and Cr button batteries

3个最佳实践助力企业改善供应链安全

CVPR2022 | 重新审视池化:你的感受野不是最理想的

Repoptimizer: it's actually repvgg2
随机推荐
leetcode 第 299场周赛
Leetcode 179 Maximum number (2022.06.28)
Mirror vulnerability scanner: trivy
Equidistant segmentation of surface rivers in ArcGIS [gradient coloring, pollutant diffusion]
MySQL常用语句和命令汇总
Schiederwerk Power Supply repair smps12 / 50 pfc3800 Analysis
AcWing 234 放弃测试
【毕业季】这四年一路走来都很值得——老学长の忠告
Hystrix断路器
请问老师炒期货怎么设定安全线和安全边际?
leetcode 903. DI 序列的有效排列
How to set the safety line and safety margin for futures trading?
MySQL tuning
PyGame flips the image
The role of each part of Neural Network & thoroughly understand neural network
C language character function
Ordinary users use vscode to log in to SSH and edit the root file
Cvpr2022 | knowledge distillation through target aware transformer
AcWing第57场周赛
商品搜索引擎—推荐系统设计