Apidog Self-hosted Runner dapat dipahami sebagai program otomatis yang dapat dihosting pada server mandiri. Program ini dapat menjalankan tugas di dalam Apidog, seperti pengujian otomatis terjadwal, impor dokumen API terjadwal, dan pengembalian hasil respons mock.Persiapan#
Mesin host (server atau PC lokal) harus sudah menginstal Docker. Versi Docker minimum yang diperlukan adalah 20.10.0, dan versi 20.10.13 direkomendasikan.
Mulai Cepat#
Bagian ini akan memandu Anda tentang cara menerapkan General Runner di server Anda.1. Menerapkan General Runner#
Buka halaman Apidog Home, pilih tim yang Anda inginkan, lalu klik Resources di sebelah kanan. Dari sana, klik Deploy General Runner untuk memulai.2. Mendapatkan Perintah Deployment Runner#
Setelah mengklik Deploy General Runner, salin perintah deployment untuk General Runner dari jendela pop-up. Anda dapat menyesuaikan perintah sesuai kebutuhan, dengan dukungan untuk OS server kustom, port yang diekspos, direktori data yang di-mount, dan lainnya. Berikut adalah penjelasan terperinci mengenai pengaturan tersebut:OS Server: Menentukan sistem operasi untuk kontainer Docker. Ini mencakup Linux, macOS, dan Windows. Memilih sistem operasi yang tepat sangat penting untuk memastikan kontainer Docker beroperasi dengan benar.
Docker Image: Tersedia tiga versi: General, Slim, dan Custom. Jika "skrip kustom" Anda perlu memanggil program eksternal, pilih image yang sesuai untuk instalasi berdasarkan lingkungan yang diperlukan:General: Berisi semua fitur Runner dan sudah dilengkapi dengan lingkungan bahasa berikut: Node.js 18, Java 21, Python 3, dan PHP 8.
Slim: Berisi semua fitur Runner tetapi hanya menginstal Node.js 18 secara bawaan.
Custom: Berisi semua fitur Runner dan mendukung lingkungan bahasa kustom untuk program eksternal. Anda dapat membuat Dockerfile Anda sendiri untuk menambahkan atau menghapus lingkungan sesuai kebutuhan.
Port yang Diekspos: Secara default, kontainer Docker tidak mengekspos port internal untuk akses eksternal. Dengan menggunakan parameter -p, Anda dapat memetakan port internal kontainer ke port pada mesin host, sehingga memungkinkan akses eksternal ke layanan yang disediakan oleh kontainer. Misalnya, -p 80:4524 memetakan port internal 4524 milik kontainer ke port 80 pada mesin host.
Mount Direktori Data: Parameter -v memungkinkan Anda me-mount direktori dari mesin host ke kontainer, sehingga kontainer dapat mengakses dan memanipulasi file pada host (misalnya, konfigurasi database atau program eksternal). Misalnya, -v "/opt/runner":/opt/runner me-mount direktori /opt/runner milik host ke direktori /opt/runner milik kontainer.
Perintah deployment berisi informasi token dan hanya akan ditampilkan satu kali demi alasan keamanan data. Perintah baru akan dibuat setiap kali Anda mengklik Deploy General Runner.Harap simpan perintah tersebut secara lokal, karena Anda dapat menggunakannya untuk peningkatan Runner di masa mendatang.
3. Menerapkan Runner di Server#
Tempelkan perintah deployment yang telah disalin ke terminal server, dan instalasi Runner akan dimulai secara otomatis.Anda dapat mengubah properti deployment Runner melalui variabel lingkungan agar lebih sesuai dengan skenario penggunaan aktual Anda. Baca lingkungan deployment runner untuk informasi selengkapnya. Setelah instalasi selesai, terminal akan mencetak informasi yang relevan. Jika terjadi kesalahan, Anda dapat melakukan pemecahan masalah berdasarkan detail kesalahan. Jika Anda tetap tidak dapat menyelesaikannya, silakan hubungi kami dan berikan umpan balik.4. Melihat Status Runner di Server#
Anda dapat melihat status berjalan kontainer melalui klien Docker.Anda juga dapat menggunakan perintah docker ps di terminal untuk melihat status berjalan kontainer.5. Melihat General Runner yang Telah Diterapkan di Apidog#
Setelah memastikan bahwa kontainer Runner di server telah diterapkan dan diaktifkan, kembali ke Apidog. Anda dapat melihat bahwa Runner telah diterapkan dan terhubung ke Apidog di Team Resources → General Runner.Jika General Runner telah berhasil diterapkan di server, tetapi tidak ditampilkan di klien Apidog, silakan klik tombol segarkan di sisi kanan "General Runner" untuk menyegarkan halaman dan memeriksa kembali.
Anda dapat mengganti nama, menambahkan deskripsi, dan menghapus Runner agar anggota tim Anda dapat menggunakan Runner ini dengan lebih baik; Anda juga dapat menghentikan/memulai ulang Runner.Runner yang ditangguhkan tidak akan lagi menjalankan tugas terjadwal yang ditentukan, dan juga tidak akan dapat membuat tugas terkait baru serta menentukan Runner ini untuk menjalankannya.Lihat tabel berikut untuk penjelasan status Runner:| Status | Deskripsi |
|---|
| Dimulai | Runner diaktifkan secara normal di dalam kontainer pada server, mempertahankan komunikasi dengan Apidog, dan dapat menangani tugas terkait yang diterbitkan oleh Apidog. |
| Dihentikan | Runner dihentikan secara manual di Apidog tetapi tetap berjalan normal di dalam kontainer pada server dan mempertahankan komunikasi. Runner tidak akan memproses tugas yang diterbitkan oleh Apidog, dan tugas baru tidak dapat menentukan Runner yang dihentikan untuk eksekusi. Anda dapat mengaktifkannya secara manual di Apidog untuk mengembalikan Runner ke status dimulai. |
| Offline | Runner terputus dari Apidog dan tidak dapat memproses tugas. Hal ini dapat disebabkan oleh berhentinya kontainer Runner di server atau masalah komunikasi antara server dan Apidog. Untuk memulihkan Runner, pastikan kontainer Runner berjalan dan tidak ada masalah komunikasi dengan Apidog, sehingga Runner dapat kembali ke status dimulai. |
Anda dapat menerapkan beberapa General Runner dalam satu tim. Saat membuat tugas yang memerlukan Self-hosted Runner, anggota tim dapat memilih dari Runner yang tersedia.Menyimpan File di Runner#
Saat menggunakan Runner untuk menjalankan tugas seperti permintaan endpoint, skenario pengujian, dan tugas terjadwal, file lokal tertentu mungkin diperlukan untuk mendukung eksekusi tugas. Contohnya meliputi:Memanggil bahasa pemrograman lain dalam skrip kustom
Menggunakan koneksi database dalam Pre/Post Processors
Menggunakan sertifikat SSL saat mengirim permintaan
Untuk mengakomodasi hal ini, simpan file yang diperlukan di direktori yang ditentukan di dalam kontainer Docker. Saat Runner menjalankan tugas terkait, Runner akan membaca konten file dari direktori yang ditentukan sesuai dengan persyaratan tugas untuk memastikan penyelesaian yang berhasil.Lihat tabel berikut untuk menempatkan file dengan format dan konten yang sesuai ke direktori yang ditentukan agar dapat digunakan:| Konten Penggunaan | Path Direktori yang Ditentukan (atau Nama File) | Contoh Perintah Docker |
|---|
| Bahasa Pemrograman Lain | /app/external-programs/ | -v /Users/xxx/runner/packages/api-test/external-programs:/app/externalPrograms |
| File Konfigurasi Koneksi Database | /app/database/database-connections.json | -v /Users/xxx/runner/packages/api-test/database/database-connections.json:/app/database/database-connections.json |
| File Daftar Sertifikat SSL | /app/ssl/ssl-client-cert-list.json | -v /Users/xxx/runner/packages/api-test/ssl/ssl-client-cert-list.json:/app/ssl/ssl-client-cert-list.json |
Anda dapat merujuk ke Halaman Ini untuk melihat cara mengekspor file konfigurasi dari klien Apidog. Meningkatkan & Menerapkan Ulang Runner#
Meningkatkan Runner#
Saat versi baru Runner dirilis, ikon peningkatan akan muncul di UI Runner desktop. Klik ikon tersebut untuk menginstal versi terbaru yang disediakan oleh Apidog.Mengklik Upgrade akan meminta Anda menghentikan kontainer Runner yang sedang berjalan. Harap diperhatikan bahwa setelah kontainer dihentikan, tugas terjadwal dan tugas apa pun yang dikirim ke Runner ini dari klien tidak akan lagi dijalankan.Setelah Anda mengonfirmasi peningkatan, Apidog akan secara otomatis menghentikan kontainer Runner saat ini dan menyediakan perintah untuk menerapkan versi baru. Ikuti langkah deployment awal untuk menerapkan ulang Runner. Setelah deployment berhasil, Anda akan menggunakan versi terbaru. Catatan: Tugas terjadwal yang sudah ada di klien tidak akan terpengaruh dan tidak perlu ditetapkan ulang.Menerapkan Ulang Runner#
Jika Runner mengalami masalah dan Anda tidak dapat menemukan solusi di bagian Tanya Jawab, atau instruksinya tidak membantu, pertimbangkan untuk menerapkan ulang Runner. Untuk melakukannya, buka bagian More Actions untuk Runner tertentu dan klik Redeploy.Proses deployment ulang sama seperti peningkatan di atas. Catatan: Deployment ulang juga akan menghentikan kontainer Runner.Tanya Jawab#
Gunakan perintah docker ps untuk menemukan Runner yang bermasalah.
Gunakan perintah berikut untuk melihat log:
Langkah 1: Kumpulkan informasi untuk mendiagnosis masalah:
Cari pola kesalahan atau detail operasional
Buka developer tools (Alt+7+8), kirim skenario pengujian ke Runner yang bermasalah, dan catat detail endpoint
Tinjau log Runner untuk mencari pesan kesalahan atau petunjuk apa pun
Langkah 2: Selesaikan masalah:Jika Anda dapat mengidentifikasi masalah dan masalah tersebut tidak disebabkan oleh bug Apidog, perbaiki sendiri
Jika Anda tidak dapat menentukan masalahnya, hubungi komunitas Apidog untuk bantuan lebih lanjut
Langkah 1: Verifikasi Penyelesaian Tugas:
Periksa apakah laporan pengujian untuk tugas terjadwal tersedia di klien Apidog
Tinjau log Runner untuk masalah apa pun
Langkah 2: Periksa konfigurasi notifikasi:Pastikan pengaturan notifikasi disimpan di dalam tugas terjadwal
Periksa kembali bahwa kondisi dan penerima telah dikonfigurasi dengan benar
Coba picu tugas secara manual untuk memastikan apakah notifikasi dikirim dengan benar
Ada dua kemungkinan penyebab untuk kesalahan ini:
Perintah Deployment Dibuat Ulang: Jika Anda membuat perintah, menutup pop-up, lalu mengklik lagi, token baru dapat membuat token sebelumnya tidak valid. Untuk memperbaikinya:Beralih ke tim lain di sudut kiri atas, lalu kembali ke tim tempat deployment Runner diperlukan
Buat ulang perintah deployment, salin, dan jalankan. Pastikan Anda tidak mengklik untuk membuat ulang lagi sampai proses selesai.
Kesalahan Data ID dengan Variabel teamId: Ini adalah bug yang diketahui dan telah diperbaiki di versi terbaru. Jika masalah tetap terjadi:Beralih ke tim lain di sudut kiri atas, lalu kembali ke tim tempat deployment Runner diperlukan
Buat ulang perintah deployment, salin, dan jalankan. Pastikan Anda tidak mengklik untuk membuat ulang lagi sampai proses selesai.