在Jenkins中查看并发工作区

时间:2015-07-02 16:19:41

标签: jenkins concurrency

我正在同时运行同一作业的多个实例,并创建多个工作区。但是,我只能"查看"来自Jenkins网络界面的一个工作区。

示例:让我们说工作名称是jenkinsJob。同时运行它会创建工作空间" jenkinsJob"," jenkinsJob @ 2"等等。 Jenkins网页界面只显示" jenkinsJob"仅在作业级别的工作空间。更多," jenkinsJob"工作空间仅显示最后完成的实例的文件。所以,如果" jenkinsJob @ 2"在并发执行中最后完成," jenkinsJob"将显示" jenkinsJob @ 2"。

的文件

有人可以告诉我如何能够"查看" Jenkins界面上的所有并发工作空间?

5 个答案:

答案 0 :(得分:2)

我没有为此找到任何可用的插件,但您可以在作业的工作区中使用子文件夹。

  1. 为每个版本设置一个自定义工作区:
  2. enter image description here

    1. 使用“执行Windows批处理命令”构建步骤,其中包含以下内容:

      1. %WORKSPACE%目录
      2. 下创建%BUILD_NUMBER%文件夹
      3. 将项目文件复制到%BUILD_NUMBER%目录
      4. 转到%ANT_HOME%/bin/ant {ant_target_list} 目录
      5. 使用ant构建项目:

        input <- c("117-118"
        "117-118",
        "117-122",
        "122-128",
        "123",
        "118-124",
        "118-124",
        "118-124",
        "123-128",
        "91-101")
        
    2. 探索作业工作区中每个构建的结果:

    3. enter image description here

      注意:

      • 并发构建仍然是安全的,因为它们在不同的文件夹中执行
      • 您需要定期清理工作区

答案 1 :(得分:2)

I added a post-build action in my Jenkins job "jenkinsJob". This action copies the workspace of the job to the parent caller job.

# Store all the children workspace files in the parent job's workspace
mkdir /srv/jenkins/workspace/parentJenkinsJob/${BUILD_NUMBER}
cp -ar * /srv/jenkins/workspace/parentJenkinsJob/${BUILD_NUMBER}

This way multiple workspace folders are created under the parent job, and are accessible from the Jenkins webpage.

答案 2 :(得分:1)

您可以在最后添加一个执行批处理命令步骤,并创建一个单独的目录并将当前构建的文件复制到其中。您可以使用诸如Workspace_Build_BuldNumber之类的命名约定,以便所有工作空间都具有唯一编号。

答案 3 :(得分:0)

我认为this post can help you。构建Multi-configuration项目(Matrix构建)。

答案 4 :(得分:0)

最后使用执行Windows批处理命令步骤。 放置此命令,以便将工作区的内容移动到另一个名为Workspace_BUILD_NUMER的文件夹。

dir-paginate="item in inventory | orderFilter: filterMainKeyword | orderBy:getMainInventoryOrderByAttribute():getMainInventorySortOrder() | itemsPerPage: 10"