Której wtyczki należy użyć, aby rozpocząć pracę z Jenkins do zarządzania komponentami mainframe w formacie PDS?


13

Załóżmy, że ktoś zaznajomiony z DevOps i komputerami mainframe, ale nowy w Jenkins , chce zacząć od Jenkins, np .:

Po zakończeniu jakiejś (minimalnej) instalacji i konfiguracji Jenkinsa , pytanie brzmi „ Which of the typical Jenkins plugins, if any, would be needed?”. Z różnych wtyczek Jenkins, które wydają się mieć sens w moim przypadku, wydaje się, że są to potencjalni kandydaci (cytaty pochodzą z połączonych stron):

  • Złącze IBM zOS .

    ... udostępnia swoje funkcje poprzez połączenie FTP z partycją LPAR IBM z / OS. Możesz skonfigurować projekt SCLM w systemie z / OS, a następnie sprawdzić zmiany za pośrednictwem Jenkins.

    Dodatki zawarte:

    • Przedłożenie zadania JCL użytkownika (z opcjonalnym dziennikiem zbieranym po zakończeniu).
    • Wprowadzenie SCLM jako SCM do twoich projektów pozwalających na sprawdzenie zmian SCLM.
    • Możliwość budowania projektów SCLM można obecnie wykonać tylko poprzez akcję kompilacji „Prześlij zadanie zOS”.
  • Pobierz kod źródłowy Compuware dla wtyczek Endevor, PDS i ISPW .

    ... pozwala użytkownikom Jenkinsa pobierać członków Endevor, PDS lub ISPW z komputera mainframe na komputer. Dostęp do źródła można uzyskać na komputerze, na przykład w celu analizy i raportowania SonarQube.

Ponieważ pierwsza wtyczka dotyczy SCLM (która dotyczy PDS), a druga wtyczka wyraźnie określa obsługę PDS (w jej nazwie), ufam, że oba są potencjalnymi kandydatami.

Więc zakładając, że moja krótka lista jest kompletna (prawda?), Jakie są zalety i wady któregoś z nich, które powinny pomóc mi zdecydować, który z nich jest najlepszy w moim przypadku?

Ps: Coś w rodzaju pakietu „Jenkins Kickstart” nie istnieje (przynajmniej jeszcze go nie znalazłem).


1
Szukając, dużo szukając i może pytając tutaj, kiedy pojawia się pułapka na konkretny temat. Budowanie zasobu Q / A jest świetne, ale naprawdę zbyt szerokie.
Tensibai

1
Łatwiej odpowiedzieć na pytanie, jeśli chcesz nakreślić problem, który chcesz rozwiązać za pomocą Jenkins. Próba rozwiązania konkretnego problemu jest również dobrym początkiem do nauki nowego narzędzia!
Michael Le Barbier Grünewald

1
@ Pierre.Vriens Wydaje się teraz znacznie lepszy; dzięki za edycję. Głosowałem na ponowne otwarcie.
Aurora0001,

1
Po refleksji nie próbuj zbytnio uogólniać swojego pytania, opisz problem, z którym się stykasz i gdy patrzysz na ścianę, myślę, że to najlepszy sposób.
Tensibai

1
@Tensibai merci za wszystkie komentarze (próby pomocy) ... Tak, „trochę” szorstkie, ale nie przejmuj się zbytnio (poradzę sobie z tym). Poza tym: poczekaj na nową próbę ulepszenia (zawężenia) mojego pytania.
Pierre.Vriens

Odpowiedzi:


2

Skonfigurowałem jenkins do zarządzania tabelami komputerów mainframe. Zasadniczo wykorzystując świetną wtyczkę skryptu. Napisałem kod, który obsługuje ruch plików na komputerze mainframe i wywołuję je przez wtyczkę. Zasadniczo wykorzystuje interfejs API komputerów mainframe do łączenia się i polecenia vsc do przenoszenia plików.


2

Jenkins slave działa w usługach systemu Unix w systemie z / OS i może z niego uruchomić dowolny skrypt lub funkcję. Używamy wtyczki Git do pobierania kodu źródłowego do systemu z / OS, a następnie masz różne możliwości pracy z nim. Można użyć kompilacji opartej na IBM Dependency, która jest Groovy przeniesiona do systemu z / OS, a także niektórych rozszerzeń, aby specyficznie współpracować z natywnymi funkcjami systemu z / OS, takimi jak kopiowanie do PDS (lub PDSE) lub kopiowanie z powrotem do zFS, a także możliwość uruchamiania MVS , TSO, polecenia ISPF i prześlij JCL.

