1

我们有一大堆产品要构建(20+),每个产品都构建在 3 个平台上,现在我要求每个产品都有 3 种不同类型的构建 - 1)每当 SCM 发生变化时。不要清除工作区,做一部分单元测试。2) 每晚午夜。首先清除工作区,进行所有单元测试。3) 发布候选,手动触发。用版本号标记 SCM 中的文件,清除工作区,进行所有单元测试,将所有 3 个平台的输出收集到一个存档中。

我已经为在 3 个平台上构建产品的每个产品创建了一个多配置“矩阵”作业,但现在我不确定包含 3 种构建类型的最佳方式 - 我宁愿不创建每个工作 3 个副本,这对我来说听起来像是一场维护噩梦。

关于最不愉快的方法的建议?

谢谢,克里斯

4

3 回答 3

0

很好地将要求分开...

你有不同的构建......因为它们将完全不同,不同的代码,不同的平台或更大的东西。

你有参数化的构建......这些将构建在具有不同参数的相同代码库上

你有不同的触发器......即。计时器或签到。

您必须为不同的构建制作单独的工作,
您可以为参数化构建制作不同的工作......
对于触发器,每个工作都可以有多个触发器......
所以您为不同的触发器制作单独构建的原因是什么就像如果您有一组长时间运行的测试,您只想每晚测试而不是每次签到

对于参数,它们可以在每次手动作业启动时填写,或者可能批处理到导入的文件中……您可以构建尽可能多的配置管理,这是一个非常灵活的工具。

于 2013-10-05T02:41:52.813 回答
0

不确定这些作业中的实际构建部分对您来说有多复杂。但是,我会创造 3 个工作岗位,因为它们有很大的不同。

但是,job2 似乎是 job3 的子集。因此,您可能能够解决 job3 触发 job2 并且仅执行 prebuild 和 postbuild 工作的问题。我现在没有将 job1 和 2 结合起来的好主意。

于 2013-10-04T20:39:01.267 回答
0

第 1 项可以作为单独的作业或批处理任务来完成。在作业的高级功能中,您可以让作业 2 使用作业一的工作空间。对于 Maven 作业,它可以在 Build -> Checkbox for Use Custom Workspace 中进行配置。免费的工作在“高级项目选项”下

3 号可以使用 3 或 4 个不同的插件(Subversion 标记插件、带有 Artifactory Pro 的 Artifactory 插件、Promoted Builds、Release 插件)来完成

于 2013-10-05T02:21:00.913 回答