S3 Artifact Plugin returns 404
I've installed the latest version of the S3 artifact plugin onto our TC server (configured using the CloudFormation template).
After running a build the S3 bucket appears to have the correct artifacts uploaded into it. e.g. .../../../clover.tgz however when I try and view the artifact from the UI I get a 404 error. When I look in the logs I see the following:
[2018-01-26 17:11:05,774] INFO - s.RepositoryDownloadController - Responding with 404 error: Artifact does not exist: 'clover.tgz!/index.html' in build #6 {build id=53, buildTypeId=Machinelearning_Build}. Request details: GET '/repository/download/Machinelearning_Build/53:id/clover.tgz%21/index.html', from client XX.XX.XX.XX:XXXX, authenticated as 'XXX' (TeamCity Admin) {id=1}
Is this because I am using the name.tgz!index.html format for artifact references? If I remove the "!index.html" clicking on reports the tab in the UI causes the tgz file to download not display.
This seems like a missing feature or have I configured something incorrectly? As it stands this is going to prevent us from adopting this plugin.
Please sign in to leave a comment.
Hi Ade,
could you use the submit a request button on top of the page to send us the full log with that entry, please?
Hi Ade,
It seems you are trying to view a file inside an archive (probably via a report tab), but that is currently not supported for S3 as there is no easy way to retrieve files from an archive residing on S3 storage.
Yes. That is exactly what I am trying to do. I have two types of artifacts. Reports, like code coverage. These are the type that are failing when stored in S3. These are relatively small so storing them on the server is not an issue. I also have binary distributions which can be large and I would like to store in S3. However the cloud storage feature appears to be all or nothing. is there a way for me to store some artifacts locally (reports) and some in S3 (binaries)? If not the S3 storage feature is somewhat limited use for us.
Is there a workaround we could use to do this?