Linux Terraform Git Beginner Guide
Linux Terraform Git Beginner Guide
# Verify install
terraform -v
Step 4: Write Your First Terraform Code (Create GCP Debian VM)
cd ~/practice/terraform_project/code
# Create main.tf
nano main.tf
provider "google" {
project = "<YOUR_GCP_PROJECT_ID>"
region = "us-central1"
zone = "us-central1-a"
}
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
size = 10
}
}
network_interface {
network = "default"
access_config {}
}
}
output "instance_name" {
value = google_compute_instance.debian-instance.name
}
nano main.tf
Paste:
boot_disk {
initialize_params {
image = var.disk_image
size = var.disk_size
}
}
network_interface {
network = "default"
access_config {}
}
}
Create variables.tf:
nano variables.tf
variable "instance_name" {
type = string
}
variable "machine_type" {
type = string
default = "e2-medium"
}
variable "zone" {
type = string
default = "us-central1-a"
}
variable "disk_image" {
type = string
default = "debian-cloud/debian-11"
}
variable "disk_size" {
type = number
default = 10
}
Create outputs.tf:
nano outputs.tf
output "instance_id" {
value = google_compute_instance.debian_instance.id
}
output "instance_name" {
value = google_compute_instance.debian_instance.name
}
provider "google" {
project = "<YOUR_GCP_PROJECT_ID>"
region = "us-central1"
zone = "us-central1-a"
}
module "debian_instance" {
source = "../modules/instance"
instance_name = "my-debian-instance"
machine_type = "e2-medium"
zone = "us-central1-a"
disk_image = "debian-cloud/debian-11"
disk_size = 10
}
Step 8: Run Terraform for Module
terraform init
terraform plan
terraform apply
# Commit files
git commit -m "Initial commit - Terraform Debian VM code and modules"
# Check status
git status
# Terraform Commands
terraform init
terraform validate
terraform plan
terraform apply
terraform destroy
# Git Commands
git init
git add filename
git commit -m "message"
git status
git log