Version control 在常春藤推广几个模块(集成->;里程碑)
Ivy非常适合管理依赖关系,但它并不意味着要跨多个模块处理整个软件生命周期。这就是说,它确实有几个似乎支持它的特性(例如),并且暗指能够“通过一些工作”促进对里程碑或发行版的集成修订 不幸的是,我还没有找到关于如何管理dev->test->deploy周期的明确指导。以下是我想要实现的一些目标: (假设开发人员通常在本地工作区中跨多个模块工作)Version control 在常春藤推广几个模块(集成->;里程碑),version-control,deployment,ant,ivy,Version Control,Deployment,Ant,Ivy,Ivy非常适合管理依赖关系,但它并不意味着要跨多个模块处理整个软件生命周期。这就是说,它确实有几个似乎支持它的特性(例如),并且暗指能够“通过一些工作”促进对里程碑或发行版的集成修订 不幸的是,我还没有找到关于如何管理dev->test->deploy周期的明确指导。以下是我想要实现的一些目标: (假设开发人员通常在本地工作区中跨多个模块工作) 开发人员可以在本地发布对模块的更改,以便工作区中的其他模块可以获得更新的工件 开发人员可以使用一个命令将一个版本指定为“准备部署测试” 测试仪可以通过一
- 修订版
应用于表示该修订版是否仅用于开发、是否已准备好进行测试或是否已准备好进行生产状态
属性应足以处理不同的项目分支branch
发布e-1.0-RC1
发布,作为依赖项引用d-1.1-RC2
e-1.0-RC1
发布,作为依赖项引用c-2.0-RC1
d-1.1-RC2
发布,作为依赖项引用b-3.3-RC1
e-1.0-RC1
- 最后,
被发布,作为依赖项引用a-7.1-RC2
和c-2.0-RC1
b-3.3-RC1
如果我试着用我自己的方法来解决这个问题,我可能会做一些工作区管理,ivy.xml查找和替换,等等。在我打开那罐蠕虫之前,我想听听一些意见。解决这个问题的最佳方法是什么?您可以使用递归交付以更高的状态发布模块及其依赖项 以您的例子:
以集成状态发布e-1.0-RC1
以集成状态发布,作为依赖项引用d-1.1-RC2
e-1.0-RC1
以集成状态发布,作为依赖项引用c-2.0-RC1
d-1.1-RC2
以集成状态发布,作为依赖项引用b-3.3-RC1
e-1.0-RC1
以集成状态发布,引用a-7.1-RC2
和c-2.0-RC1
作为依赖项b-3.3-RC1
- 最后,您决定将
提升为a-7.1-RC2
状态,因此您将执行重复交付()。这将递归调用状态低于里程碑
的每个依赖项的里程碑
,并以交付目标
状态发布它里程碑
a
。这也意味着创建部署管道和使用CI服务器更容易:
- 对
运行单元测试a
- 构建
a
- 将
发布为a
integration
- 将
部署到系统测试环境a
- 运行一些系统测试
- 将
从a
提升到integration
(提升其依赖性)millestone
- 将
部署到验收测试环境a
- 运行一些验收测试
- 将
从a
升级到milestone
(这将提升其依赖性)release
- 将
部署到生产(或上传到下载站点)a
我已将此答案标记为社区wiki。还有谁愿意进一步阐述或纠正我的错误吗?你是怎么做的
- 将里程碑升级到发行版(这将提升其依赖性)