4

我已经使用多配置项目选项在 Jenkins 中配置了一个作业。我能够成功构建用户定义的轴目标,但发现 Jenkins 首先开始在工作区文件夹中签出(实际上并没有使用)并在工作区/目标文件夹中签出相同的内容,在该文件夹中为该目标构建实际执行。

因此,当触发构建时,Jenkins 首先将给定的 URL 检出到 workspace/,然后再检出到 workspace/target/ 等。

实际步骤:

1. checkout to workspace
2. checkout to workspace/target/<target1>
3. checkout to workspace/target/<target2>

预期步骤:

1. checkout to workspace/target/<target1>
2. checkout to workspace/target/<target2>

我怎样才能防止詹金斯进行第一次结帐而只做相关的结帐?

甚至更好的是,我的构建允许在一次结帐中完成所有操作。我可以这样做吗?

4

2 回答 2

6

问题是 Jenkins 使用了一个父作业,它为每个目标生成作业。不幸的是,它还对作业工作区进行了结帐。

如果您在不同的从机/机器上运行这些特定于目标的作业,您可以将目标检出目录设置为与父工作区目录相同。如此有效地共享该节点上的工作空间,而不是复制它。

在“高级项目选项”部分中,单击“高级”按钮以展开该部分。选中使用自定义工作区并使用“。” 用于子构建目录。如果未指定,则默认为类似/target/<target1>

Now instead of checking out to workspace/target/<target1> it will only checkout to workspace/ on the different targets.

于 2014-01-09T12:12:18.543 回答
0

Workaorund:使用将轮询 SVN 的触发器作业,进行结帐,并通过Parameterized Trigger Plugin开始您的主要作业。

于 2012-05-09T14:40:29.177 回答