0Pricing
Terraform Infrastructure as Code · Урок

Контроль версий с Git

Интегрируйте конфигурации Terraform с Git для контроля версий, работы с ветками, слияния изменений и совместной разработки.

«Контроль версий с Git» — бесплатный урок Terraform Infrastructure as Code на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Terraform Infrastructure as Code, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Terraform Infrastructure as Code содержит 4 уроков всего.

Git для инфраструктуры

Управление инфраструктурой как кодом (IaC) означает работу с конфигурациями инфраструктуры так же, как с программным кодом. Как и программный код, эти конфигурации получают большую пользу от системы контроля версий.

Git — самый популярный инструмент контроля версий. Он помогает отслеживать изменения, сотрудничать с участниками команды и возвращаться к предыдущим версиям, если с Terraform что-то пошло не так.

Инициализация Git в Terraform

Чтобы начать отслеживать проект Terraform, сначала нужно инициализировать репозиторий Git в корневом каталоге проекта. При этом создаётся скрытая папка .git.

Представим, что у Вас уже есть готовый файл main.tf.

git init

Подготовка и фиксация кода

После создания или изменения файлов Terraform нужно «подготовить» их (git add), а затем «зафиксировать» (git commit), чтобы записать изменения в историю репозитория.

Каждая фиксация должна представлять логически связанный набор изменений и иметь понятное сообщение.

git add main.tf
git commit -m "Initial commit of main.tf"

Храните файлы состояния в тайне

Terraform создаёт файлы состояния (например, terraform.tfstate) и временные каталоги (.terraform/), которые не следует добавлять в Git. В них содержится конфиденциальная информация, и они могут вызывать конфликты.

Используйте файл .gitignore, чтобы указать Git, какие файлы нужно игнорировать.

# Terraform specific files
.terraform/
*.tfstate
*.tfstate.*

Создавайте ветки для новых функций

Ветвление позволяет работать над новыми функциями или исправлениями ошибок изолированно от основной кодовой базы. Это предотвращает нарушение основной линии разработки.

  • Веткой по умолчанию часто является main или master.
  • Создавайте новые ветки для конкретных задач.
git branch
git checkout -b add-s3-bucket

Разрабатывайте изолированно

Перейдя в новую ветку (например, add-s3-bucket), Вы можете изменять конфигурацию Terraform, не затрагивая ветку main.

Добавим простой ресурс корзины S3 в файл main.tf.

resource "aws_s3_bucket" "example" {
  bucket = "my-unique-bucket-name-123"
}

Объединение с веткой Main

Когда функция в своей ветке завершена и протестирована, Вы можете объединить её с веткой main. Это внесёт Ваши изменения в основной код.

Сначала переключитесь обратно на main, затем объедините ветку функции.

git checkout main
git merge add-s3-bucket

Разрешение конфликтов при объединении

Иногда при объединении Git не может автоматически совместить изменения. Это называется конфликтом объединения. Вам потребуется вручную изменить конфликтующие файлы и выбрать, какие изменения сохранить.

После разрешения конфликта добавьте объединённый файл с помощью git add и зафиксируйте изменения с помощью git commit.

Обмен изменениями через удалённые репозитории

Для совместной работы отправляйте локальные изменения в удалённый репозиторий (например, GitHub или GitLab). После этого другие участники смогут получить эти изменения на свои локальные компьютеры.

Это позволяет командам одновременно работать над одним проектом Terraform.

git remote add origin https://github.com/your-org/your-repo.git
git push -u origin main

Проверка рабочего процесса Git

Вы только что добавили новый ресурс в файл main.tf и хотите сохранить эти изменения в истории Git. Какие команды Git обычно следует использовать?

Повторение работы с Git в Terraform

На этом уроке мы изучили, почему Git необходим для управления конфигурациями Terraform. Вы научились:

  • Инициализировать репозиторий Git и отслеживать изменения.
  • Использовать .gitignore для исключения конфиденциальных файлов.
  • Работать с ветками для изолированной разработки.
  • Объединять изменения и разрешать конфликты.
  • Совместно работать с помощью удалённых репозиториев.

Git обеспечивает версионирование, возможность аудита и совместную работу с Вашей инфраструктурой как кодом!

Часто задаваемые вопросы

Урок «Контроль версий с Git» бесплатный?

Да — полный текст урока «Контроль версий с Git» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Terraform Infrastructure as Code, подпишись на CoddyKit PRO. Курс Terraform Infrastructure as Code содержит 4 уроков всего.

Чему я научусь в уроке «Контроль версий с Git»?

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

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

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

Сколько времени занимает урок «Контроль версий с Git»?

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

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

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

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

  1. Структура кода и соглашения об именовании
  2. Контроль версий с Git
  3. Командная работа и рабочие процессы
  4. Документация и рабочие процессы самообслуживания
← Назад к Terraform Infrastructure as Code