Build Farm for Continuous Integration


Continuous Integration software like Jenkins, Bamboo or Concourse CI are following more or less the same data structure. For each Continuous Integration project there can be multiple versions. Each version can have multiple artifacts. Those artifacts can be executable files for different target platforms, e.g. x64 or arm64. Artifacts are produced by build agents which are installed on a host, e.g. a physical or virtual machine. There can be multiple build agents installed on the same host. Each build agent can be assigned to a number of target platforms, e.g. for cross-compile builds.

How could a database model look alike? For this exercise, it is sufficient to model just the entities/tables.