Menguji pekerjaan dan saluran pipa Jenkins

10

Saat ini, kami memiliki cukup banyak pekerjaan dan jaringan pipa Jenkins untuk pembuatan, pengujian, penyebaran, dan kegiatan otomatis lainnya.

Setiap kali kami mengubah atau menambah pekerjaan baru, kami hanya mengujinya secara manual - misal pergi ke "jalan bahagia" (ketika pekerjaan dilakukan tanpa kesalahan), menguji beberapa kasus uji negatif ketika pekerjaan atau pipa gagal - memeriksa kode kesalahan dan pemberitahuan.

Pendekatan ini jelas tidak dapat diandalkan dan tidak skala dengan baik. Bagaimana kita dapat meningkatkan proses ini? Apakah ada tempat untuk otomatisasi uji ketika datang untuk memeriksa cara kerja Jenkins dan jaringan pipa?

alecxe
sumber
5
selamat datang di devop tingkat tinggi - siapa yang menguji tes ini? Saya pikir, Anda bisa mulai dengan lingkungan kotak pasir untuk mereplikasi pengaturan sistem umum dan mengembangkannya untuk menyelesaikan Konfigurasi sebagai Code appoach; ini termasuk konfigurasi pekerjaan yang dipelihara kode.
Peter Muryshkin

Jawaban:

10

Saya memposting ini di sini bukan karena saya mendukung solusi ini (pada kenyataannya, saya belum pernah mencobanya), tetapi hanya karena mereka adalah jawaban potensial untuk pertanyaan Anda:

Anda bisa mulai dengan JenkinsPipelineUnit , kerangka kerja pengujian unit untuk skrip Pipeline.

Ada juga sebuah proyek bernama jenkinsfile-runner yang mengeksekusi Jenkinsfile Anda dalam keadaan Jenkins sementara, tanpa kepala. Seharusnya, ini dapat digunakan untuk pengujian integrasi perpustakaan bersama Jenkinsfiles dan Pipeline. Namun, pada musim panas 2018 tidak ada dokumentasi tentang cara menggunakan alat ini untuk pengujian integrasi, dan saya tidak dapat menemukan contoh siapa pun yang menggunakan alat ini "di alam liar".

Lihat juga laporan bug terkait pada Jenkins JIRA: "Test framework for Jenkinsfile" .

jayhendren
sumber