Jenkins • CI/CD

Belajar Jenkins untuk QA Automation

Jenkins mengatur kapan dan di mana test berjalan; Jenkins bukan pengganti Playwright atau Appium. Mulai dengan satu pipeline web yang stabil, lalu pisahkan kebutuhan Android ke agent yang mempunyai SDK dan device. Tujuannya adalah hasil test yang bisa ditelusuri kembali ke commit, bukan sekadar tanda hijau.

Lihat kelas Jenkins CI/CD for QA

Panduan Ini Cocok untuk Siapa?

  • Pemula yang sudah memahami Python dasar
  • Peserta yang ingin latihan dengan hasil terukur
  • Praktisi yang sedang merapikan alur automation

Roadmap Belajar Bertahap

  1. Langkah 1

    Siapkan prasyarat

    Cek environment dan file latihan sebelum menjalankan perintah.

  2. Langkah 2

    Jalankan contoh minimal

    Mulai dari satu test agar penyebab kegagalan mudah ditelusuri.

  3. Langkah 3

    Baca hasil dan coba kegagalan

    Ubah ekspektasi untuk memastikan assertion benar-benar bekerja.

  4. Langkah 4

    Hubungkan ke project

    Adaptasi data dan locator, lalu lanjutkan ke panduan terkait.

Pahami controller, agent, dan workspace

Controller mengelola job; agent menyediakan environment eksekusi. Label agent adalah kontrak kemampuan mesin. Label python-browser hanya berguna jika ada agent online dengan Python dan dependency browser yang sesuai.

Workspace menyimpan checkout dan output satu job. Jangan memakai direktori data pribadi sebagai workspace latihan; pipeline contoh membersihkannya sebelum checkout.

  • Simpan Jenkinsfile di Git agar perubahan pipeline dapat direview.
  • Gunakan Pipeline from SCM atau Multibranch supaya checkout scm memiliki konteks.
  • Pisahkan kegagalan environment, test assertion, dan publikasi report.

Dari Playwright lokal ke pipeline

Mulai dari perintah pytest yang berhasil di mesin pengembangan. Jalankan perintah yang sama di agent, lalu tambahkan JUnit XML dan artifact untuk diagnosis. Tutorial pipeline di bawah menyediakan Jenkinsfile dan dua test lokal yang tidak bergantung pada situs eksternal.

Jangan menyembunyikan exit code test dengan || true. Stage Test boleh gagal; post always tetap bertugas mengumpulkan bukti. Jika setup gagal sebelum XML tercipta, hasil build harus tetap memperlihatkan kegagalan itu.

Menambahkan Appium tanpa berebut device

Appium membutuhkan agent Android dengan JDK, SDK, server Appium, driver UiAutomator2, dan akses ke emulator atau device. Jangan menganggap agent web sudah memilikinya.

Mulai dari satu executor untuk satu device. Apabila satu device digunakan beberapa job, gunakan mekanisme lock bersama; disableConcurrentBuilds pada satu job saja tidak mengunci job lain.

  • Tetapkan UDID; jangan membiarkan pemilihan device ambigu.
  • Jalankan smoke test Android secara terpisah dari suite web.
  • Simpan versi APK dan log Appium bersama identitas commit.

Kriteria pipeline latihan yang selesai

Sebuah pipeline siap ditinjau ketika commit terlihat, test gagal menghasilkan build gagal, dan report dapat dibuka. Coba satu kegagalan disengaja pada branch latihan, lalu pulihkan assertion.

Untuk project tim, kunci dependency setelah kombinasi versi tervalidasi. Gunakan credential store untuk akses Git atau environment privat, bukan token di Jenkinsfile.

Pertanyaan yang Sering Ditanyakan

Apakah Jenkins hanya untuk deployment?

Tidak. Pipeline dapat menjalankan test, memproses report, dan menyimpan artifact tanpa melakukan deployment.

Apakah Appium bisa dijalankan di agent web?

Hanya jika agent tersebut juga disiapkan dengan seluruh dependency Android dan akses device. Lebih mudah memisahkan agent berdasarkan kebutuhannya.

Referensi dan bahan latihan

Disusun oleh Kelas Otomesyen. Contoh memakai data latihan; sesuaikan dependency, device, dan locator dengan project.

Unduh starter project (.zip)Unduh petunjuk starter project

Lanjutkan ke Panduan Terkait

Lihat kelas Jenkins CI/CD for QA