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 mainGit ワークフローの確認
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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- コード構成と命名規則
- Git によるバージョン管理
- チームコラボレーションとワークフロー
- ドキュメントとセルフサービスワークフロー