Skip to content
/ CICD Public

Creating and working with pipelines and Gitlab CI

Notifications You must be signed in to change notification settings

YaBear/CICD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Part 1. Настройка gitlab-runner

  1. Поднята виртуальная машина Ubuntu Server 20.04 LTS.
  2. Установлен gitlab-runner на виртуальную машину.
  3. Запущен gitlab-runner и зарегистрирован для использования в проекте DO6_CICD.

Part 2. Сборка

  1. В файл gitlab-ci.yml добавлен этап запуска сборки через мейк файл из проекта C2_SimpleBashUtils.
  2. Артефакты после сборки сохраняются в произвольную директорию со сроком хранения 30 дней.

Part 3. Тест кодстайла

  1. Добавлен этап для CI, который запускает скрипт кодстайла (clang-format).
  2. Пайплайн "зафейлен" в случае неудачного прохождения кодстайла.
  3. Вывод утилиты clang-format отображается в пайплайне.

Part 4. Интеграционные тесты

  1. Добавлен этап для CI, который запускает интеграционные тесты из проекта C2_SimpleBashUtils.
  2. Этот этап автоматически запускается только при успешной сборке и прохождении теста кодстайла.
  3. Пайплайн "зафейлен" в случае неуспешного прохождения интеграционных тестов.
  4. Вывод результатов интеграционных тестов отображается в пайплайне.

Part 5. Этап деплоя

  1. Поднята вторая виртуальная машина Ubuntu Server 20.04 LTS.
  2. Добавлен этап для CD, который разворачивает проект на второй виртуальной машине.
  3. Этот этап запускается вручную при условии успешного прохождения всех предыдущих этапов.
  4. Написан bash-скрипт для копирования файлов (артефактов) в директорию /usr/local/bin на второй виртуальной машине.
  5. Скрипт добавлен в файл gitlab-ci.yml.
  6. Пайплайн "зафейлен" в случае ошибки при деплое.

Part 6. Дополнительно. Уведомления

  1. Настроены уведомления о успешном/неуспешном выполнении пайплайна через бота в Telegram.
  2. Текст уведомления содержит информацию об успешности прохождения этапов CI и CD.

About

Creating and working with pipelines and Gitlab CI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published