Asumsikan seseorang yang akrab dengan DevOps dan mainframe, tetapi baru di Jenkins , ingin memulai dengan Jenkins, misalnya untuk:
- menyelidiki kelayakan mengelola data yang disimpan dalam file pribadi (PDSes, yaitu kumpulan data yang dipartisi ) pada mainframe (jadi, belum, dikelola oleh salah satu solusi SCM khas yang ada untuk mengelola perangkat lunak mainframe ).
- untuk menjalankan Jenkins di beberapa jenis lingkungan pengembangan pribadi, misalnya di lingkungan Linux di Virtual Box (jika itu masuk akal).
Setelah beberapa jenis (minimal) instalasi dan konfigurasi Jenkins selesai, pertanyaan sebenarnya menjadi " Which of the typical Jenkins plugins, if any, would be needed?
". Dari berbagai plugin Jenkins yang tampaknya masuk akal dalam kasus saya, tampaknya ini adalah kandidat yang mungkin (kutipan berasal dari halaman yang ditautkan):
-
... menyediakan fungsinya melalui koneksi FTP ke IBM z / OS LPAR. Anda dapat mengkonfigurasi proyek SCLM Anda di z / OS dan kemudian memeriksa perubahan melalui Jenkins.
Fitur termasuk:
- Pengajuan pekerjaan JCL pengguna (dengan log opsional dikumpulkan setelah selesai).
- Pengenalan SCLM sebagai SCM untuk proyek Anda memungkinkan untuk checkout perubahan SCLM.
- Kemampuan untuk membangun proyek-proyek SCLM saat ini hanya dapat dilakukan melalui tindakan membangun 'Kirim zOS Pekerjaan'.
Download Kode Sumber Compuware untuk Plugin Endevor, PDS, dan ISPW .
... memungkinkan pengguna Jenkins untuk mengunduh anggota Endevor, PDS, atau ISPW dari mainframe ke PC. Sumber kemudian dapat diakses di PC, misalnya, untuk analisis dan pelaporan SonarQube.
Karena plugin pertama adalah tentang SCLM (yang semuanya tentang PDSes), dan plugin ke-2 secara eksplisit menyatakan dukungan untuk PDSes (dalam namanya), saya percaya keduanya adalah kandidat yang memungkinkan.
Jadi dengan anggapan daftar pendek saya sudah lengkap (apakah itu?), Apa pro dan kontra dari salah satu yang akan membantu saya memutuskan mana yang terbaik untuk kasus saya?
P: Sesuatu seperti paket "Jenkins Kickstart" tampaknya tidak ada (setidaknya saya belum menemukannya).
sumber
Jawaban:
Saya mengatur jenkins untuk mengelola tabel mainframe. Pada dasarnya memanfaatkan plugin skrip groovy. Saya menulis kode yang menangani perpindahan file pada mainframe dan memanggilnya melalui plugin. Pada dasarnya memanfaatkan API mainframe untuk terhubung dan perintah vsc untuk memindahkan file.
sumber
Budak Jenkins berjalan dalam layanan sistem unix dari z / OS dan dapat menjalankan skrip atau fungsi apa pun dari sana. Kami menggunakan plugin Git untuk menarik kode sumber ke z / OS maka Anda memiliki pilihan berbeda tentang cara bekerja dengannya. Anda dapat menggunakan IBM Dependency Based Build yang porting Groovy ke z / OS plus beberapa ekstensi untuk secara khusus bekerja dengan fungsi z / OS asli seperti menyalin ke PDS (atau PDSE) atau menyalin kembali ke zFS, serta kemampuan untuk menjalankan MVS , TSO, ISPF memerintahkan dan mengirimkan JCL.
Juga dengan pengumuman Zowe baru Zowe.org untuk proyek open source baru di z / OS Anda juga memiliki akses ke sejumlah API berbasis REST bekerja dengan file dan melakukan tugas-tugas lain pada z / OS seperti memanggil zOSMF.
sumber
Secara umum, ada dua cara untuk mengotomatisasi tindakan dari Jenkins:
Ada kelemahan / manfaat dari kedua pendekatan tersebut. Meskipun # 1 - pendekatan plugin - memberi Anda fungsi di luar kotak dan tidak mengharuskan Anda menulis skrip, mungkin saja sifatnya kaku dan terbatas. # 2 - pendekatan skrip - mengharuskan Anda untuk menulis skrip, serta memeliharanya, tetapi dapat memberikan lebih banyak fleksibilitas dan kebebasan dalam mengotomatisasi hal-hal.
Pendekatan skrip umumnya menggunakan banyak CLI - aws cli, docker cli, dll.
Jika # 2 - pendekatan skrip - layak dan Anda merasa nyaman dengan menulis skrip shell atau skrip lain seperti python untuk berinteraksi dengan mainframe, maka Brightside dapat membantu.
Berikut adalah contoh penggunaan Brightside (CLI gratis) untuk berinteraksi dengan PDS pada z / OS dari skrip shell:
Inilah output dari skrip itu:
Cukup mudah untuk memanggil skrip ini dari Jenkins dan mengurai output untuk tujuan apa pun.
Pengungkapan penuh: Saya bekerja untuk CA yang menciptakan Brightside tetapi kami menggunakan CLI ini secara internal untuk tujuan yang tepat mengintegrasikan pengujian aplikasi mainframe kami dengan Jenkins.
sumber
@ Pierre.Vriens, tanyakan pada Anda tentang “selidiki kelayakan mengelola data yang disimpan dalam file pribadi (PDSes, yaitu kumpulan data yang dipartisi) pada mainframe.”, Anda dapat menggunakan zOS Management Facility (zOSMF) yang dilengkapi dengan z / OS sistem operasi untuk mengakses API untuk itu. Dalam balasan Sujay, ia menyarankan menggunakan Brightside dan alat itu memanfaatkan API zOSMF untuk menyederhanakan tugas itu. Jadi jika Anda ingin mengikat Jenkins ke Mainframe untuk mengelola Set Data Partisi (PDS) dan Set Data (PS), Anda dapat menggunakan API zOSMF ini atau Anda bisa menggunakan Brightside .
Dalam semangat pengungkapan, saya bekerja sebagai Desainer UX untuk CA Technologies yang membangun Brightside.
sumber