Peta dunia

 

EN: Read in English

Dunia T4: Modul & Pipeline

Misi capstone 8: Pelan Kedai Kancil

Anda akan belajar: tulis kaunter web Kedai Kancil sebagai pelan, binanya di Docker sendiri, dan plan dalam pull request.

Teks BM belum disemak oleh penutur asli.

Disemak dengan OpenTofu 1.13 pada 1 Nov 2026

Masalahnya

Misi 8: tulis kaunter web Kedai Kancil sebagai pelan. Docker di laptop anda sendiri ialah tapak binaan. Apa yang tofu plan pertama anda akan tunjuk?

Pilih satu jawapan.

Cuba

Langkah 1: alat dan folder. Kemudian tulis providers.tf (di bawah). Ia guna provider Docker, versi 4.6 atau 4.x yang lebih baharu.

Misi sebenar

  1. tofu version
  2. docker info
  3. mkdir kedai-blueprint && cd kedai-blueprint && git init

0 daripada 4 langkah siap · Tanda anda disimpan.

terraform {
  required_providers {
    docker = {
      source  = "kreuzwerker/docker"
      version = "~> 4.6"
    }
  }
}

provider "docker" {}

Cuba

Langkah 2: pelan. Baris mana yang buka kedai pada port 8080 laptop anda?

Pilih satu jawapan.

Simpan ini sebagai main.tf. Tambah outputs.tf juga: output "url" { value = "http://localhost:8080" }.

resource "docker_image" "web" {
  name         = "nginx:1.30-alpine"
  keep_locally = true
}

resource "docker_container" "web" {
  name  = "kedai-kancil-web"
  image = docker_image.web.image_id

  ports {
    internal = 80
    external = 8080
  }
}

Cuba

Langkah 3: bina di laptop anda. Plan dahulu, sentiasa.

Misi sebenar

  1. tofu init
  2. tofu fmt -check && tofu validate
  3. tofu plan
  4. tofu apply

0 daripada 5 langkah siap · Tanda anda disimpan.

Cuba

Langkah 4: workflow plan. Binanya, kemudian simpan sebagai .github/workflows/plan.yml.

Tekan blok untuk tambah. Susun ikut urutan.

Blok

Workflow anda

Tekan satu blok di atas untuk mula.

Fail workflow .github/workflows/

name: Plan

Apa yang berjalan

Belum ada apa untuk dijalankan.

Cuba

Langkah 5: push, kemudian buka pull request yang tukar port.

Misi sebenar

  1. printf "*.tfstate\n*.tfstate.*\n.terraform/\n" > .gitignore
  2. git add . && git commit -m "Blueprint Kedai Kancil"
  3. git remote add origin https://github.com/YOUR-NAME/kedai-blueprint.git && git push -u origin main
  4. git switch -c port-8081

0 daripada 5 langkah siap · Tanda anda disimpan.

Semak

Biar API awam GitHub sahkan. Taip nama pengguna anda, kemudian semak.

Semak di GitHub

Nama pengguna anda dihantar ke api.github.com sahaja.

  • Repo kedai-blueprint anda awamBelum disemak
  • Ia ada main.tfBelum disemak
  • Ia ada fail lockBelum disemak
  • Ia ada workflow planBelum disemak
  • Workflow sudah berjalan sekurang-kurangnya sekaliBelum disemak
  • Anda buka pull request di situBelum disemak

Semak

API tak nampak semua. Semak ini sendiri, kemudian kemas.

Misi sebenar

  1. tofu destroy
  2. docker ps -a --filter name=kedai-kancil-web

0 daripada 5 langkah siap · Tanda anda disimpan.

Anda berjaya!

Kini anda boleh tulis pelan servis sebenar, binanya, dan plan setiap perubahan dalam CI.

Nak tahu lebih (pilihan)

Keselamatan: laptop anda sendiri sahaja, port 8080 mesti kosong, dan tofu destroy di hujung. Pasang OpenTofu: opentofu.org/docs/intro/install. Dengan kind pula, provider kubernetes berfungsi dengan cara sama. Di mana cerita ini tak tepat: CI buat plan dengan daftar kosong. Pasukan sebenar beri CI backend bersama (T3·1), supaya plan-nya sepadan dengan bangunan.