Как установить BuildNumber описательного конвейера jenkins из службы? - PullRequest
1 голос
/ 27 марта 2019

Я пытался сделать это: https://www.quernus.co.uk/2016/08/12/global-build-numbers-in-jenkins-multibranch-pipeline-builds/, чтобы получить уникальный номер сборки по всем ветвям.

//...
stages {        
    stage('Initialization started'){
        steps{
            env.BUILD_ID = 'http://Energy-JobSrv2.vm.dom/api/buildnumber'.ToURL().text
            currentBuild.displayName = "#" + env.BUILD_ID
            echo "Job parameters:\n\t- ROOT_FOLDER: ${params.ROOT_FOLDER}\n\t- Build X86: ${params.buildX86}\n\t- Build X64: ${params.buildX64}\n\t- Commit Version changes: ${params.commitVersionChanges}\n\t- Setup Version: ${params.version}.${env.BUILD_NUMBER}\n\t- Setup Configuration: ${params.setupConfiguration}\nCurrent repository: ${workspace}"                 
        }
    }
    //...
}
//...

Но я думаю, что это не сделано для описательных файлов конвейера Jenkins, потому что, когда я пытаюсь запустить его, я получаю это:

[Bitbucket] Build result notified
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 17: Expected a step @ line 17, column 5.
                env.BUILD_ID = 'http://Energy-JobSrv2.vm.dom/api/buildnumber'.ToURL().text
       ^

WorkflowScript: 18: Expected a step @ line 18, column 5.
                currentBuild.displayName = "#" + env.BUILD_ID

Что эквивалентно описательным файлам конвейера Jenkins?

1 Ответ

2 голосов
/ 27 марта 2019

Вы должны инкапсулировать ваши команды с помощью script:

//...
stages {        
    stage('Initialization started'){
        steps{
            script{
                env.BUILD_ID = 'http://Energy-JobSrv2.vm.dom/api/buildnumber'.ToURL().text
                currentBuild.displayName = "#" + env.BUILD_ID
            }
            echo "Job parameters:\n\t- ROOT_FOLDER: ${params.ROOT_FOLDER}\n\t- Build X86: ${params.buildX86}\n\t- Build X64: ${params.buildX64}\n\t- Commit Version changes: ${params.commitVersionChanges}\n\t- Setup Version: ${params.version}.${env.BUILD_NUMBER}\n\t- Setup Configuration: ${params.setupConfiguration}\nCurrent repository: ${workspace}"                 
        }
    }
    //...
}
//...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...