I just watched an Intro to Artifactory video, and I am trying to evaluate whether it would it would be an appropriate choice for the following situation.
In my org, we are developing a "suite" of software for embedded devices, which need to work together as a system. The building of software for each of these devices is done independently from one another. E.g., I can theoretically compile and generate a release of software for Device A without having any of the source or binaries for Device B. These devices all need to play together as part of an integrated suite, and those interactions are governed and described by ICDs.
Sometimes there are ICD-level changes required or some other important architectural changes that drive related changes to two or more devices' codebases. So this creates what I call "couplings" or inter-dependencies between the executables. E.g., if someone wants to run version 4.5.0 of software for Device A, then Device B must be configured with version of 4.19.0 or greater of its software to maintain compatibility.
We are currently tracking all of these interdependency requirements between executables with spreadsheets and documents on a shared drive, which has gotten cumbersome and annoying.
What I am hoping for is that something like Artifactory would enable us to have a repository of all the executables for the entire suite of software that tracks all of this metadata and linkages between binaries.
So if people decide on the need to run 4.5.0 of software for Device A, but do not have all the detailed knowledge of dependency requirements for the other devices (and in many cases they are not engineers and trying to explain it all to them is difficult), they can do a "checkout" of the entire suite and it would include 4.19.0 of Device B's software. (And if a range of versions of, e.g., Device C software is compatible, grab the latest.)
Sorry if this is a silly question, but I am just learning about JFrog and Artifactory now. (I am also wondering if bintray might be the more appropriate choice...)
Would a Distribution Repository be the way to go about this?