2010-12-08 6 views
0

私はyyyyMMdd-HHmmを使って自動的に生成されるカスタムワークスペースパスにハドソンジョブを構築しようとしています。 $BUILD_ID変数がbug 3997に記載されているように展開されていて、正常に動作しているようです。ただし、ワークスペースのパスは、形式がyyyy-MM-dd_HH-mm-ssであるため正しくありません。私は$BUILD_IDを変更するZenTimestampプラグインv2.0.1を使用しようとしましたが、これは作業領域が作成された後にのみ有効です。ハドソンのカスタムワークスペースパスを動的に生成する

カスタムワークスペースを必要な方法で定義する方法はありますか?

+0

最初にカスタムワークスペースが必要なのはなぜですか? – Bernard

+0

ビルドアーキテクチャの副作用です。今私はデフォルトのワークスペースを構築し、yyyyMMdd-HHmmという名前のフォルダにコピーします。私はコピーをする必要がないため、ビルド時間を短縮しようとしています。 –

答えて

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);