We have 8 teams and each team produces 8 artifacts (A,B,C, etc). Half of the teams use Git, the rest use clearcase. I would like to have each team utilize Git but this will be a struggle (wish me luck).
Each team is responsible for building their own artifacts. These artifacts can be scripts, iso's, jars etc. All these artifacts are put together to create the product.
Currently we have No System to handle these artifacts. We have each team place on a drive then deliver it to the a person. This person then organizes the artifacts to create the releasable product.
As you can imagine this causes a lot of issues. Its difficult to track versions among artifacts and the releasable product. Human error. etc
Our Plan So Far
We are currently migrating each team to Microsoft TFS. On TFS each team would create their own Build definition and build their artifact. The test team will test each artifact and determine whether they pass or fail.
Holes in the Plan
We are struggling to find a solution that would store and version each of these artifacts and manage dependencies. What we desire is to create the product on the fly from tested versions of each artifact.
Questions and Advice
What solutions would best handle these requirements ? What are some of the best practices and processes for configuration management ?
We experimented with Nexus Repository OSS but we were not happy with some of its functionality.
I believe Git-LFS could be apart of the solution. It enables versioning through tagging, and I believe you can retrieve commits based on the tag. The one downside is, our company has limited Git knowledge (we are getting better) but are not there yet.
Thanks for the help!
If you need more information please let me know. Its hard to describe everything detail without writing a novel.