开发团队对工具有特定的要求。[我有] [阅读] [很多] [关于] [理想] [工作流程]并想出了一些像这样工作的东西:
- 开发人员在Jira中创建更改请求、修补程序、功能等。将沿着工作流程跟踪该唯一项目 ID。
- 开发人员从Git中提取 repo ,创建一个
feature-a
分支,在本地提交更改并推送到远程 git repo。禁止推送。master
- Git 钩子触发一个运行冒烟测试(编译和单元测试)的Jenkins作业。如果测试通过,则在Crucible中创建一个修订版。
- 除非代码审查委员会批准更改,否则我们必须从步骤 (1) 开始。Crucible触发Jenkins工作。
- 詹金斯自动合并到
master
. 如果失败,则需要手动合并并返回步骤 (2)。检查步骤 (4) 可能会被绕过。 - Jenkins开始 QA 测试(集成测试、静态分析、系统测试、IP 扫描等)。
- 看门人(或高级开发人员)促进发布候选的特定提交。
Jenkins 有很多插件,但没有什么是开箱即用的。我需要开发许多连接器(Jenkins-Crucible、Jenkins-Git 用于自动合并)。更换工具不是一种选择。
如何简化工作流程?