# Развертывание с помощью Gitlab CI
# Добавление Gitlab Runner на сервер
- Откройте репозиторий
- Выберите Settings / CI/CD / Runners
- Скопируйте
registration token
- Выполните команду для запуска Gitlab Runner на сервере:
docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.gitlab-runner:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
docker exec -ti gitlab-runner gitlab-runner register -n \
--url https://gitlab.com/ \
--registration-token TOKEN \ # впишите токен
--executor docker \
--description "project name" \
--docker-image "atnartur/docker:latest" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock
docker exec -ti gitlab-runner gitlab-runner start
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
- Обновите страницу настроек репозитория в Gitlab. Gitlab runner должен появиться там.
- Нажмите на иконку редактирования и добавьте тег с названием проекта латиницей, он пригодится нам в дальнейшем
# Конфигурация Gitlab CI
Добавьте файл .gitlab-ci.yml
(с точкой в начале) следующего содержимого и поправьте выделенные строчки
image: atnartur/docker:latest
stages:
- build
- deploy
# сборка проекта
build:
stage: build
script:
- docker-compose -f docker-compose.prod.yml build
tags:
- projectname # укажите тег вашего раннера
only:
- develop # укажите ветку, с которой будет происходить развертывание проекта
# запуск проекта
deploy_linux:
stage: deploy
script:
- docker-compose -f docker-compose.prod.yml stop
- docker-compose -f docker-compose.prod.yml rm -f
- docker-compose -f docker-compose.prod.yml up -d
tags:
- projectname # укажите тег вашего раннера
only:
- develop # укажите ветку, с которой будет происходить развертывание проекта
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Сделайте коммит с этими изменениями и проверьте логи в разделе Pipelines.