Również dzięki nowej zapowiedzi Zowe.org dla nowego projektu open source w systemie z / OS masz również dostęp do wielu interfejsów API opartych na REST, które działają z plikami i wykonują inne zadania w systemie z / OS, takie jak wywoływanie zOSMF.


Planuję to zrobić: przechowuj wszystkie pliki mainframe w GitHub i zainstaluj Jenkins slave w USS w z / OS. Podczas żądania zatwierdzenia lub pobrania hak WWW w GitHub uruchomi zadanie Jenkins, które pobierze plik z GitHub i prześle do systemu z / OS w celu skompilowania i linku (mamy teraz skrypty Perla). Co myślisz?
Jirong Hu

1

Ogólnie istnieją dwa sposoby automatyzacji działań z Jenkins:

  1. Zainstaluj wtyczkę dla Jenkinsa i używaj jej w krokach do automatyzacji zadań.
  2. Napisz skrypt (shell, python, inny) i wywołaj go od kroku, aby zautomatyzować zadania.

Oba podejścia mają wady / zalety. Podczas gdy # 1 - podejście oparte na wtyczkach - zapewnia gotową funkcjonalność i nie wymaga pisania skryptów, może być sztywne i ograniczone w swoich możliwościach. # 2 - podejście skryptowe - wymaga pisania skryptów, a także ich konserwacji, ale może zapewniać znacznie większą elastyczność i swobodę w automatyzacji rzeczy.

Podejście skryptowe ogólnie używa wielu interfejsów CLI - aws cli, docker cli itp.

Jeśli # 2 - podejście skryptowe - jest wykonalne i nie masz nic przeciwko pisaniu skryptów powłoki lub innych skryptów, takich jak python, do interakcji z komputerem mainframe, to Brightside może ci pomóc.

Oto przykład użycia Brightside (darmowego CLI) do interakcji z PDS w systemie z / OS ze skryptu powłoki:

    #!/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 ''

Oto wynik tego skryptu:

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Łatwo wywołać te skrypty od Jenkinsa i przeanalizować dane wyjściowe w dowolnym celu.

Pełne ujawnienie: Pracuję dla CA, który stworzył Brightside, ale używamy tego CLI wewnętrznie w celu zintegrowania testowania aplikacji mainframe z Jenkins.


Użyłeś tego?
pisklęta

Nie rozumiem, w jaki sposób może to odpowiedzieć na pytanie nawet zdalnie, edytuj swoją odpowiedź, aby wyjaśnić, w jaki sposób można odpowiedzieć na pytanie, lub usunę je w ciągu 24
godzin

Jasne, dodam więcej szczegółów do mojego postu.
Sujay Solomon

Jeszcze jedno, proszę ujawnić swoją przynależność do promowanej firmy. Zobacz akapit dotyczący autopromocji na naszej stronie postępowania . To brzmi jak uczciwa próba odpowiedzi. Czuję, że nie ma sensu używać wtyczki zintegrowanej z jenkinami do użytku potokowego, ale przynajmniej nie wygląda to już na „tylko promocję produktu”.
Tensibai

TL; DR: udzielenie odpowiedzi na pytanie o posiadany / utworzony przez Ciebie produkt jest w porządku, gdy ujawnisz swój link do produktu i wyjaśnisz, w jaki sposób może rozwiązać problem.
Tensibai

1

@ Pierre.Vriens, napisz pytanie o „zbadanie wykonalności zarządzania danymi przechowywanymi w plikach osobistych (PDSes, tj. Partycjonowanych zestawach danych) na komputerze mainframe.”, Możesz użyć zOS Management Facility (zOSMF), który jest dostarczany z systemem z / OS system operacyjny, aby uzyskać do tego dostęp do interfejsów API. W odpowiedzi Sujay sugeruje użycie Brightside, a to narzędzie łączy się z interfejsami API zOSMF, aby uprościć to zadanie. Jeśli więc chcesz powiązać Jenkinsa z komputerem mainframe w celu zarządzania partycjonowanymi zestawami danych (PDS) i zestawami danych (PS), możesz użyć tych interfejsów API zOSMF lub Brightside .

W duchu ujawnienia pracuję jako projektant UX dla CA Technologies, który tworzy Brightside.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.