0

我试图弄清楚如何区分用户之间的詹金斯构建。我的主要用例是一个用户想要在他的 SVN 分支上构建和运行我们的测试作业。

由于我有很多用户,我希望这些作业具有某种“标签”来识别用户和分支,并防止作业之间发生冲突,因为如果它们具有相同的名称,它们将使用相同的工作区目录,这将删除其他用户工作。

我能找到的唯一方法是以编程方式复制作业并更改它们的属性(例如名称和分支)。

因此,如果您想保持我的工作井井有条,我希望能够在视图中组织用户工作,并且我正在使用嵌套视图插件,但所有 Jenkins API 只显示创建一个简单视图,我想使用嵌套视图看法。所以我想的是复制一个“模板视图”并改变它的属性。

有没有办法通过 REST API 或 python(首选)来做到这一点?

谢谢!

4

2 回答 2

1

我建议使用Build User Vars Plugin以透明地提供用户特定的变量以供以后使用。这个插件提供了几个变量:

在此处输入图像描述

模板项目插件可用于定义与实际构建过程有关的所有必需配置的作业。有了它,您可以按照 %UserName-JobName% 模式创建多个“包装器”作业,因此拥有不同的视图将是一项非常容易的任务,配置为仅显示特定用户的作业。包装器作业应该只执行上层模板作业(使用上层构建器)。

在此处输入图像描述

另请考虑Hudson Personal View Plugin

于 2012-11-11T22:54:39.873 回答
0

创建一个以 SVN 路径作为参数的参数化构建。在 SVN 配置中,将 URL 设置为 $。为了防止工作空间被清除,请将项目配置为在每次运行后归档构建。如果您希望您的用户能够同时运行构建,Jenkins 将创建多个工作区并将它们分开。您可以使用Build Name Setter 插件使用 SVN 路径或其他参数标记每个构建。

于 2012-11-08T19:39:53.710 回答