jenkins声明管道不能使用maven命令为xl-deploy工作

时间:2017-12-10 04:36:01

标签: jenkins-pipeline jenkins-declarative-pipeline deployit xl-deploy

我想创建jenkins声明性管道,以便使用maven命令在xl-deploy上进行部署。我没有使用xl-deploy插件我只是使用maven命令。

   pipeline {
    agent {
        label 'java8'
    }

    tools {
        maven 'M3'
    }

    options {
        skipDefaultCheckout()
        timestamps()
        disableConcurrentBuilds()
        timeout(time: 1, unit: 'HOURS')
        buildDiscarder(logRotator(numToKeepStr: "${env.BRANCH_NAME}"=='master'?'10':''))
    }

    environment {
        ARTIFACTORY = credentials('artifactory-credentials')
        CF = credentials('cf-credentials')
        SONAR = credentials('Sonar_Credentials')
    }

    stages {
        stage ('Checkout') {
            steps {
                checkout scm

                sh "git rev-parse HEAD > .git/commit-id"

                script {
                    commit_id = readFile('.git/commit-id').trim()
                    pom = readMavenPom file: 'pom.xml'
                    currentBuild.displayName = commit_id.take(7) + "-" + pom.version
                }
            }
        }

        stage ('Build') {
            steps {
                sh "mvn -U -s settings.xml -gs settings.xml clean install -DskipTests=true"
            }
        }


        stage('Publish Artifacts') {
            when {
                branch 'master'
            }

            steps {
                sh "echo 'Publish JAR to Artifactory !'"

                sh "mvn -s settings.xml -gs settings.xml versions:set -DnewVersion=$commit_id"
                sh "mvn -s settings.xml -gs settings.xml deploy -DskipTests=true"
            }
        }


       stage('Deploy') {  

            steps {
                sh "wget --user ${ARTIFACTORY_USR} --password ${ARTIFACTORY_PSW} -O ${pom.artifactId}.war -nv <repo url>/${pom.artifactId}/${commit_id}/${pom.artifactId}-${commit_id}.war --server-response --"

                sh "mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:copy -Dartifact=<app package>-$commit_id:war -DoutputDirectory=target -Dmdep.useBaseVersion=true"
              }}



    }

    post {
        always {
            deleteDir()
        }



    }
}

我得到以下例外:

  

无法执行目标com.xebialabs.xldeploy:xldeploy-maven-plugin:5.0.2:generate-deployment-package。

直到发布,它工作正常。但它在执行部署阶段时给出了异常

1 个答案:

答案 0 :(得分:0)

我建议升级到插件的6.0.1版本,因为该版本修复了一些连接问题。 该问题可能还与错误的pom.xml文件有关,但要将其排除为根本原因,您至少应该共享pom.xml,XL Deploy版本和XL Deploy中加载的插件。