Resolution: Won't Fix
Affects Version/s: 2.7
Fix Version/s: None
A customer has requested a feature to automatically delete old staging repositories as part of their build process, instead of relying on the scheduled task.
We are using staging profiles to manage release life cycle as follows:
1. we have defined a repository GROUP "staged" that has no repositories configured.
2. regular development builds deploy to staging repository which become visible in the 'staged' group
3. QA verifies staged release and if ready for production will release to the releases repository.
Since we are working toward a planned release (14.1.0 for example) we are not incrementing the release versions. This is easy with staging repositories since each deploy creates a new staging repository. The effect here is that the first development build becomes visible in the staged group. Subsequent development deployments create new staging repositories, but are not made visible in the 'staged' group. Only the first staging repository for the given G/A/V is visible in the 'staged' group.
We run the scheduled task to remove inactive staging repositories, but the configuration is based on days of inactivity. If we run multiple development builds in a single day (typical as we get close to a final build) the scheduled task does not remove the prior deployments, and we must visit nexus and drop these manually.
We would like to automate this action to be a "post build" step in Jenkins so we can drop previous staging repositories when a new one has been successfully added. This helps us keep nexus disk usage under control, and makes the current development deployment available for QA automatically.
Basically make it easy to
1. stage a set of artifacts to a staging repo.
2. Use a single nexus-staging-maven-plugin option to drop all previous staged repositories other than the one just staged
Currently our users need to script something against the REST API to do this automatically.