2015-06-19 39 views
0

我想通過「構建」命令觸發的其他任務中的工作流任務中使用工作區。 由於我希望能夠使用不同的工作空間從各種工作流中觸發這些作業,因此我需要使其具有靈活性,這就是爲什麼我無法提供硬編碼的工作空間路徑。共享帶工作流腳本觸發的作業的工作區

下面是一些代碼:

node { 

    git branch: branchName, credentialsId: '1337', url: 'https://i-didnt-provide-this.but-this-is-working.git' 

    def buildType = 'xxx' 
    def buildFlavor = 'yyy' 
    def hockeyAppId = 'zzz' 

    def buildTypeParam = new hudson.model.StringParameterValue('buildType', buildType) 
    def buildFlavorParam = new hudson.model.StringParameterValue('buildFlavor', buildFlavor) 
    def hockeyAppIdParam = new hudson.model.StringParameterValue('hockeyAppId', hockeyAppId) 
    def outputApkFilenameParam = new hudson.model.StringParameterValue('fileName', '*-{buildFlavor}-{buildType}.apk') 
    def proguardMappingParam = new hudson.model.StringParameterValue('mappingFile', '{buildFlavor}/{buildType}/mapping.txt') 

    build job: 'android_compile', parameters: [buildTypeParam, buildFlavorParam] //This needs the same workspace 
    build job: 'android_lint', parameters: [buildTypeParam, buildFlavorParam] //same here 
    build job: 'android_upload_hockey', parameters: [hockeyAppIdParam, outputApkFilenameParam, proguardMappingParam] //and here 
} 

感謝您的幫助提前

回答

0

而不是試圖共享工作空間,這將無法正常工作,您archive從下游的工作需要的任何文件。然後他們可以使用Copy Artifact插件訪問這些文件。

在這種情況下,如果您只想在下游作業中籤出相同的Git修訂版本,請確定其提交散列並將其作爲參數傳遞給下游構建版本。 JENKINS-26100會使您免於手動運行git rev-parse HEAD等。