PDS formatında ana bilgisayar bileşenlerini yönetmek için Jenkins'i kullanmaya başlamak için hangi eklentiyi kullanmalıyım?


13

DevOps ve ana bilgisayarları bilen, ancak Jenkins için yeni olan birinin Jenkins ile başlamak istediği varsayın , örneğin:

Bir çeşit (minimum) Jenkins kurulumu ve yapılandırması tamamlandıktan sonra asıl soru " Which of the typical Jenkins plugins, if any, would be needed?" olur . Benim durumumda mantıklı görünen çeşitli Jenkins eklentilerinden, bunlar olası adaylar gibi görünüyor (alıntılar bağlantılı sayfalardan):

  • IBM zOS Bağlayıcısı .

    ... işlevlerini IBM z / OS LPAR'a FTP bağlantısı üzerinden sağlar. SCLM projenizi z / OS üzerinde yapılandırabilir ve ardından Jenkins aracılığıyla değişiklikleri kontrol edebilirsiniz.

    Özellikler:

    • Kullanıcı JCL işinin teslimi (isteğe bağlı olarak bitim üzerine toplanır).
    • SCLM değişikliklerinin kontrol edilmesini sağlayan projeleriniz için SCLM'nin SCM olarak tanıtılması.
    • Şu anda SCLM projeleri oluşturma yeteneği yalnızca 'zOS Job'u Gönder' oluşturma eylemi ile gerçekleştirilebilir.
  • Endevor, PDS ve ISPW Eklentisi için Compuware Kaynak Kodu İndir .

    ... Jenkins kullanıcılarının Endevor, PDS veya ISPW üyelerini ana bilgisayardan PC'ye indirmesini sağlar. Daha sonra PC'de kaynağa erişilebilir, örneğin SonarQube analizi ve raporlaması için.

1. eklenti SCLM (hepsi PDS'lerle ilgili) hakkında olduğundan ve 2. eklenti PDS'lere (adıyla) açıkça destek verdiğinden, her ikisinin de olası adaylar olduğuna güveniyorum.

Öyleyse kısa listemin tamamlandığını varsayarsak (öyle mi?), Durumum için hangisinin en iyisi olduğuna karar vermeme yardımcı olacak herhangi birinin artı ve eksileri nelerdir?

Ps: "Jenkins Kickstart" paketi gibi bir şey yok (en azından henüz bulamadım).


1
Arayarak, çok fazla arama yaparak ve belki de burada belirli bir konuda bir tuzak olduğunda ne olduğunu sorabilirsiniz. Soru-Cevap kaynağı oluşturmak harika olsa da, bu gerçekten çok geniş.
Tensibai

1
Jenkins ile çözmek istediğiniz bir sorunun ana hatlarını çizerseniz soruya cevap vermek daha kolay olacaktır. Belirli bir sorunu çözmeye çalışmak da yeni bir araç öğrenmek için iyi bir başlangıç!
Michael Le Barbier Grünewald

1
@ Pierre.Vriens Şimdi çok daha iyi görünüyor; düzenleme için teşekkürler. Yeniden açmaya oy verdim.
Aurora0001

1
Yeniden ifade ettikten sonra, sorunuzu çok fazla genelleştirmeye çalışmayın, karşılaştığınız sorunu ve bir duvara baktığınız yeri tarif edin, bence bu en iyi yol.
Tensibai

1
@Tensibai merci tüm yorumlar için (yardım etmeye çalışır) ... Evet "biraz" sert, ama bu konuda çok fazla endişelenmeyin (bunu halledebilirim). Bunun dışında sorumu geliştirmek (daraltmak) için yeni bir girişimde bulunmak.
Pierre.Vriens

Yanıtlar:


2

Anabilgisayar tablolarını yönetmek için jenkinler kurdum. Aslında harika komut dosyası eklentisini kullanmak. Ben anabilgisayarda dosya hareketini işleyen kod yazdım ve eklenti olsa onları çağırmak. Temelde bağlanmak için ana kareler API'sı ve dosyaları taşımak için vsc komutları kullanılır.


2

Jenkins slave, z / OS'nin unix sistem hizmetlerinde çalışır ve oradan herhangi bir komut dosyasını veya işlevi çalıştırabilir. Kaynak kodunu z / OS üzerine çekmek için Git eklentisini kullanıyoruz, ardından onunla nasıl çalışacağınız konusunda farklı seçenekleriniz var. MVS'yi çalıştırma becerisinin yanı sıra PDS'ye (veya PDSE'ye) kopyalama veya zFS'ye geri kopyalama gibi yerel z / OS işlevleriyle özel olarak çalışmak için z / OS'ye taşınan IBM Bağımlılık Tabanlı Yapı'yı ve bazı uzantıları kullanabilirsiniz. , TSO, ISPF komutlarını verir ve JCL'yi gönderir.

Ayrıca z / OS'de yeni bir açık kaynak projesi için yeni Zowe duyurusu ile Zowe.org da dosyalarla çalışan ve z / OS'de zOSMF'yi çağırmak gibi diğer görevleri gerçekleştiren bir dizi REST tabanlı API'ye erişebilirsiniz.


