将工件从Jenkins上传到s3

问题描述 投票:1回答:2

我正在使用Jenkins,在Post Build上我想将工件推送到S3。但我收到以下错误:

Amazon S3; Status Code: 403; Error Code: InvalidAccessKeyId; Request ID: E9EF9BE1E1D0C011), S3 Extended Request ID: wsyJXgV9If7Yk/GbgI486HrQ5RFZbvnQt/haOBJq3nZ6aLFbWEvKmnHE9ly+05eOab2qTPOQjZU=
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1275)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:873)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:576)
at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:362)
at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:328)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:307)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3659)
at com.amazonaws.services.s3.AmazonS3Client.initiateMultipartUpload(AmazonS3Client.java:2651)
at com.amazonaws.services.s3.transfer.internal.UploadCallable.initiateMultipartUpload(UploadCallable.java:350)
at com.amazonaws.services.s3.transfer.internal.UploadCallable.uploadInParts(UploadCallable.java:178)
at com.amazonaws.services.s3.transfer.internal.UploadCallable.call(UploadCallable.java:121)
at com.amazonaws.services.s3.transfer.internal.UploadMonitor.call(UploadMonitor.java:139)
at com.amazonaws.services.s3.transfer.internal.UploadMonitor.call(UploadMonitor.java:47)
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)

我尝试用Java 1.8最新,java 1.7最新。但一次又一次地得到这个错误。我试过s3发布插件0.8和0.10.1。

项目配置:Project Config

插件配置:plugin Config

amazon-s3 jenkins-plugins jenkins-cli
2个回答
0
投票

您收到403(禁止)错误,表示您缺少存储桶的有效凭据,或者没有遵守存储区的安全设置(如服务器端加密(SSE))。

首先,更新到最新版本的S3发布者插件 - 它增加了对SSE的支持,如果您的存储桶需要启用它,您可以在管道配置中选中“服务器端加密”复选框。

其次,您需要在Jenkins“配置系统”表单中修改S3配置文件。在您的问题中,访问密钥的突出显示字段为空,必须与密钥组件一起提供。

正确输入配置并验证满足存储桶要求后,您应该清楚地将对象推送到S3。


-2
投票

当我试图通过Jenkins将工件推送到S3存储桶时,我遇到了同样的问题。后来我发现它丢错了,因为我在Jenkins配置中提供了一个错误的Bucket。

© www.soinside.com 2019 - 2024. All rights reserved.