Peta dunia

 

EN: Read in English

Dunia C2: Pipeline Container

Jalankan ujian dalam container

Anda akan belajar: uji rasa bekas makanan yang sama yang pelanggan anda dapat.

Teks BM belum disemak oleh penutur asli.

Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026

Masalahnya

Ujian lulus di runner. Kemudian image itu rosak di production: satu pustaka sistem tiada. Macam mana tali sawat boleh tangkap masalah itu?

Pilih satu jawapan.

Tengok

Ketik baris di mana peringkat ujian bermula.

0 daripada 1 dijumpai

Satu resipi, dua hidangan. Peringkat ujian simpan alat ujian. Peringkat app ialah apa yang pelanggan dapat. Kedua-duanya tumbuh dari layer base yang sama.

Cuba

Susun langkah tali sawat ikut urutan.

Yang pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.

  • Sediakan Buildx
  • Bina peringkat ujian, dan muatkan ke dalam Docker
  • Bina peringkat app dan push
  • Jalankan npm test di dalam image itu

Teka

Satu ujian gagal di dalam container. Ketik stesen yang akan hentikan talian, kemudian tekan Run.

Stesen mana akan hentikan tali sawat? Tekan stesen itu, kemudian Run.

Apa yang berlaku di GitHub

Fail workflow .github/workflows/test.yml

name: Test
on:
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: docker/setup-buildx-action@v4
- uses: docker/build-push-action@v7
with:
target: test
load: true
tags: kedai-kancil:test
- run: docker run --rm kedai-kancil:test npm test

Tali sawat

Pull request · feature → main

Semak

Langkah build tulis load: true. Kenapa?

Pilih satu jawapan.

Anda berjaya!

Kini anda boleh jalankan ujian di dalam image yang anda hantar.

Nak tahu lebih (pilihan)

Cara lain: letak RUN npm test dalam peringkat ujian. Kemudian ujian yang gagal akan gagalkan build itu sendiri. Jauhkan alat ujian dari peringkat app. Image yang dihantar kekal kecil.

Latihan sebenar (pilihan), dalam repo latihan awam:

Misi sebenar

  1. docker build --target test -t myapp:test .
  2. docker run --rm myapp:test

0 daripada 4 langkah siap · Tanda anda disimpan.