我正在为我的构建使用Docker容器,当然import java.util.zip.GZIPInputStream;
//your method begins from here
final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
S3Object object = s3.getObject("your-bucket", "file-path");
return ResponseEntity.ok(IOUtils.toString(new GZIPInputStream(object.getObjectContent())));
变量指向Jenkins用户主页($HOME
),这会导致问题,例如如果作业并行运行并尝试将内容写入/home/jenkins
等等。
在脚本化的Jenkins文件中全局设置$HOME
到$HOME
的所需方法是什么?
在${env.WORKSPACE}
中包装所有shell步骤似乎很奇怪。
这是脚本化管道的缩小版本,它处理多个Docker镜像并用withEnv(["HOME=${WORKSPACE}]){ ... }
包裹$HOME
的设置:
withEnv
答案 0 :(得分:0)
用Env([“ HOME = $ {WORKSPACE}]){...}包装所有shell步骤似乎很奇怪。
当然,这看起来很奇怪,但是它设置了容器的工作目录,并且进行了卷绑定以将必要的文件传输到容器中。您可以在日志中看到它...
docker run -t -d -u 996:994 -w /var/lib/jenkins/workspace/python-test-pipeline@2 -v /var/lib/jenkins/workspace/python-test-pipeline@2:/var/lib/jenkins/workspace/python-test-pipeline@2:rw,z -v /var/lib/jenkins/workspace/python-test-pipeline@2@tmp:/var/lib/jenkins/workspace/python-test-pipeline@2@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** python:alpine cat