216 слов | 1 минута
CICD
Pipline
CI/CD является собирательным термином, охватывающим несколько этапов DevOps.
CI (непрерывная интеграция) — это способ интеграции изменений кода в репозиторий по несколько раз в день. У CD есть два значения: непрерывная доставка автоматизирует интеграцию в то время, как непрерывное развертывание автоматически выпускает финальную сборку для конечных пользователей.


Если есть админ на этапе развертывания в прод - Continuous Delivery, нет - Continuous Development
Основной сущностью в GitLab CI/CD является пайплайн (pipeline) — конвейер, который может состоять из:
- джобов (jobs), описывающих что нужно выполнить;
- этапов (stages), указывающих, когда или в какой последовательности нужно выполнить джобы.
Джобы в одном этапе обычно выполняются параллельно. Если все джобы завершились успешно, выполнение переходит к следующему этапу и так далее. Если любой из джобов завершился ошибкой, то выполнение останавливается, и весь пайплайн (обычно) считается проваленным.
gitlab-ci.yml
GitLab CI полностью конфигурируется с помощью одного файла в формате YAML, который нужно создать в корне проекта — .gitlab-ci.yml
Именно в этом файле описываются все задачи, а также команды, которые gitlab-runner будет выполнять на сервере.
stages:
- deploy
deploy-job:
stage: deploy
script:
- echo "Deploying application..."
- echo "Application successfully deployed."
Теперь при коммите наш Runner будет этот скрипт. Скрипт соответственно должен быть загружен в репозиторий GitLab.
на GitLab
Добавляем раннер для репозитория (в примере test)

Если всё прошло успешно, то в коммите будет зеленая кнопка Passed.

Для того чтобы посмотреть лог выполнения задачи, кликаем по этой кнопке, а затем выбераем непосредственно задачу из списка:

