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

时间:2010-12-08 16:59:47

标签: build hudson

我正在尝试将Hudson作业构建在使用yyyyMMdd-HHmm自动生成的自定义工作区路径中。我可以像bug 3997中提到的那样扩展$BUILD_ID变量,这似乎工作正常。但是,工作空间路径不正确,因为它的格式为yyyy-MM-dd_HH-mm-ss。我尝试使用ZenTimestamp插件v2.0.1,它更改$BUILD_ID,但这似乎只在创建工作区后生效。

是否有以我想要的方式定义自定义工作区的方法?

1 个答案:

答案 0 :(得分:1)

您可以使用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);