Build 动态生成Hudson自定义工作空间路径

Build 动态生成Hudson自定义工作空间路径,build,hudson,Build,Hudson,我正在尝试获取一个Hudson作业,以在自定义工作区路径中生成,该路径是使用yyyyMMdd HHmm自动生成的。我可以像中提到的那样扩展$BUILD\u ID变量,这似乎很好。但是,工作区路径不正确,因为其格式为yyyy-MM-dd\u HH-MM-ss。我尝试使用ZenTimestamp插件v2.0.1,它更改了$BUILD\u ID,但这似乎只有在创建工作区后才生效 有没有一种方法可以按照我想要的方式定义自定义工作区?您可以使用groovy脚本来实现这一点 import hudson.mo

我正在尝试获取一个Hudson作业,以在自定义工作区路径中生成,该路径是使用
yyyyMMdd HHmm
自动生成的。我可以像中提到的那样扩展
$BUILD\u ID
变量,这似乎很好。但是,工作区路径不正确,因为其格式为
yyyy-MM-dd\u HH-MM-ss
。我尝试使用ZenTimestamp插件v2.0.1,它更改了
$BUILD\u ID
,但这似乎只有在创建工作区后才生效


有没有一种方法可以按照我想要的方式定义自定义工作区?

您可以使用groovy脚本来实现这一点

import hudson.model.*;
import hudson.util.*;
import java.util.*;
import java.text.*;
import java.io.*;

//Part 1 : Recover build parameter
AbstractBuild currentBuild = (AbstractBuild) Thread.currentThread().executable;
def envVars= currentBuild.properties.get("envVars");
def branchName = envVars["BRANCH_NAME"];

//Part 2 : Define new workspace Path
def newWorkspace = "C:\\Build\\"+branchName;

//Part 3 : Change current build workspace
def newWorspaceFilePath = new FilePath(new File(newWorkspace));
currentBuild.setWorkspace(newWorspaceFilePath);

为什么您首先需要一个自定义工作区?这是我们构建架构的一个副作用。现在,我在默认工作区中构建,然后复制到名为yyyyMMdd HHmm的文件夹中。我试图通过不做拷贝来缩短一些构建时间。