Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins 在所有阶段的文件和引用中仅声明一次configFileProvider_Jenkins_Groovy_Jenkins Plugins_Jenkins Pipeline_Jenkins Groovy - Fatal编程技术网

Jenkins 在所有阶段的文件和引用中仅声明一次configFileProvider

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

我正在尝试为我们的管道自动化设置脚本化的JenkinsFile,并希望使用configFileProvider for maven。因此,我最终在脚本化的Jenkins文件中的所有maven阶段中定义了这个块。 是否有一种方法可以在脚本中定义它一次,并在所有阶段中引用它。目前为止,我的示例文件如下所示:-

节点{
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}"
    }
}
最好的,
安德烈

你好,艾希礼,你找到解决办法了吗?