Однозначно Gitlab CI - код, пайплайны, docker registry в одном месте. Раннеры разных типов.
Можно использовать shared, с собственными docker образами, или добавить в проект хоть свою dev машину, которая станет выделенным раннером для проекта/группы проектов.
С раннерами так же плюс, в том что они под разные платформы (Linux/Win) сборку, к примеру, C# проекта можно организовать, или Selenium тесты под IE запустить.
Если работаете и деплоите в kubernates, то при использовании Rancher 2, там есть пайплайны, через вебхуки подключается к репозиторию, и ранчер поднимает Jenkins, registry довольно удобная история сборки и деплоя "по быстрому"