Die Systeme können grundsätzlich in 2 Kategorieren eingeordnet werden, die signifikaten Einfluss auf die Komplexität des
resultierenden Setups haben. Zum einen gibt es gescriptete Lösungen, wobei hier von einfach Shell-Scripten bis zu ganzen
Scriptsprachen für den Build-Service vieles anzutreffen ist und zum Anderen gibt es deklarative Ansätze, welche meist auf yaml
oder anderen Menschenlesbaren Beschreibungssprachen basieren. Des weiteren muss beachtet werden, ob die Systeme gehostet sind,
oder ob einem der Betrieb selbst obliegt. Darüber hinaus eignet sich nicht jedes Tools für alle möglichen Anwendungsfälle,
weshalb unterschieden werden kann, ob das Systeme allgemeine Anwedungsfälle abbilden kann oder eher für spezielle Anwedungsfälle
optimiert ist.