0Pricing
DevOps Bootcamp · Pelajaran

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 plan secara otomatis pada setiap pull request.
  • Memastikan perubahan infrastruktur ditinjau dan disetujui.
  • Mengotomatiskan terraform apply untuk 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 init

Langkah 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

  1. IaC dengan Terraform dan GitHub Actions
  2. Mengelola Sumber Daya Awan
  3. Mengotomatiskan Pembaruan Infrastruktur
  4. Mengelola Status Terraform dan Backend Jarak Jauh
← Kembali ke DevOps Bootcamp