Details
-
Sub-task
-
Resolution: Done
-
Neutral
-
None
-
None
-
None
-
None
Description
Nexus 3 staging no longer works with creating staging repos on the fly, but based on tagging & permanent staging repos.
Promotion happens by moving artifacts with a certain tag to a target destination repository.
Possible approaches
In theory, one shared staging repo would be sufficient, if we (or automation) keep track of which tag goes where. However, if promotion is a deferred step, and one inspects the content of that unique repo, it might be messy to identify e.g. if all community artifacts have been promoted, or which hanging artifacts need to be promoted where.
Therefore, in order to be able to promote public, enterprise and other artifacts to their correct destination repos, it's gonna be more "magnolia-conventional" to have:
- magnolia.public.snapshots
- magnolia.public.staging (new)
- magnolia.public.releases
Same for following repos/”scopes”:
- magnolia.enterprise.*
- magnolia.addons.*
- magnolia.public.maintenance.*
Repos not using staging at this point:
- magnolia.internal.*
- magnolia.incubator.*
- no need expressed so far.
- staging is also usually skipped for parent POMs
- (deploying to multiple repos within same reactor)
Validation points 🧪
- cross visibility of artifacts from staging repo to other
- (enterprise staged releases needing staged community artifacts)
- config nxrm3 plugin with ${distribRepoPrefix}.staging in repository param