Kem Intensif DevOps · Pelajaran

IaC dengan Terraform dan GitHub Actions

Fahami cara menyepadukan Terraform ke dalam aliran kerja GitHub Actions untuk menyediakan dan mengurus infrastruktur.

Pelajaran 1 daripada 411 langkah

IaC dengan Terraform dan GitHub Actions ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Infrastruktur sebagai Kod (IaC)

Selamat datang! Dalam pelajaran ini, kita akan mendalami Infrastruktur sebagai Kod (IaC). Pendekatan ini bermaksud mengurus dan menyediakan infrastruktur anda, seperti pelayan, pangkalan data dan rangkaian, menggunakan kod dan bukannya proses manual.

Bayangkan anda menulis perisian untuk infrastruktur anda. Pendekatan ini memberikan banyak manfaat, termasuk keseragaman, kebolehulangan dan kawalan versi untuk keseluruhan persediaan anda.

Kenali Terraform untuk IaC

Salah satu alat paling popular untuk IaC ialah Terraform, iaitu alat sumber terbuka yang dibangunkan oleh HashiCorp.

Terraform membolehkan anda mentakrifkan sumber infrastruktur dalam fail konfigurasi yang mudah dibaca manusia. Kemudian, Terraform menggunakan fail ini untuk menyediakan dan mengurus sumber merentas pelbagai penyedia awan seperti AWS, Azure dan GCP, serta perkhidmatan lain.

Sintaks HCL Terraform

Terraform menggunakan bahasa deklaratifnya sendiri yang dipanggil HashiCorp Configuration Language (HCL). HCL direka bentuk supaya mudah dibaca dan ditulis oleh manusia, menjadikan takrifan infrastruktur anda jelas.

Berikut ialah contoh kecil HCL yang mentakrifkan VPC AWS (Awan Persendirian Maya):

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "my-vpc"
  }
}

Aliran Kerja Teras Terraform

Terraform mengikut aliran kerja tiga langkah yang konsisten untuk mengurus infrastruktur anda:

  • terraform init: Memulakan direktori kerja anda dan memuat turun pemalam penyedia yang diperlukan.
  • terraform plan: Menjana pelan pelaksanaan yang menunjukkan perubahan yang akan dibuat oleh Terraform pada infrastruktur anda.
  • terraform apply: Melaksanakan perubahan yang dihuraikan dalam pelan dengan menyediakan atau mengubah suai sumber anda.

Mengautomasikan dengan GitHub Actions

Mengintegrasikan Terraform dengan GitHub Actions memperkukuh strategi IaC anda. Integrasi ini membolehkan anda mengautomasikan langkah penting dalam saluran paip penerapan infrastruktur.

Dengan GitHub Actions, anda boleh:

  • Menjalankan terraform plan secara automatik pada setiap permintaan tarik.
  • Memastikan perubahan infrastruktur disemak dan diluluskan.
  • Mengautomasikan terraform apply untuk penerapan terkawal.

Fail Aliran Kerja Terraform Anda

Aliran kerja GitHub Actions untuk Terraform ditakrifkan dalam fail YAML dalam direktori .github/workflows/ repositori anda. Fail ini menentukan masa aliran kerja dijalankan dan langkah yang dilaksanakannya.

Berikut ialah struktur asas bagi aliran kerja yang boleh merancang perubahan:

name: 'Terraform CI'
on: 
  pull_request:
    branches:
      - main
jobs:
  terraform:
    name: 'Terraform'
    runs-on: ubuntu-latest
    steps:
      # Your workflow steps will go here

Langkah Penyediaan Terraform dan Inisialisasi

Sebelum menjalankan sebarang perintah Terraform, aliran kerja anda perlu mengambil kod anda, menyediakan CLI Terraform dan memulakan direktori kerja.

Tindakan 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 Pelan Terraform

Perintah terraform plan ialah langkah penting dalam mana-mana aliran kerja IaC. Perintah ini menjalankan simulasi untuk menentukan tindakan yang diperlukan bagi mencapai keadaan dikehendaki yang ditakrifkan dalam fail konfigurasi anda.

Langkah ini membolehkan anda menyemak perubahan yang dicadangkan sebelum apa-apa diubah dalam persekitaran awan 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 }}

Semakan Ringkas: Pelan Terraform

Memahami perintah teras ialah kunci untuk menggunakan Terraform dengan berkesan dalam aliran kerja automatik anda.

Pertimbangan Terraform Apply

Perintah terraform apply ialah peringkat yang membuat perubahan sebenar pada infrastruktur anda.

Dalam saluran paip automatik, amalan biasa adalah mencetuskan terraform apply hanya selepas semakan manusia terhadap output plan, atau hanya apabila perubahan digabungkan ke cawangan tertentu seperti main atau production. Hal ini mengelakkan perubahan infrastruktur yang tidak disengajakan atau tidak diluluskan.

Imbas Kembali IaC dengan Terraform dan GitHub Actions

Dalam pelajaran ini, kita meneroka cara Infrastruktur sebagai Kod (IaC) membantu mengurus infrastruktur menggunakan kod. Kita memberi tumpuan kepada Terraform sebagai alat utama untuk IaC, serta mempelajari sintaks HCL dan aliran kerja penting inisialisasi, pelan dan penggunaan.

Anda juga telah melihat cara GitHub Actions mengautomasikan langkah terraform init dan terraform plan, lalu menjadikan penerapan infrastruktur anda lebih selamat, lebih konsisten dan disepadukan sepenuhnya ke dalam saluran paip CI/CD anda.

Percuma untuk bermula

Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
142
Pelajaran
568

Soalan Lazim

Adakah pelajaran “IaC dengan Terraform dan GitHub Actions” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “IaC dengan Terraform dan GitHub Actions”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “IaC dengan Terraform dan GitHub Actions”?

Fahami cara menyepadukan Terraform ke dalam aliran kerja GitHub Actions untuk menyediakan dan mengurus infrastruktur. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “IaC dengan Terraform dan GitHub Actions” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?

Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. IaC dengan Terraform dan GitHub Actions
  2. Mengurus Sumber Awan
  3. Mengautomasikan Kemas Kini Infrastruktur
  4. Mengurus Keadaan Terraform dan Bahagian Belakang Jauh
← Kembali ke Kem Intensif DevOps