我们的框架工作是以这样一种方式开发的:整个项目将被复制(从Perforce)到Linux机器(远程VM机器),并在那里执行一个Maven命令来运行测试用例。一切都是经过詹金斯的。
在执行测试用例之后,我使用执行shell post Maven构建步骤删除工作区。正如预期的那样,它正在删除工作区。删除工作区后的问题:不确定为什么要再次解析POM?通过成功执行测试用例,这会导致作业失败。
以下是我如何配置以删除工作区:

在运行作业时,它将按预期删除工作区,但解析post删除。显然,POM将不存在,因为它删除了工作区。
INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:11:26.091s
[INFO] Finished at: Mon Nov 02 22:50:42 PST 2015
[INFO] Final Memory: 133M/489M
[INFO] ------------------------------------------------------------------------
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
Waiting for Jenkins to finish collecting data
channel stopped
[testjob] $ /bin/sh -xe /tmp/hudson464395510348605766.sh
+ echo testjob
testjob
+ delworkspace=/opt/hudson/workspace/testjob
+ rm -rf /opt/hudson/workspace/testjob
ERROR: Failed to parse POMs
java.io.IOException: java.io.FileNotFoundException: /opt/hudson/workspace/testjob/pom.xml (No such file or directory)
at hudson.remoting.FastPipedInputStream.read(FastPipedInputStream.java:169)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Notifying upstream projects of job completion
Finished: FAILURE 我在配置上有遗漏吗?我做了所有的家庭作业,但没有运气。
发布于 2015-11-07 17:58:51
发布于 2015-11-07 19:57:32
您可以很容易地使用参数化触发插件完成这一任务。
cleanWS),当构建完成时,它将触发cleanWS &立即删除作业的工作区。testjob配置->,从Build部分选择Execute shell,->复制并粘贴echo delworkspace=/opt/hudson/workspace/$JOB_NAME >> file.properties。Post-build Actions部分:
在生成完成时,在项目项目上添加->触发器参数化生成以生成->触发器(总是触发器),从属性文件中添加参数->参数,使用文件-> file.properties中的属性。save.cleanWS配置->,从Build部分选择Execute shell、->复制和粘贴rm -rf $delworkspace。注:使用这个cleanWS作业,您可以删除所有作业的工作区。
https://stackoverflow.com/questions/33581918
复制相似问题