Bunu yapmayı planlıyorum: tüm anabilgisayar dosyalarını GitHub'da depolayın ve Jenkins slave'i US / z / OS'de kurun. Bir taahhüt veya çekme isteği sırasında, GitHub'daki webhook, dosyayı GitHub'dan indirecek ve derleme ve bağlantı için z / OS'ye gönderecek bir Jenkins işini başlatacak (bunu yapmak için perl komut dosyalarımız var). Ne düşünüyorsun?
Jirong Hu

1

Genel olarak, Jenkins'in eylemlerini otomatikleştirmenin iki yolu vardır:

  1. Jenkins için bir eklenti yükleyin ve görevleri otomatikleştirmek için adımlarla kullanın.
  2. Bir komut dosyası (kabuk, python, diğer) yazın ve görevleri otomatikleştirmek için bir adımdan çağırın.

Her iki yaklaşımın dezavantajları / faydaları vardır. # 1 - eklenti yaklaşımı - size kutudan işlevsellik kazandırır ve komut dosyası yazmanızı gerektirmez, ancak katı ve yetenekleri sınırlı olabilir. # 2 - komut dosyası oluşturma yaklaşımı - komut dosyaları yazmanızı ve bunları korumanızı gerektirir, ancak işleri otomatikleştirmede çok daha fazla esneklik ve özgürlük sağlayabilir.

Komut dosyası oluşturma yaklaşımı genellikle çok sayıda CLI kullanır - aws cli, docker cli, vb.

# 2 - komut dosyası oluşturma yaklaşımı - geçerliyse ve ana çerçeve ile etkileşim kurmak için kabuk komut dosyaları veya python gibi diğer komut dosyaları yazmaktan memnunsanız, Brightside yardımcı olabilir.

İşte bir kabuk komut dosyasından z / OS'de PDS ile etkileşim kurmak için Brightside (ücretsiz CLI) kullanma örneği :

    #!/bin/sh
    echo 'bright files create classic "USER.PUBLIC.SAMPLE.PDS"'
    bright files create classic "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files download all-members "USER.LIB.SAMP" -d MyPDS'
    bright files download all-members "USER.LIB.SAMP" -d MyPDS
    echo ''

    echo 'bright files upload dir-to-pds MyPDS "USER.PUBLIC.SAMPLE.PDS"'
    bright files upload dir-to-pds MyPDS "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files list all-members "USER.PUBLIC.SAMPLE.PDS"'
    bright files list all-members "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files delete data-set "USER.PUBLIC.SAMPLE.PDS(ALLOCLIB)" -f'
    bright files delete data-set "USER.PUBLIC.SAMPLE.PDS(ALLOCLIB)" -f
    echo ''

    echo 'bright files list all-members "USER.PUBLIC.SAMPLE.PDS"'
    bright files list all-members "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files delete data-set "USER.PUBLIC.SAMPLE.PDS" -f'
    bright files delete data-set "USER.PUBLIC.SAMPLE.PDS" -f
    echo ''

İşte bu komut dosyasından çıktı:

resim açıklamasını buraya girin resim açıklamasını buraya girin

Jenkins'ten bu komut dosyalarını çağırmak ve çıktıyı herhangi bir amaç için ayrıştırmak için yeterince kolay.

Tam açıklama: Brightside'ı oluşturan CA için çalışıyorum ancak bu CLI'yi dahili olarak ana bilgisayar uygulama testimizi Jenkins ile entegre etmek için kullanıyoruz.


Kullandın mı
civcivler

Bunun soruyu uzaktan bile nasıl yanıtlayabileceğini göremiyorum, lütfen soruyu nasıl cevaplayabileceğini açıklamak için cevabınızı düzenleyin yoksa 24 saat içinde silerim
Tensibai

Elbette, yazıma daha fazla ayrıntı ekleyeceğim.
Sujay Solomon

Bir şey daha, lütfen tanıtımını yaptığınız şirketle olan ilişkinizi açıklayın. Davranış sayfamızda kendi tanıtım paragrafına bakın . Bu dürüst bir cevap girişimi gibi geliyor, boru hattı kullanımı için jenkins'e entegre bir eklenti kullanma noktasını kaçırdığını hissediyorum, ancak en azından artık sadece ürün tanıtımı gibi görünmüyor.
Tensibai

TL; DR: ürünle olan bağlantınızı açıkladığınızda ve sorunun nasıl çözülebileceğini açıkladığınızda, sahip olduğunuz / oluşturduğunuz bir ürünle yanıt vermek tamamdır.
Tensibai

1

@ Pierre.Vriens, “anabilgisayarda kişisel dosyalarda (PDS'ler, yani bölümlenmiş veri setleri) saklanan verileri yönetmenin fizibilitesini araştırın” konusundaki sorunuzu sorun. Z / OS ile birlikte gelen zOS Yönetim Tesisi'ni (zOSMF) kullanabilirsiniz. bunun için API'lara erişmek için işletim sistemi. Sujay'in cevabında Brightside'ı kullanmanızı önerir ve bu araç bu görevi basitleştirmek için zOSMF API'lerine girer. Bu durumda, Bölümlenmiş Veri Kümelerini (PDS) ve Veri Kümelerini (PS) yönetmek için Jenkins'i Ana Çerçeveye bağlamak istiyorsanız, bu zOSMF API'lerini veya Brightside'ı kullanabilirsiniz .

Açıklama ruhuyla, Brightside'ı oluşturan CA Technologies için bir UX Tasarımcısı olarak çalışıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.