[英]How to use groovy constant from Shared Libray in Jenkins file (pipeline)?
I want use grrovy constant from Shared Libray in my Jenkins pipeline.我想在我的 Jenkins 管道中使用来自 Shared Libray 的 grrovy 常量。 I try this but I have this error:
我试试这个,但我有这个错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 27: Not a valid stage section definition: "def paramChecker = ParameterChecker.new(this)". Some extra configuration is required. @ line 27, column 9. stage('Checkout') {
def libIdentifier = "project-jenkins-pipeline"
def libGitBranch = params.LIB_GIT_BRANCH
if(libGitBranch) {
libIdentifier += "@${libGitBranch}"
}
def com = library(identifier: libIdentifier, changelog: false).com
def Constants = com.project.Constants
def ParameterChecker = com.project.ParameterChecker
pipeline {
agent {
docker {
label "linux"
image "my-host:8082/project-build-java:jdk1.6-jdk1.8-mvn3.2.5"
registryUrl 'http://my-host:8082'
registryCredentialsId 'ReadNexusAccountService'
}
}
stages {
stage('Clean workspace') {
steps {
deleteDir()
}
}
stage('Checkout') {
def paramChecker = ParameterChecker.new(this)
paramChecker.checkProjectAndBranchNames()
checkoutGitSCM(
url: "${Constants.BITBUCKET_URL}/${paramChecker.projectName}.git",
tag: Constants.GIT_PROJECT_DEFAULT_BRANCH
)
}
stage('Compilation Maven') {
steps {
timestamps {
sh 'mvn -version'
}
}
}
}
}
I had script
in steps
in stage('Checkout')
我在阶段的
steps
中有script
stage('Checkout')
def libIdentifier = "project-jenkins-pipeline"
def libGitBranch = params.LIB_GIT_BRANCH
if(libGitBranch) {
libIdentifier += "@${libGitBranch}"
}
def com = library(identifier: libIdentifier, changelog: false).com
pipeline {
agent {
docker {
label "linux"
image "my-host:8082/project-build-java:jdk1.6-jdk1.8-mvn3.2.5"
registryUrl 'http://my-host:8082'
registryCredentialsId 'ReadNexusAccountService'
}
}
stages {
stage('Clean workspace') {
steps {
deleteDir()
}
}
stage('Checkout') {
steps {
script {
def Constants = com.project.Constants
def ParameterChecker = com.project.ParameterChecker
def paramChecker = ParameterChecker.new(this)
paramChecker.checkProjectAndBranchNames()
checkoutGitSCM(
url: "${Constants.BITBUCKET_URL}/${paramChecker.projectName}.git",
tag: Constants.GIT_PROJECT_DEFAULT_BRANCH
)
}
}
}
stage('Compilation Maven') {
steps {
timestamps {
sh 'mvn -version'
}
}
}
}
}
Thanks at @Matt Schuchard and Jenkins: Cannot define variable in pipeline stage感谢@Matt Schuchard和Jenkins:无法在管道阶段定义变量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.