
Настройка GitLab CI/CD: понимаем принципы работы и запускаем первый pipeline
gtosss 10 минут назад Настройка GitLab CI/CD: понимаем принципы работы и запускаем первый pipeline Уровень сложности Простой Время на прочтение 13 мин Охват и читатели 90 DevOps * Системное администрирование * Linux *...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. gtosss 10 минут назад Настройка GitLab CI/CD: понимаем принципы работы и запускаем первый pipeline Уровень сложности Простой Время на прочтение 13 мин Охват и читатели 90 DevOps * Системное администрирование * Linux * Git * GitHub * Туториал Настройка GitLab CI/CD: понимаем принципы работы и запускаем первый pipeline Все найденные мной русскоязычные гайды не дают базового понимания того, как это работает, по большому счету это просто инструкции по настройке, причем под какой-то конкретный продукт и кейс: . net, Java, Node JS, etc. Целью этой статьи является детальное и схематичное описание того, как все это устроено.
Главная задача — вооружить читателя фундаментальным пониманием, что конкретно ему требуется сделать в его конкретном случае. Помимо самой инструкции по настройке, это будет так же справочник для погружения в DevOps, охватывающий: Максимально много функционала, которыми обладает Gitlab (общие абстракции актуальны и для его аналогов). Инструменты которые нужны: Bash, Docker, Kubernetes и другие.
Технические детали
Общую теорию и практику с конкретными сценариями. Материал разбит на 3 части. Простейший пример ci-cd Более зрелый CI/CD (выход в продакшн, self-hosted runner и работа с registry) Горизонтальное масштабирование CI/CD (высоко-нагруженный продакшн) Оглавление В чем идея CI/CD?
Терминология Простейший CI/CD (разработка, MVP) Простой пример . yml Схема работы простейшего CI/CD Практика с простейшим шаблоном CI/CD В чем идея CI/CD Даже начинающему разработку интуитивно понятно что такое CI/CD и для чего оно нужно. Отправили коммиты с изменениями в репозиторий — нужно исходный код превратить в собранное приложение и развернуть его на dev/test/prod стенде.
Можно зайти на VPS и все сделать вручную: git clone, запустить автотесты, сделать сборку и запустить собранное приложение, при этом старое запущенное приложение, нужно заменить новым билдом. Автоматизацию этого процесса и назвали CI/CD. В эту аббревиатуру навалили сразу несколько значений которые всегда делаются рядом друг с другом и часто эти действия трудно однозначно классифицировать.
Отраслевые последствия
Но я все же попробую классифицировать и достичь какой-то однозначности по терминологии. Терминология CI (continues integration, непрерывная интеграция) — действия необходимые для интеграции новых изменений в имеющуюся кодовую базу. Continues integration включает в себя следующее: объедение всех изменений в одну точку установку зависимостей статистические проверки кода (типизация, линтеры) запуск тестов (Unit, интеграционные, e2e) проверка работоспособности сборки (убедиться что сборка возможна) сборка кодовой базы.
Это может быть как сборка библиотеки в соответствующий формат (например, npm-модуль, PyPI-пакет, Go-модуль), так и сборка в конечный исполняемый формат (. whl, bundle, Docker-контейнер, . ) Результат сборки принято называть артефактом.
загрузка артефакта в специализированное хранилище для дальнейшего использования и версионирования.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





