【问题标题】:Jenkins: Copying views and adding jobs to viewJenkins:复制视图并将作业添加到视图
【发布时间】:2012-11-12 18:26:58
【问题描述】:

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

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

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

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

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

谢谢!

【问题讨论】:

  • 关于“我能找到的唯一方法是以编程方式复制作业并更改其属性”的评论——svnmerge plugin 可能会使这更容易。

标签: python svn jenkins jenkins-plugins


【解决方案1】:

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

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

也请考虑Hudson Personal View Plugin

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多