Обзор и введение в CI/CD
Info
В этом разделе представлен общий обзор CI/CD (Continuous Integration / Continuous Delivery) на GitVerse: основные понятия, преимущества и способы использования.
Что такое CI/CD?
CI/CD (Continuous Integration / Continuous Delivery, непрерывная интеграция и непрерывная доставка) — это практика автоматизации процессов разработки программного обеспечения, которая позволяет разработчикам чаще и надежнее выпускать новые версии приложений. CI/CD объединяет два процесса: автоматическую интеграцию и тестирование кода (CI) и автоматическую подготовку и развертывание кода в рабочие среды (CD).
Continuous Integration (CI)
Continuous Integration (непрерывная интеграция, CI) — это процесс автоматической сборки и тестирования кода каждый раз, когда изменения отправляются в репозиторий. CI помогает выявлять ошибки на ранней стадии и уменьшает время, необходимое для интеграции изменений от разных разработчиков.
В GitVerse CI настраивается через workflow — YAML-файл в каталоге .gitverse/workflows/.
Workflow описывает задачи и шаги, которые выполняются на раннере
при срабатывании триггера.
Подробнее читайте в разделе Справочная документация.
Continuous Delivery (CD)
Continuous Delivery (непрерывная доставка, CD) — это процесс автоматической подготовки кода к выпуску в production. После успешной CI-проверки код может быть автоматически развернут в различные среды: тестирование, staging и production.
В GitVerse CD реализуется через job с deployment step, которые публикуют артефакты в реестр пакетов, создают релизы или разворачивают приложения на серверах.
Подробнее читайте в разделе Справочная документация.
Зачем нужен CI/CD?
CI/CD играет ключевую роль в современной разработке программного обеспечения:
- снижение рисков: регулярные автоматические тесты помогают выявлять проблемы на ранних этапах до попадания в production;
- ускорение разработки: автоматизация рутинных задач сборки и деплоя освобождает время для создания новых функций;
- повышение качества кода: автоматическое тестирование и статический анализ кода помогают поддерживать высокий стандарт;
- стабильность деплоя: предсказуемый и повторяемый процесс развертывания снижает вероятность ошибок, связанных с ручными операциями;
- быстрая обратная связь: разработчики получают мгновенную информацию о результате своих изменений в интерфейсе CI/CD.
Основные компоненты CI/CD на GitVerse
Workflow
Workflow — это YAML-файл с инструкциями, который GitVerse выполняет
при определенных событиях. Workflow хранится в каталоге .gitverse/workflows/ вашего репозитория.
Каждый файл в этой папке — отдельный независимый рабочий процесс, который GitVerse может запускать автоматически.
В workflow описываются триггеры, определяющие когда запускать процесс, и задачи, описывающие что именно выполнять. Каждый workflow имеет название, список триггеров (on) и блок задач (jobs).
Подробнее о структуре и синтаксисе workflow-файлов читайте в разделе Синтаксис workflow.
Задачи и шаги
Задача — это блок работы в рамках workflow. Каждая задача выполняется на отдельном раннере и содержит последовательность шагов. Задачи в рамках одного workflow могут выполняться последовательно или параллельно.
Шаг — это отдельное действие внутри задачи. Шаг может выполнять shell-команды через
директиву run, запускать скрипты или использовать готовое действие через директиву uses.
Шаги выполняются последовательно в порядке их объявления.
Действие — это готовый переиспользуемый шаг, например actions/checkout@v4 для
клонирования репозитория. Действия позволяют не писать повторяющийся код вручную.
Раннер
Раннер — это среда выполнения, на которой запускаются задачи workflow. Раннер обеспечивает необходимые ресурсы: операционную систему, инструменты сборки, доступ к Docker и другие зависимости.
GitVerse поддерживает три типа раннеров: облачный раннер, предоставляемый платформой; пользовательский раннер, развернутый на вашей инфраструктуре; и организационный раннер, управляемый на уровне организации для командной работы.
Подробнее о типах раннеров, их регистрации и настройке читайте в разделе Раннеры.
Триггер
Триггер — это событие, которое инициирует выполнение workflow.
Триггеры задаются в секции on workflow-файла и определяют, когда именно должен запуститься поток работ.
Основные типы триггеров в GitVerse: push в ветку репозитория, создание или обновление pull request, ручное запускание через интерфейс, выполнение по расписанию (cron-триггер) и webhook события.
Подробнее о всех доступных триггерах и их параметрах читайте в разделе Триггеры запуска workflow.
Секрет и переменная
Секрет — это защищенное значение, хранящее конфиденциальные данные: токены, пароли, ключи API. Секреты не отображаются в логах CI/CD и шифруются при хранении.
Переменная — это обычное значение, доступное в workflow: пути к файлам, версии зависимостей, имена образов Docker. В отличие от секретов, переменные хранятся в открытом виде и используются для конфигурации workflow.
Подробнее о работе с секретами и переменными читайте в разделе Справочная документация.
Как начать работать с CI/CD на GitVerse
Для начала работы с CI/CD на GitVerse следуйте этому порядку:
- Ознакомьтесь с разделом Быстрый старт — создайте свой первый workflow за несколько минут и запустите его.
- Изучите Практические руководства — реальные примеры CI/CD для распространенных задач: сборка, тестирование, деплой, работа с артефактами и кэшированием.
- Ознакомьтесь с Справочной документацией — подробное описание синтаксиса workflow, триггеров, раннеров, секретов и переменных.
- Посмотрите Часто задаваемые вопросы — ответы на типичные вопросы и решения распространенных проблем при настройке CI/CD.
- Просмотрите примеры готовых workflow в репозитории starter-workflows — готовые шаблоны для различных языков и платформ.