Hi, here's the sorts of things we're doing at my company:
- binary collateral (.jars, .msi, .zip, .exe installers) kept in Artifactory (Nexus is other option as mentioned)
- some of those we have source for and use things like maven to build, package and push to Artifactory
- other deployable artifacts we get directly from 3rd parties (we have no source code for them) and upload those to Artifactory
- version number of the artifact forms part of the artifactory repo path - http://<artifactory-host>/artifactory/<repo-name>/<component>/<version>/<artifact-<version>.msi>
- we have two instances of artifactory - one for everything except production and production
- we have a formal process to authorise and promote approved artifacts to the production artifactory instance (there's a repo proxying feature of Artifactory that we use)
- not all collateral is being kept in artifactory - in some cases, where the frequency of update is low we're managing files in ansible (which is being source controlled in git/bit-bucket)
- we've yet to have a formal process for deploying the ansible collateral to admin/control machine servers - for non-prod we're just doing git clone of the ansible collateral, but we're considering making an RPM so we
can have proper discoverability of the anisble collateral (we have a dozen administrator/ops people that can do deployments so we need consistency and certainty of ansible collateral versions)
Hope that helps.
Regards, Straff