Описать концепцию CI в среде Gitlab можно так:
- В любом из проектов в корень репозитория можно положить файл
.gitlab-ci.yml
, описывающий процессы CI. - В нем определяются "работы", представляющие собой наборы комманд, выполняемых из коммандной строки, которые будут выполняться на этапах сборки/тестирования/деплоя.
- После каждого push'а в репозиторий "работы" выполняются на машинах, называемых runner'ами.
- Runner'ами могут выступать виртуальные машины, docker-контейнеры и даже сама машина (через bash или powershell). Runner'ы могут располагаться где угодно. Главное, чтобы у них был доступ в интернет.
- Чтобы превратить машину в runner ее необходимо подготовить. После чего на ней можно будет регистрировать runner'ы, работающие в качестве:
- docker образа с linux
- виртуальной машины с Windows 7
- виртуальной машины с Windows XP