GitOps и автоматизация запросов на слияние
Освойте рабочий процесс GitOps, в котором планы Terraform автоматически публикуются в запросах на слияние, а применение изменений запускается после слияния, обеспечивая проверяющим полную видимость.
«GitOps и автоматизация запросов на слияние» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Что такое GitOps
GitOps делает Git единственным источником истины для инфраструктуры. Каждое изменение оформляется как запрос на слияние; именно слияние с основной веткой запускает применение. Ничего не изменяется вручную в консоли.
Планирование по запросу на слияние
Основная идея такова: когда открывается PR, CI запускает terraform plan и публикует результат в комментарии. Проверяющие точно видят, что изменится, ещё до утверждения.
Применение после слияния
После слияния PR с main отдельный рабочий процесс запускает terraform apply с сохранённым планом. История Git становится журналом аудита всех изменений инфраструктуры.
Задание плана в GitHub Actions
Этот рабочий процесс запускается для запросов на слияние и создаёт артефакт с планом.
on:
pull_request:
branches: [main]
jobs:
plan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: hashicorp/setup-terraform@v3
- run: terraform init
- run: terraform plan -out=tfplanПубликация плана в PR
Сохраните понятный человеку план и опубликуйте его в комментарии, чтобы проверяющим не приходилось открывать журналы CI.
terraform show -no-color tfplan > plan.txtСохранение артефакта плана
Чтобы гарантировать применение именно того, что было проверено, загрузите двоичный план как артефакт и применяйте его, а не новый план.
- uses: actions/upload-artifact@v4
with:
name: tfplan
path: tfplanРабочий процесс применения
Отправка изменений в main скачивает утверждённый план и применяет его без запроса подтверждения.
on:
push:
branches: [main]
jobs:
apply:
runs-on: ubuntu-latest
steps:
- run: terraform apply -auto-approve tfplanОбнаружение отклонений по расписанию
Запускайте ночной план, чтобы обнаруживать отклонения — ручные изменения, отличающиеся от кода. Если запланированный план показывает изменения, сообщите об этом команде.
on:
schedule:
- cron: "0 2 * * *"Продвижение между окружениями
GitOps продвигает один и тот же код между окружениями с помощью веток или каталогов. Изменение сливается в dev, проходит проверку, а затем продвигается в prod через ещё один PR.
envs/
dev/main.tf
staging/main.tf
prod/main.tfОбязательные проверки и защита веток
Защитите main, чтобы применение было невозможно без утверждённой проверки и успешного плана. Правила защиты веток обеспечивают это на уровне платформы.
Atlantis и управляемый GitOps
Такие инструменты, как Atlantis, и интеграция VCS Terraform Cloud автоматизируют весь этот процесс, включая команды atlantis apply, запускаемые комментариями непосредственно в PR.
Быстрая проверка
Проверьте своё понимание GitOps.
Итоги: Git как источник истины
Вы создали конвейер GitOps:
- План публикуется в PR для проверки.
- Слияние применяет сохранённый утверждённый план.
- Планы по расписанию обнаруживают отклонения.
- Защита веток и такие инструменты, как Atlantis, обеспечивают соблюдение процесса.
Часто задаваемые вопросы
Урок «GitOps и автоматизация запросов на слияние» бесплатный?
Да — полный текст урока «GitOps и автоматизация запросов на слияние» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «GitOps и автоматизация запросов на слияние»?
Освойте рабочий процесс GitOps, в котором планы Terraform автоматически публикуются в запросах на слияние, а применение изменений запускается после слияния, обеспечивая проверяющим полную видимость. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «GitOps и автоматизация запросов на слияние»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Terraform в конвейерах CI/CD
- Автоматизация `plan` и `apply`
- Безопасное управление учётными данными
- GitOps и автоматизация запросов на слияние