0Pricing
Terraform Infrastructure as Code · Урок

GitOps и автоматизация запросов на слияние

Освойте рабочий процесс GitOps, в котором планы Terraform автоматически публикуются в запросах на слияние, а применение изменений запускается после слияния, обеспечивая проверяющим полную видимость.

«GitOps и автоматизация запросов на слияние» — бесплатный урок Terraform Infrastructure as Code на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Terraform Infrastructure as Code, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Terraform Infrastructure as Code содержит 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) и разблокировать остальной курс Terraform Infrastructure as Code, подпишись на CoddyKit PRO. Курс Terraform Infrastructure as Code содержит 4 уроков всего.

Чему я научусь в уроке «GitOps и автоматизация запросов на слияние»?

Освойте рабочий процесс GitOps, в котором планы Terraform автоматически публикуются в запросах на слияние, а применение изменений запускается после слияния, обеспечивая проверяющим полную видимость. Ты практикуешь Terraform Infrastructure as Code с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Terraform Infrastructure as Code?

Предыдущий опыт не требуется. Terraform Infrastructure as Code на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «GitOps и автоматизация запросов на слияние»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Terraform Infrastructure as Code?

Да. Каждый урок Terraform Infrastructure as Code включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Terraform в конвейерах CI/CD
  2. Автоматизация `plan` и `apply`
  3. Безопасное управление учётными данными
  4. GitOps и автоматизация запросов на слияние
← Назад к Terraform Infrastructure as Code