所以这里是 Subversion、Jenkins、Beanstalk 设置:
- trunk/ -> 开发主线
- CI 建立在签到之上
- 成功的 CI 构建产生 CD 构建,该构建推送到“测试”Beanstalk 环境
- 分支/qa/ -> 当前候选版本
- CI 建立在签到之上
- 成功的 CI 构建产生 CD 构建,该构建推送到“QA”Beanstalk 环境
- 分支/产品/ -> 当前版本
- CI 建立在签到之上
- 成功的 CI 构建会产生 CD 构建,该构建会推送到“Prod”Beanstalk 环境
基本上我想做的是:
- 开发周期从主干开始(主干:0.1-SNAPSHOT)
- 当开发周期完成时,分支到 qa 并成为 qa 周期。同时在主干中开始下一个开发周期(主干 0.2-SNAPSHOT,qa:0.1-SNAPSHOT)
- 当 qa 周期完成时,分支到 prod 并执行 maven 发布。也开始下一个 qa 周期(主干 0.2-SNAPSHOT,qa:0.2-SNAPSHOT,prod:0.1)
想法是进行短冲刺,在每个冲刺结束时,开发周期结束,质量保证周期开始。当 qa 周期完成时,它会被推送到生产环境。
我想保留分支并从分支合并到\而不是删除并重新创建。这个想法是在 qa 中所做的任何修复都将合并回 intro trunk,并且在 prod 中所做的任何更改都将合并回 qa(并返回到主干)。
prod 因此是一个“热”分支,代表生产环境的当前状态。
这是为一小群从事为期一周的冲刺的开发人员准备的。
问题:
- 这个设置听起来如何?
- 我可以让 maven 正确行事,还是需要编写脚本?
- 谁是你爸爸?他是做什么的?