职位建立-失败-定义詹金斯管道

时间:2018-12-31 13:41:35

标签: jenkins groovy jenkins-pipeline

作为Jenkins管道的初学者。我通过经典的UI定义了一个简单的Jenkins管道(声明性语法),但是当我运行管道时,它显示了一个错误。不知道出了什么问题,目前在Google上找不到任何有用的答案。

  
    

这是我的项目git hub项目网址

  
[https://github.com/pknowledge/my-app.git/]
  
    

这是我的管道脚本

  
pipeline {
    agent any
    stages {
        stage ('clone and clean') {
            steps {
                sh "rm -rf my-app"
                sh "git clone https://github.com/pknowledge/my-app.git"
                sh "mvn clean -f my-app"
            }
        }
        stage ( 'test') {
            steps {
                sh "mvn test -f my-app"
            }
        }
        stage ('deploy') {
            steps {
                sh "mvn deploy -f my-app"
            }
        }
    }
}

构建后,它会在输出下方显示

  
    

Jenkins控制台输出

  
 Started by user raj
    Running in Durability level: MAX_SURVIVABILITY
    [Pipeline] node
    Running on Jenkins in /var/lib/jenkins/workspace/Jenkinspipeline-demo
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (clone and clean)
    [Pipeline] sh
    + rm -rf my-app
    [Pipeline] sh
    + git clone https://github.com/pknowledge/my-app.git
    Cloning into 'my-app'...
    [Pipeline] sh
    + mvn clean -f my-app
    [[1;34mINFO[m] Scanning for projects...
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] [1mBuilding my-app 1.0-SNAPSHOT[m
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-clean-plugin:2.5:clean[m [1m(default-clean)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Deleting /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/target
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] [1;32mBUILD SUCCESS[m
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] Total time: 0.254 s
    [[1;34mINFO[m] Finished at: 2018-12-31T12:58:26Z
    [[1;34mINFO[m] Final Memory: 8M/150M
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (test)
    [Pipeline] sh
    + mvn test -f my-app
    [[1;34mINFO[m] Scanning for projects...
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] [1mBuilding my-app 1.0-SNAPSHOT[m
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-resources-plugin:2.6:resources[m [1m(default-resources)[m @ [36mmy-app[0;1m ---[m
    [[1;33mWARNING[m] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
    [[1;34mINFO[m] skip non existing resourceDirectory /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/src/main/resources
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-compiler-plugin:3.1:compile[m [1m(default-compile)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Changes detected - recompiling the module!
    [[1;33mWARNING[m] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
    [[1;34mINFO[m] Compiling 1 source file to /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/target/classes
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-resources-plugin:2.6:testResources[m [1m(default-testResources)[m @ [36mmy-app[0;1m ---[m
    [[1;33mWARNING[m] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
    [[1;34mINFO[m] skip non existing resourceDirectory /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/src/test/resources
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-compiler-plugin:3.1:testCompile[m [1m(default-testCompile)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Changes detected - recompiling the module!
    [[1;33mWARNING[m] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
    [[1;34mINFO[m] Compiling 1 source file to /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/target/test-classes
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-surefire-plugin:2.12.4:test[m [1m(default-test)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Surefire report directory: /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/target/surefire-reports

    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running com.mycompany.app.AppTest
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec

    Results :

    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] [1;32mBUILD SUCCESS[m
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] Total time: 1.934 s
    [[1;34mINFO[m] Finished at: 2018-12-31T12:58:30Z
    [[1;34mINFO[m] Final Memory: 16M/191M
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (deploy)
    [Pipeline] sh
    + mvn deploy -f my-app
    [[1;34mINFO[m] Scanning for projects...
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] [1mBuilding my-app 1.0-SNAPSHOT[m
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-resources-plugin:2.6:resources[m [1m(default-resources)[m @ [36mmy-app[0;1m ---[m
    [[1;33mWARNING[m] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
    [[1;34mINFO[m] skip non existing resourceDirectory /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/src/main/resources
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-compiler-plugin:3.1:compile[m [1m(default-compile)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Nothing to compile - all classes are up to date
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-resources-plugin:2.6:testResources[m [1m(default-testResources)[m @ [36mmy-app[0;1m ---[m
    [[1;33mWARNING[m] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
    [[1;34mINFO[m] skip non existing resourceDirectory /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/src/test/resources
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-compiler-plugin:3.1:testCompile[m [1m(default-testCompile)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Nothing to compile - all classes are up to date
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-surefire-plugin:2.12.4:test[m [1m(default-test)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Surefire report directory: /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/target/surefire-reports

    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running com.mycompany.app.AppTest
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 sec

    Results :

    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-jar-plugin:2.4:jar[m [1m(default-jar)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Building jar: /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/target/my-app-1.0-SNAPSHOT.jar
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-install-plugin:2.4:install[m [1m(default-install)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] Installing /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/target/my-app-1.0-SNAPSHOT.jar to /var/lib/jenkins/.m2/repository/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.jar
    [[1;34mINFO[m] Installing /var/lib/jenkins/workspace/Jenkinspipeline-demo/my-app/pom.xml to /var/lib/jenkins/.m2/repository/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.pom
    [[1;34mINFO[m] 
    [[1;34mINFO[m] [1m--- [0;32mmaven-deploy-plugin:2.7:deploy[m [1m(default-deploy)[m @ [36mmy-app[0;1m ---[m
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] [1;31mBUILD FAILURE[m
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;34mINFO[m] Total time: 1.790 s
    [[1;34mINFO[m] Finished at: 2018-12-31T12:58:33Z
    [[1;34mINFO[m] Final Memory: 13M/251M
    [[1;34mINFO[m] [1m------------------------------------------------------------------------[m
    [[1;31mERROR[m] Failed to execute goal [32morg.apache.maven.plugins:maven-deploy-plugin:2.7:deploy[m [1m(default-deploy)[m on project [36mmy-app[m: [1;31mDeployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter[m -> [1m[Help 1][m
    [[1;31mERROR[m] 
    [[1;31mERROR[m] To see the full stack trace of the errors, re-run Maven with the [1m-e[m switch.
    [[1;31mERROR[m] Re-run Maven using the [1m-X[m switch to enable full debug logging.
    [[1;31mERROR[m] 
    [[1;31mERROR[m] For more information about the errors and possible solutions, please read the following articles:
    [[1;31mERROR[m] [1m[Help 1][m http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    ERROR: script returned exit code 1
    Finished: FAILURE

1 个答案:

答案 0 :(得分:1)

您在maven部署阶段遇到问题。您应该先阅读如何使用deploy。现在,只需替换

stage ('deploy') {
            steps {
                sh "mvn deploy -f my-app"
            }
        }

stage ('package') {
            steps {
                sh "mvn package my-app"
            }
        }