2010-12-08 81 views
0

J'essaie d'obtenir un travail Hudson pour être généré dans un chemin d'accès personnalisé généré automatiquement à l'aide de yyyyMMdd-HHmm. Je peux obtenir la variable $BUILD_ID élargie comme mentionné dans bug 3997, et cela semble fonctionner correctement. Toutefois, le chemin de l'espace de travail est incorrect car il est au format yyyy-MM-dd_HH-mm-ss. J'ai essayé d'utiliser le plugin ZenTimestamp v2.0.1, qui change le $BUILD_ID, mais cela ne semble prendre effet qu'après la création de l'espace de travail.Générer dynamiquement le chemin d'accès de l'espace de travail personnalisé Hudson

Existe-t-il une méthode pour définir un espace de travail personnalisé comme je le souhaite?

+0

Pourquoi avez-vous besoin d'un espace de travail personnalisé en premier lieu? – Bernard

+0

C'est un effet secondaire de notre architecture de construction. En ce moment, je construis dans l'espace de travail par défaut, puis copiez dans un dossier nommé aaaaMMdj-HHmm. J'essaie de réduire les temps de construction en n'ayant pas à faire la copie. –

Répondre

1

Vous pouvez utiliser un script groovy pour y parvenir.

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