我看过一些帖子,但无法找到问题的解决方案。在Jenkins中,我有一个配置了maven项目的管道。我可以在本地运行测试而不会出现问题,并在目标文件夹中生成测试结果。问题是测试没有通过Jenkins构建过程,因为jenkins中的文件夹结构不同。在错误消息中,我看到它没有使用正确的路径:
[ERROR] Command was /bin/sh -c cd /var/lib/jenkins/jobs/test/workspace
路径应该是
/var/lib/docker/volumes/jenkins-data_var_lib_jenkins`/_data/jobs/test/workspace#
在运行Jenkins的服务器上,lib文件夹下没有jenkins文件夹。我进行了搜索,发现jenkins文件夹位于lib / docker / volumes下面。但不知何故,在构建过程中,控制台会说
Running on master in /var/lib/jenkins/jobs/test/workspace
我可以在哪里进行此更改? 任何帮助深表感谢。我的Jenkinsfile是从我正在使用的框架生成的,看起来像这样:
#!/usr/bin/env groovy
node {
stage('checkout') {
checkout scm
}
stage('check java') {
sh "java -version"
}
stage('clean') {
sh "chmod +x mvnw"
sh "./mvnw clean"
}
stage('install tools') {
sh "./mvnw com.github.eirslett:frontend-maven-plugin:install-node-and-yarn -DnodeVersion=v6.11.3 -DyarnVersion=v1.1.0"
}
stage('yarn install') {
sh "./mvnw com.github.eirslett:frontend-maven-plugin:yarn"
}
stage('backend tests') {
try {
sh "./mvnw test"
} catch(err) {
throw err
} finally {
junit '**/target/surefire-reports/TEST-*.xml'
}
}
stage('frontend tests') {
try {
sh "./mvnw com.github.eirslett:frontend-maven-plugin:yarn -Dfrontend.yarn.arguments=test"
} catch(err) {
throw err
} finally {
junit '** /target/test-results/karma/TESTS-*.xml'
}
}
stage('packaging') {
sh "./mvnw package -Pprod -DskipTests"
archiveArtifacts artifacts: '**/target/*.war', fingerprint: true
}
}
构建过程中的错误报告如下(就像我上面说的那样,var / lib /下没有jenkins文件夹。我认为两个不同的工作区存在问题,但我怎么能适应这个呢?
Started by an SCM change
Obtained Jenkinsfile from git https://github.com/....git
[Pipeline] node
Running on master in /var/lib/jenkins/jobs/test/workspace
[Pipeline] {
[Pipeline] stage
[Pipeline] { (checkout)
[Pipeline] checkout
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://github.com/.....git # timeout=10
Fetching upstream changes from https://github.com/.......git
> git --version # timeout=10
using GIT_ASKPASS to set credentials
> git fetch --tags --progress https://github.com/........git +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision .....
(refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f ........
Commit message: "Merge branch 'master' of https://github.com/......"
> git rev-list ....... # timeout=10
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (check java)
[Pipeline] sh
[workspace] Running shell script
+ java -version
openjdk version "1.8.0_112"
OpenJDK Runtime Environment (build 1.8.0_112-b15)
OpenJDK 64-Bit Server VM (build 25.112-b15, mixed mode)
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (clean)
[Pipeline] sh
[workspace] Running shell script
+ chmod +x mvnw
[Pipeline] sh
[workspace] Running shell script
+ ./mvnw clean
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.6.1:clean (default-clean) @ test---
[INFO] Deleting /var/lib/jenkins/jobs/test/workspace/target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.181 s
[INFO] Finished at: 2017-10-18T11:32:15Z
[INFO] Final Memory: 12M/106M
[INFO] ------------------------------------------------------------------------
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (install tools)
[Pipeline] sh
[workspace] Running shell script
+ ./mvnw com.github.eirslett:frontend-maven-plugin:install-node-and-yarn -DnodeVersion=v6.11.3 -DyarnVersion=v1.1.0
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- frontend-maven-plugin:1.6:install-node-and-yarn (default-cli) @ test---
[INFO] Node v6.11.3 is already installed.
[INFO] Yarn 1.1.0 is already installed.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.126 s
[INFO] Finished at: 2017-10-18T11:32:20Z
[INFO] Final Memory: 14M/106M
[INFO] ------------------------------------------------------------------------
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (yarn install)
[Pipeline] sh
[workspace] Running shell script
+ ./mvnw com.github.eirslett:frontend-maven-plugin:yarn
[INFO] Scanning for projects...
------------------------------------------------------------------------
[INFO] Building Test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- frontend-maven-plugin:1.6:yarn (default-cli) @ test---
[INFO] Running 'yarn ' in /var/lib/jenkins/jobs/test/workspace
[INFO] yarn install v1.1.0
[INFO] [1/5] Validating package.json...
[INFO] [2/5] Resolving packages...
[INFO] success Already up-to-date.
[INFO] Done in 2.39s.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.316 s
[INFO] Finished at: 2017-10-18T11:32:27Z
[INFO] Final Memory: 12M/106M
[INFO] ------------------------------------------------------------------------
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (backend tests)
[Pipeline] sh
[workspace] Running shell script
+ ./mvnw test
[INFO] Scanning for projects...
------------------------------------------------------------------------
[INFO] Building Test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:copy-resources (default-resources) @ test---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 19 resources
[INFO] Copying 11 resources
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ test---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 19 resources
[INFO] Copying 11 resources
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-versions) @ test---
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:copy-resources (docker-resources) @ test---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.9:prepare-agent (pre-unit-tests) @ test---
[INFO] argLine set to -javaagent:/var/lib/jenkins/.m2/repository/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9-runtime.jar=destfile=/var/lib/jenkins/jobs/test/workspace/target/test-results/coverage/jacoco/jacoco.exec -Djava.security.egd=file:/dev/./urandom -Xmx256m
[INFO]
[INFO] --- maven-compiler-plugin:3.6.0:compile (default-compile) @ test---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 94 source files to /var/lib/jenkins/jobs/test/workspace/target/classes
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ test---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.6.0:testCompile (default-testCompile) @ test---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 22 source files to /var/lib/jenkins/jobs/test/workspace/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ test---
[INFO] Surefire report directory: /var/lib/jenkins/jobs/test/workspace/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Error: Invalid or corrupt jarfile /var/lib/jenkins/jobs/test/workspace/target/surefire/surefirebooter78063794178.....jar
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.856 s
[INFO] Finished at: 2017-10-18T11:32:43Z
[INFO] Final Memory: 49M/334M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project test: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /var/lib/jenkins/jobs/test/workspace && /usr/lib/jvm/java-8-openjdk/jre/bin/java -javaagent:/var/lib/jenkins/.m2/repository/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9-runtime.jar=destfile=/var/lib/jenkins/jobs/test/workspace/target/test-results/coverage/jacoco/jacoco.exec -Djava.security.egd=file:/dev/./urandom -Xmx256m -jar /var/lib/jenkins/jobs/test/workspace/target/surefire/surefirebooter7806379417818082153.jar /var/lib/jenkins/jobs/test/workspace/target/surefire/surefire6244578096780428228tmp /var/lib/jenkins/jobs/test/workspace/target/surefire/surefire_09182258098509539166tmp
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[Pipeline] junit
Recording test results
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: No test report files were found. Configuration error?
Finished: FAILURE
答案 0 :(得分:0)
很难说没有看到你的工作,但你可以只引用$ WORKSPACE变量来获得工作区的顶部。