TN-006 β Execute CI Pipeline Initial Test¶
Objective¶
Melakukan eksekusi awal pipeline Jenkins untuk memvalidasi konfigurasi job, akses repository, agen build, dan definisi Jenkinsfile.
Background¶
Setelah pipeline dibuat dan Jenkinsfile tersedia, eksekusi awal memastikan seluruh alur CI berjalan end-to-end. Pengujian ini membantu mendeteksi isu SCM, agen, build container, atau konfigurasi artefak sejak dini.
Scope¶
Mencakup validasi end-to-end checkout, build Hugo, packaging, dan upload artefak ke MinIO. Deployment artefak berada di luar scope fase CI.
Prerequisites¶
- TN-001 hingga TN-005 telah berhasil diselesaikan.
- Jenkins Pipeline item sudah dibuat dan terhubung ke repository.
- Credential SCM dan MinIO sudah tersedia di Jenkins.
Execution Decision¶
PS-ADR-0007 β Use Pipeline as Code¶
Refer to:
Decision
Pengujian awal mengeksekusi definisi pipeline langsung dari Jenkinsfile yang tersimpan di source repository.
Reason
- Memastikan Jenkins menjalankan versi pipeline yang tercatat pada Git.
- Memvalidasi bahwa definisi Pipeline as Code dapat direproduksi tanpa script manual pada Jenkins.
- Menghubungkan hasil pengujian dengan revisi source dan Jenkinsfile yang diuji.
Implementation¶
Run the First Build¶
- Buka item pipeline Jenkins (
personal-site-ciatau nama setara). - Klik Build Now.
- Pantau Console Output.
Expected Result
Jenkins menjalankan build awal dan menampilkan seluruh stage pada Console Output.
Verify the Pipeline Stages¶
Periksa bahwa pipeline berhasil melewati semua stage berikut:
- Checkout β SCM berhasil diambil dari Gitea.
- Verify Agent β agen build tersedia dan dapat menjalankan perintah shell.
- Build Static Site β Hugo berhasil membangun situs ke folder
public. - Package Artifact β artefak
.tar.gzdihasilkan. - Publish Artifact β artefak diunggah ke MinIO.
- Verify Artifact β artefak ditemukan pada bucket
personal-site.
Expected Result
Semua stage pipeline berstatus sukses tanpa ada stage yang dilewati karena error.
Identify Common Issues¶
- Authentication failed saat checkout: periksa scope dan nilai credential
gitea-access-token. - Podman tidak ditemukan pada agent: pastikan rootless Podman terpasang dan agen memiliki akses ke binary.
- Build container gagal: periksa apakah image
ghcr.io/gohugoio/hugo:v0.160.1dapat diunduh dan workspace sudah terpasang dengan benar. - Publikasi artefak gagal: periksa kredensial MinIO, alias
mc, dan endpoint object storage.
Expected Result
Penyebab kegagalan dapat dipetakan ke SCM, agent, build container, atau object storage.
Determine the Next Action¶
- Jika build awal berhasil, pipeline dasar sudah valid dan dapat dilanjutkan ke optimasi selanjutnya.
- Jika build gagal karena lingkungan build atau akses container, lanjutkan dengan menyempurnakan configure containerized build environment dan agen build.
Expected Result
Tindak lanjut ditentukan berdasarkan hasil aktual build awal.
Verification¶
| Item | Status | Notes |
|---|---|---|
| Pipeline job berhasil dijalankan | β | Build pertama selesai tanpa error kritis. |
| Checkout repository berhasil | β | SCM checkout berhasil. |
| Build Hugo berhasil | β | Folder public/ berisi halaman hasil kompilasi. |
Artefak .tar.gz dibuat |
β | File artefak hadir di workspace build. |
| Kondisi agen terverifikasi | β | Agen build dapat menjalankan whoami, pwd, dan podman --version. |
Notes¶
- Simpan log console output untuk analisis jika ada kegagalan.
- Jika pipeline memerlukan penyesuaian lebih lanjut, perbaiki
Jenkinsfiledan ulangi build. - Setelah initial test sukses, siapkan trigger otomatisasi berikutnya seperti webhook Gitea atau multi-branch pipeline.