EN: Read in English
Dunia C2: Pipeline Container
Service container: pangkalan data ujian
Anda akan belajar: beri ujian anda Postgres pakai buang di runner.
Teks BM belum disemak oleh penutur asli.
Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026
Masalahnya
Pilih satu event. Tekan Run dan tengok tali sawat.
Satu pull request jalankan ujian. Ujian gagal: connect ECONNREFUSED 127.0.0.1:5432.
Fail workflow .github/workflows/test.yml
name: Test on: pull_request: permissions: contents: read jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: actions/setup-node@v7 with: node-version: 24 - run: npm ci - run: npm test env: DATABASE_URL: postgres://postgres:test@localhost:5432/postgres
Tali sawat
Pull request · feature → main
Tekan Run. Ujian pesanan gagal: connect ECONNREFUSED 127.0.0.1:5432. Maksudnya: tiada siapa jawab di pintu pangkalan data.
Tengok
Ketik baris yang buka pintu peti sejuk kepada runner.
0 daripada 1 dijumpai
service container: Container pembantu, contohnya pangkalan data ujian, yang hidup untuk satu job sahaja. ialah peti sejuk latihan yang ditolak ke sebelah stesen. GitHub hidupkannya sebelum langkah anda. Ia dibuang selepas job.
Cuba
Baiki baris kuning: beri job ini pangkalan data. Kemudian tekan Run.
Tali sawat merah. Betulkan baris kuning, kemudian run semula.
Fail workflow .github/workflows/test.yml
name: Test on: pull_request: permissions: contents: read jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: actions/setup-node@v7 with: node-version: 24 - run: npm ci - run: npm test env: DATABASE_URL: postgres://postgres:test@localhost:5432/postgres
Kuning: baris 8–8. Anda boleh ubah baris ini.
Tali sawat
Pull request · feature → main
Petunjuk
Ujian panggil Postgres di localhost, port 5432.Teka
Kenapa tambah options: --health-cmd pg_isready?
Pilih satu jawapan.
Semak
Setiap baris ini pergi ke mana?
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Anda berjaya!
Kini anda boleh beri ujian anda pangkalan data pakai buang.
Nak tahu lebih (pilihan)
test okey sebagai kata laluan di sini. Peti sejuk itu hidup untuk satu job sahaja. Secret sebenar tetap masuk kotak rempah berkunci. Job berjalan dalam container:? Panggil service dengan namanya, db.
Latihan sebenar (pilihan):
Misi sebenar
0 daripada 3 langkah siap · Tanda anda disimpan.
English
Press Run. The order tests fail: connect ECONNREFUSED 127.0.0.1:5432. Plain words: nobody answers at the database’s door.
A service container is a practice fridge wheeled next to the station. GitHub starts it before your steps. It is thrown away after the job.
Fix the yellow line: give the job a database. Then press Run.
Why add options: --health-cmd pg_isready?
Where does each line go?
You can now give your tests a throwaway database.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: About service containers · Creating PostgreSQL service containers
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?