如何在 Jenkins 中使用 tar + pbzip2

How to use tar + pbzip2 with Jenkins

我一直在努力寻找尽可能缩短 Jenkins 构建时间的方法,多亏了这个有用的 SO post,我找到了 pbzip2:Utilizing multi core for tar+gzip/bzip compression/decompression

效果很好!在我的机器上,6 分钟的压缩时间被缩短为 2 分钟:

tar -v -c --use-compress-program=pbzip2 -f parallel.tar.bzip2 myapplication.app

但是 Jenkins 只是吐出一个执行 Shell 任务,我在上面的命令中输入了:

+ tar -v -c --use-compress-program=pbzip2 -f parallel.tar.bz2 myapplication.app a myapplication.appBuild step 'Execute shell' marked build as failure

"Build step" 行与 tar 的输出混合在一起的事实告诉我这可能是一个后台进程问题 tar/pbzip2正在介绍。

我试过引入 #!/bin/bash -xe 并得到相同的结果。我试过将 tar 命令包装在 if 语句中。我也试过将 tar 放在后台线程中 & 并等待它。同样的结果。

有什么技术可以帮助 Jenkins 处理吗?

发现即使我可以 运行 作为 jenkins 用户通过命令行执行此命令,pbzip2 也没有在 Jenkins 作业的 PATH 中定义。非常误导,因为没有有用的输出。