Контроль версий с 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 — локальная установка не требуется.
Все уроки этого курса
- Структура кода и соглашения об именовании
- Контроль версий с Git
- Командная работа и рабочие процессы
- Документация и рабочие процессы самообслуживания