Jenkins 在所有阶段的文件和引用中仅声明一次configFileProvider
我正在尝试为我们的管道自动化设置脚本化的JenkinsFile,并希望使用configFileProvider for maven。因此,我最终在脚本化的Jenkins文件中的所有maven阶段中定义了这个块。 是否有一种方法可以在脚本中定义它一次,并在所有阶段中引用它。目前为止,我的示例文件如下所示:-Jenkins 在所有阶段的文件和引用中仅声明一次configFileProvider,jenkins,groovy,jenkins-plugins,jenkins-pipeline,jenkins-groovy,Jenkins,Groovy,Jenkins Plugins,Jenkins Pipeline,Jenkins Groovy,我正在尝试为我们的管道自动化设置脚本化的JenkinsFile,并希望使用configFileProvider for maven。因此,我最终在脚本化的Jenkins文件中的所有maven阶段中定义了这个块。 是否有一种方法可以在脚本中定义它一次,并在所有阶段中引用它。目前为止,我的示例文件如下所示:- 节点{ def mvnHome def MVN设置 阶段(‘准备’){ mvnHome=工具“maven-3.5.4” } 阶段(“签出”){ 校验scm } 阶段(‘构建’){ confi
节点{
def mvnHome
def MVN设置
阶段(‘准备’){
mvnHome=工具“maven-3.5.4”
}
阶段(“签出”){
校验scm
}
阶段(‘构建’){
configFileProvider(
[配置文件(文件ID:'*********',变量:'MAVEN_SETTINGS')]){
sh“${mvnHome}/bin/mvn'-s$MAVEN_设置安装”
}
}
阶段(“集成测试”){
sh“${mvnHome}/bin/mvn'-Dmaven.test.failure.ignore clean verify”
}
舞台(“声纳”){
configFileProvider(
[配置文件(文件ID:'*********',变量:'MAVEN_SETTINGS')]){
sh“${mvnHome}/bin/mvn'-s$MAVEN_设置声纳:声纳”
}
}
阶段(“包装”){
configFileProvider(
[配置文件(文件ID:'*********',变量:'MAVEN_SETTINGS')]){
sh“${mvnHome}/bin/mvn'-s$MAVEN_设置包”
}
}
阶段(‘部署’){
configFileProvider(
[配置文件(文件ID:'*********',变量:'MAVEN_SETTINGS')]){
sh“${mvnHome}/bin/mvn'-s$MAVEN_SETTINGS deploy}”
}
}
}
由于它是脚本化的,因此您不必遵循严格的结构,尽管不美观,但您可以更改顺序并将阶段放在configFileProvider中:
configFileProvider(
[configFile(fileId: '**********', variable: 'MAVEN_SETTINGS')]) {
stage('Build'){
sh "'${mvnHome}/bin/mvn' -s $MAVEN_SETTINGS install"
}
stage('Integration Test') {
sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore clean verify"
}
stage('Sonar') {
sh "'${mvnHome}/bin/mvn' -s $MAVEN_SETTINGS sonar:sonar"
}
stage('Packaging') {
sh "'${mvnHome}/bin/mvn' -s $MAVEN_SETTINGS package"
}
stage('Deploy') {
sh "'${mvnHome}/bin/mvn' -s $MAVEN_SETTINGS deploy}"
}
}
最好的,
安德烈你好,艾希礼,你找到解决办法了吗?