IaC dengan Terraform dan GitHub Actions
Pahami cara mengintegrasikan Terraform ke dalam alur kerja GitHub Actions untuk menyediakan dan mengelola infrastruktur.
IaC dengan Terraform dan GitHub Actions adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Infrastruktur sebagai Kode (IaC)
Selamat datang! Dalam pelajaran ini, kita akan mendalami Infrastructure as Code (IaC). Pendekatan ini berarti mengelola dan menyediakan infrastruktur Anda, seperti server, basis data, dan jaringan, menggunakan kode, bukan proses manual.
Anggaplah ini sebagai penulisan perangkat lunak untuk infrastruktur Anda. Cara ini memberikan banyak manfaat, termasuk konsistensi, kemampuan untuk diulang, dan kontrol versi untuk seluruh penyiapan Anda.
Berkenalan dengan Terraform untuk IaC
Salah satu alat paling populer untuk IaC adalah Terraform, alat sumber terbuka yang dikembangkan oleh HashiCorp.
Terraform memungkinkan Anda mendefinisikan resource infrastruktur dalam file konfigurasi yang mudah dibaca manusia. Terraform kemudian menggunakan file tersebut untuk menyediakan dan mengelola resource di berbagai penyedia cloud, seperti AWS, Azure, dan GCP, serta layanan lainnya.
Sintaks HCL Terraform
Terraform menggunakan bahasa deklaratifnya sendiri yang disebut HashiCorp Configuration Language (HCL). HCL dirancang agar mudah dibaca dan ditulis oleh manusia sehingga definisi infrastruktur Anda menjadi jelas.
Berikut contoh kecil HCL yang mendefinisikan VPC AWS (Virtual Private Cloud):
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "my-vpc"
}
}Alur Kerja Inti Terraform
Terraform mengikuti alur kerja tiga langkah yang konsisten untuk mengelola infrastruktur Anda:
terraform init: Menginisialisasi direktori kerja Anda dan mengunduh plugin penyedia yang diperlukan.terraform plan: Membuat rencana eksekusi yang menunjukkan perubahan yang akan dilakukan Terraform pada infrastruktur Anda.terraform apply: Menjalankan perubahan yang dijelaskan dalam rencana dengan menyediakan atau memodifikasi resource Anda.
Mengotomatiskan dengan GitHub Actions
Mengintegrasikan Terraform dengan GitHub Actions sangat meningkatkan strategi IaC Anda. Integrasi ini memungkinkan Anda mengotomatiskan langkah-langkah penting dalam pipeline deployment infrastruktur.
Dengan GitHub Actions, Anda dapat:
- Menjalankan
terraform plansecara otomatis pada setiap pull request. - Memastikan perubahan infrastruktur ditinjau dan disetujui.
- Mengotomatiskan
terraform applyuntuk deployment yang terkendali.
File Alur Kerja Terraform Anda
Alur kerja GitHub Actions untuk Terraform didefinisikan dalam file YAML di dalam direktori .github/workflows/ repositori Anda. File ini menentukan kapan alur kerja dijalankan dan langkah-langkah yang dilakukannya.
Berikut struktur dasar alur kerja yang dapat digunakan untuk merencanakan perubahan:
name: 'Terraform CI'
on:
pull_request:
branches:
- main
jobs:
terraform:
name: 'Terraform'
runs-on: ubuntu-latest
steps:
# Your workflow steps will go here
Menyiapkan Terraform & Langkah Init
Sebelum menjalankan perintah Terraform apa pun, alur kerja Anda perlu mengambil kode, menyiapkan CLI Terraform, dan menginisialisasi direktori kerja.
Action hashicorp/setup-terraform memudahkan proses ini:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.5.x
- name: Terraform Init
run: terraform initLangkah Terraform Plan
Perintah terraform plan adalah langkah penting dalam alur kerja IaC apa pun. Perintah ini melakukan 'uji coba' untuk menentukan tindakan yang diperlukan guna mencapai keadaan yang diinginkan dan didefinisikan dalam file konfigurasi Anda.
Langkah ini memungkinkan Anda meninjau perubahan yang diusulkan sebelum apa pun benar-benar diubah di lingkungan cloud Anda.
- name: Terraform Plan
run: terraform plan
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}Pemeriksaan Singkat: Terraform Plan
Memahami perintah inti adalah kunci untuk menggunakan Terraform secara efektif dalam alur kerja otomatis Anda.
Pertimbangan Terraform Apply
Perintah terraform apply adalah saat perubahan yang sebenarnya dilakukan karena perintah ini mengubah infrastruktur Anda.
Dalam pipeline otomatis, praktik yang umum adalah menjalankan terraform apply hanya setelah hasil plan ditinjau oleh manusia, atau hanya saat menggabungkan perubahan ke branch tertentu, misalnya main atau production. Hal ini mencegah perubahan infrastruktur yang tidak disengaja atau belum disetujui.
Rangkuman IaC dengan Terraform & Actions
Dalam pelajaran ini, kita mempelajari bagaimana Infrastructure as Code (IaC) membantu mengelola infrastruktur menggunakan kode. Kita berfokus pada Terraform sebagai alat utama untuk IaC, serta mempelajari sintaks HCL dan alur kerja penting init, plan, apply.
Anda juga telah melihat bagaimana GitHub Actions dapat mengotomatiskan langkah terraform init dan terraform plan, sehingga deployment infrastruktur Anda menjadi lebih aman, konsisten, dan sepenuhnya terintegrasi ke dalam pipeline CI/CD.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “IaC dengan Terraform dan GitHub Actions” gratis?
Ya — teks lengkap “IaC dengan Terraform dan GitHub Actions” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “IaC dengan Terraform dan GitHub Actions”?
Pahami cara mengintegrasikan Terraform ke dalam alur kerja GitHub Actions untuk menyediakan dan mengelola infrastruktur. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “IaC dengan Terraform dan GitHub Actions” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- IaC dengan Terraform dan GitHub Actions
- Mengelola Sumber Daya Awan
- Mengotomatiskan Pembaruan Infrastruktur
- Mengelola Status Terraform dan Backend Jarak Jauh