【发布时间】:2014-12-03 14:52:43
【问题描述】:
我正在尝试使用 jenkins 以及任何其他(最好是免费的)解决方案来实现功能发布周期,以管理用不同技术编写的多个组件的构建,这些组件可以单独编译和发布,以生成输出项目.
现在我们有一系列不同的组件,每个组件都定义为一个 Jenkins Job,它生成该组件所需的所有文件。这些组件是用不同的技术编写的,包括 Maven 项目、BPMS 和 .NET 项目。
对于给定的版本,我们需要构建将要部署的每个组件,手动标记构建,然后将它们放在一起并部署。这意味着在每次部署中,我们需要手动处理和记住发布中涉及的组件以及每个组件的版本,这可能会导致忘记包含给定组件。
我正在寻找某种软件或插件组合,让我能够:
- 将项目定义为由许多不同的组件和(可选)配置文件定义的。
- 让 Jenkins 构建每个组件,同时保持单独构建每个组件的能力。这意味着在作业上触发构建不会覆盖发布的结果。
- 在构建项目标记后,SVN 中涉及的每个组件都将构建每个组件的结果,并在特定于该构建的单个位置进行构建。
例如,现在我可能有三个组件/詹金作业称为:
- 组件 1
- 组件 2
- 组件 3
并且我希望能够将给定项目定义为:
- 项目 1
- 组件 1
- 组件 2
- ConfigFile.xxx
这样当我使用参数构建 Project1 时:myEnvironment:
- 组件 1 和组件 2 正在构建
- 组件的输出被输出到某些 myEnvironment/Component1 和 myEnvironment/Component2
- ConfigFile.xxx 被复制到文件夹/
- 用于构建的所有文件都被标记
理想情况下,将有一种简单的方法来可视化所有涉及的组件的依赖关系树。也就是说,很容易知道Project 1是由Component1和Component2组成的。
有什么建议吗?
【问题讨论】:
标签: svn jenkins build release-management