多个作业的相同工作空间

时间:2014-02-03 05:41:03

标签: jenkins jenkins-plugins jenkins-cli

我有一个名为“开发”的工作和另一个名为“代码分析”的项目。目前我们有两个不同的工作和不同的工作空间,但代码相同;我们有什么方法可以使用相同的工作空间进行多个工作吗?我检查了Jenkins中可用的插件,但我找不到合适的插件。

4 个答案:

答案 0 :(得分:73)

假设您的开发Jenkins作业工作区为/var/workspace/job1。在code analysis作业配置页面的Advanced Project Options标签下,点击Advanced并选择Use custom workspace选项,并在开发作业时提供相同的工作区/var/workspace/job1

答案 1 :(得分:4)

有一个Jenkins插件可以让你创建一个共享工作区,在需要来自该给定存储库的文件的每个作业上设置它们。

使用案例

与您的需求类似,首先从同一个Git存储库创建两个作业,然后转到“管理Jenkins”并创建共享工作区。并指出,你需要从这些文件中读取每一份工作。

Jenkins插件

https://wiki.jenkins-ci.org/display/JENKINS/Shared+workspace+plugin#

PS:您应该研究“已知问题”可能会成为您需要的交易障碍。

  

有时候,在新复制的作业中,共享空间url参数在第一次“保存”时没有保存到配置,你应该保存两次以确保作业。

^^这一个仍然未解决,我尝试过但仍然发生。经过几次保存(只是为了确定),这项工作完美无缺。

答案 2 :(得分:3)

如果您无法找到Use custom workspace,则可以在项目configure>General>Advanced>Use custom workspace

下找到它

答案 3 :(得分:0)

我尝试了继承插件,哇!当我只有一个指甲时,那东西就是大锤。

我最终添加了“在其他项目上触发参数化的构建”和“在同一节点上构建”和“预定义参数”的构建后操作。下游作业需要具有定义的相同名称的参数(WORKSPACE_PARENT),但是可以将其保留为空白。然后,使用自定义工作区(在“常规”>“高级”下)定义下游作业

我选择了构建后操作,因为构建作业的实际成功与下游构建的结果(目前)无关。如果要将下游作业的结果提高到父作业,则需要将其添加为构建任务,而不是后构建操作。

它非常适合我的需求。

父项的构建后任务: Parent's post-build task

孩子的自定义工作空间: Child's custom workspace