0Pricing
DevOps Bootcamp · レッスン

Git によるバージョン管理

Terraform の構成を Git と統合し、バージョン管理、ブランチ、マージ、共同開発を行います。

「Git によるバージョン管理」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

インフラストラクチャのためのGit

インフラストラクチャをコード(IaC)として管理するとは、インフラ設定をソフトウェアコードと同じように扱うことです。ソフトウェアと同様に、これらの設定にもバージョン管理が大きな効果をもたらします。

Gitは、最も広く使われているバージョン管理ツールです。変更を追跡したり、チームメンバーと共同作業したり、Terraformで問題が発生した場合に以前のバージョンへ戻したりできます。

TerraformでGitを初期化する

Terraformプロジェクトの追跡を開始するには、まずプロジェクトのルートディレクトリでGitリポジトリを初期化する必要があります。これにより、非表示の.gitフォルダーが作成されます。

main.tfファイルが準備できているとします。

git init

コードをステージングしてコミットする

Terraformファイルを作成または変更したら、ファイルを「ステージング」(git add)し、その後「コミット」(git commit)して、リポジトリの履歴に変更を記録する必要があります。

各コミットは、明確なメッセージを付けた論理的な変更単位にしてください。

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

stateファイルを非公開にする

Terraformが作成するstateファイル(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)に切り替えたら、mainブランチに影響を与えずにTerraform設定を変更できます。

main.tfに単純なS3バケットリソースを追加してみましょう。

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 など)に push します。ほかのメンバーは、その変更を自分のローカルマシンに pull できます。

これにより、チームで同じ Terraform プロジェクトを同時に操作できます。

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

Git ワークフローの確認

main.tf ファイルに新しいリソースを追加し、その変更を Git の履歴に保存したいとします。通常、どの Git コマンドを使用しますか?

Terraform での Git のまとめ

このレッスンでは、Terraform の設定を管理するうえで Git が不可欠である理由を学びました。次の操作を行いました。

  • Git リポジトリを初期化し、変更を追跡する。
  • .gitignore を使って機密ファイルを除外する。
  • ブランチを使って分離された環境で開発する。
  • 変更をマージし、コンフリクトに対処する。
  • リモートリポジトリを使って共同作業する。

Git によって、IaC のバージョン管理、監査、共同作業が可能になります。

よくある質問

「Git によるバージョン管理」レッスンは無料ですか?

はい。「Git によるバージョン管理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「Git によるバージョン管理」で何を学びますか?

Terraform の構成を Git と統合し、バージョン管理、ブランチ、マージ、共同開発を行います。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Git によるバージョン管理」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. コード構成と命名規則
  2. Git によるバージョン管理
  3. チームコラボレーションとワークフロー
  4. ドキュメントとセルフサービスワークフロー
← DevOps Bootcampに戻る