CI system: Jenkins with Jenkins Artifactory plugins, using Pipeline jobs
Language: Java, built with Maven
We have a setup where "release-versions" are supposed to be uploaded to a staging repository, and should be able to be overwritten from consecutive Jenkins builds (for example because of bugfixes in a release/x.x.x branch).
Release versions should not be allowed to be uploaded directly into a release repository, but should be allowed to be promoted into them. They should of course not be allowed to be overwritten from neither a promotion or a direct upload.
In our current setup we have successfully allowed redeploys to staging, and disallowed "re-promotions" to releases. But release artifacts can still be redeployed into a release repository.
Effective permissions for the Jenkins user:
- Release repository
- Delete/Overwrite: false
- Deploy/Cache: true
- Annotate: true
- Read: true
- Staging
- Delete/Overwrite: true
- Deploy/Cache: true
- Annotate: true
- Read: true
So, is there a way to:
- Disallow deploys (and re-deploys) to the release repository
- Allow one promotion per version to the release repository
- Disallow "re-promotions" to the release repository
- Allow deploys (and re-deploys) to the staging repository
Preferably only using the Artifactory permission settings.