Troubleshooting¶
Overview¶
Panduan ini merangkum masalah yang ditemukan selama implementasi CI/CD dan langkah diagnosis yang relevan untuk kondisi sistem saat ini. Detail historis tetap tersedia pada Engineering Journal.
Jenkins Job Waits for Agent¶
Symptom
Checks
- Pastikan node benar-benar connected pada Jenkins.
- Pastikan label job sama dengan label node
builder-01. - Periksa agent service, SSH connectivity, Java process, dan executor count.
- Build yang sudah masuk antrean saat agent offline dapat dibatalkan dan dijalankan ulang setelah agent terhubung.
ARTIFACT_NAME Is Empty or Invalid¶
Symptom
Jalankan job melalui Build with Parameters dan isi field bernama
ARTIFACT_NAME, bukan mengganti nama parameter dengan nama artifact.
Contoh nilai:
MinIO Client Receives an Empty Alias¶
Symptom
Pastikan variable dari deployment/CONFIG diekspor sebelum diteruskan melalui
opsi podman run --env. Secret tetap berasal dari Jenkins Credentials.
Artifact Does Not Contain Hugo Site¶
Symptom
- Pastikan Hugo theme submodule telah diinisialisasi.
- Pastikan CI menggunakan versi Hugo yang kompatibel.
- Pastikan CI memvalidasi
public/index.htmlsebelum membuat dan mengunggah archive. - Jalankan kembali CI dan deploy artifact baru; jangan gunakan artifact rusak.
Existing Podman Volume Causes Failure¶
Symptom
Gunakan pemeriksaan idempotent:
if ! podman volume exists www-personal-site; then
podman volume create www-personal-site >/dev/null
fi
Health Status Is Empty¶
Symptom
HTTP berhasil tetapi .State.Health.Status kosong.
Periksa healthcheck configuration:
podman inspect personal-site-web \
--format '{{if .Config.Healthcheck}}configured{{else}}none{{end}}'
Container harus dibuat dengan health command HTTP. Tanpa healthcheck metadata,
Podman tidak akan menghasilkan status healthy atau unhealthy.
Deployment Succeeds but Website Is Unreachable¶
Periksa status container dan port terlebih dahulu:
podman ps --all --filter name=personal-site-web
podman port personal-site-web
curl --fail --show-error http://127.0.0.1:8091/
Jika container berstatus Exited (0) sesaat setelah Jenkins selesai,
pastikan deployment menjalankan Podman dengan cookie yang tidak dibersihkan
oleh Jenkins ProcessTreeKiller:
Jika HTTP lokal berhasil tetapi browser dari perangkat lain gagal, periksa IP
runtime host, bind address 0.0.0.0:8091, route jaringan, dan firewall.
Escalation Path¶
- Catat Jenkins build number dan
ARTIFACT_NAME. - Simpan error stage terkait.
- Periksa
podman ps --all,podman inspect, danpodman logs. - Pastikan artifact yang sama masih tersedia di MinIO.
- Deploy ulang last-known-good artifact jika recovery diperlukan.
Detail root cause dan perubahan implementasi tersedia pada TN-003 β Create Jenkins Continuous Deployment Pipeline.