BM: Baca dalam Bahasa Melayu
World C1: Pipeline Thinking
CI, delivery or deployment?
You will learn: the difference between CI, continuous delivery and continuous deployment.
Checked with GitHub Actions 2026-10 on 31 Oct 2026
The problem
Aina’s team says, “We do CD.” Ben’s team says it too. Aina presses a button to ship. Ben’s team never does. Who is right?
Pick one answer.
Try it
Run it. The tests pass, then the van waits. Approve it to ship.
Run it. When a job waits for you, check it and approve.
Workflow file .github/workflows/ship.yml
name: Ship on: push: branches: [main] permissions: contents: read jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - run: npm ci && npm test deploy: needs: test runs-on: ubuntu-latest environment: production steps: - uses: actions/checkout@v7 - run: npm ci && npm run build - run: npm run deploy env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
The line
Push to main · main
Every passing change is packed and ready. A person says when it ships. That is continuous delivery: The van is packed and waiting. Every change that passes can ship, and a person says go..
Predict
Now remove the reviewer from production. The tests pass. What happens next?
Pick one answer.
Watch
Pick an event. Press Run and watch the line.
Workflow file .github/workflows/ship.yml
name: Ship on: push: branches: [main] permissions: contents: read jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - run: npm ci && npm test deploy: needs: test runs-on: ubuntu-latest environment: production steps: - uses: actions/checkout@v7 - run: npm ci && npm run build - run: npm run deploy env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
The line
Push to main · main
No button, no waiting. Every change that passes goes live. That is continuous deployment: The van drives off by itself: every change that passes goes live, with no button.. Press Run to see it.
Try it
CI, delivery or deployment? Sort each sentence.
Drag a card into a box. Or tap the card, then tap the box.
Hint
Is a person pressing go? That is delivery.Check
A clinic’s booking app must have a manager sign off each release. Which one fits?
Pick one answer.
You did it!
You can now tell CI, continuous delivery and continuous deployment apart.
Go deeper (optional)
All three need CI first. Continuous deployment needs the most trust in tests. In GitHub, a required reviewer is the “person says go” step. Free plans allow it in public repos.
Real rep (optional): in a public repo, open Settings, then Environments. Add production with you as reviewer. Then add environment: production to a deploy job.
Bahasa Melayu
Pasukan Aina kata, “Kami buat CD.” Pasukan Ben pun kata begitu. Aina tekan butang untuk hantar. Pasukan Ben tak pernah tekan. Siapa betul?
Run dahulu. Ujian lulus, kemudian van menunggu. Luluskan untuk hantar.
Setiap perubahan yang lulus dah siap dibungkus. Seseorang tentukan bila ia dihantar. Itulah continuous delivery (penghantaran berterusan).
Sekarang buang penyemak dari production. Ujian lulus. Apa jadi lepas ni?
Tiada butang, tiada menunggu. Setiap perubahan yang lulus terus live. Itulah continuous deployment (deployment berterusan). Tekan Run untuk tengok.
CI, delivery atau deployment? Susun setiap ayat.
Aplikasi tempahan sebuah klinik perlukan pengurus tandatangan setiap release. Yang mana sesuai?
Kini anda boleh bezakan CI, continuous delivery dan continuous deployment.
You finished this before. Practice is always welcome!
Official docs: Continuous integration · Continuous deployment · Deployments and environments
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?