Suponha que alguém familiarizado com DevOps e mainframes, mas que seja novo no Jenkins , queira começar com o Jenkins, por exemplo:
- investigar a viabilidade de gerenciar dados armazenados em arquivos pessoais (PDSes, ou seja, conjuntos de dados particionados ) no mainframe (portanto, ainda não gerenciados por nenhuma das soluções SCM típicas existentes para gerenciar o software de mainframe ).
- executar Jenkins em algum tipo de ambiente de desenvolvimento pessoal, por exemplo, em um ambiente Linux no Virtual Box (se isso fizer sentido).
Após a conclusão de algum tipo (mínimo) de instalação e configuração do Jenkins , a questão real se torna " Which of the typical Jenkins plugins, if any, would be needed?
". Dos vários plugins Jenkins que parecem fazer sentido no meu caso, parece que esses são possíveis candidatos (as citações são das páginas vinculadas):
-
... fornece suas funções via conexão FTP ao IBM z / OS LPAR. É possível configurar seu projeto SCLM no z / OS e, em seguida, verificar as alterações via Jenkins.
Características incluem:
- Envio da tarefa JCL do usuário (com o log opcional coletado após a conclusão).
- Introdução do SCLM como SCM para seus projetos, permitindo fazer check-out das alterações do SCLM.
- A capacidade de construir projetos SCLM atualmente pode ser executada apenas por meio da ação de construção 'Enviar tarefa do zOS'.
Download do código-fonte da Compuware para os plug-ins Endevor, PDS e ISPW .
... permite que os usuários do Jenkins baixem membros do Endevor, PDS ou ISPW do mainframe para o PC. A fonte pode ser acessada no PC, por exemplo, para análises e relatórios do SonarQube.
Como o primeiro plug-in é sobre o SCLM (que é tudo sobre PDSes) e o segundo plug-in explicitamente declara suporte a PDSes (em seu nome), confio que ambos sejam possíveis candidatos.
Então, supondo que minha lista final esteja completa (não é?), Quais são os prós e os contras de qualquer um que me ajudem a decidir qual é o melhor para o meu caso?
Ps: Algo como um pacote "Jenkins Kickstart" parece não existir (pelo menos ainda não o encontrei).
fonte
Respostas:
Eu configurei o jenkins para gerenciar tabelas de mainframe. Utilizando essencialmente o plug-in de script groovy. Eu escrevi um código que lida com o movimento de arquivos no mainframe e os chamo pelo plug-in. Aproveitando essencialmente a API de mainframes para conectar-se e os comandos do vsc para mover os arquivos.
fonte
O escravo Jenkins é executado nos serviços de sistema unix do z / OS e pode executar qualquer script ou função a partir daí. Usamos o plug-in Git para extrair o código-fonte para o z / OS, e você tem diferentes opções de como trabalhar com ele. É possível usar o IBM Dependency Based Build, que é portado pelo Groovy para z / OS, além de algumas extensões para trabalhar especificamente com funções nativas do z / OS, como copiar para PDS (ou PDSE) ou copiar de volta para zFS, além da capacidade de executar o MVS , TSO, ISPF e envia JCL.
Além disso, com o novo anúncio da Zowe, Zowe.org, para um novo projeto de código aberto no z / OS, você também tem acesso a várias APIs baseadas em REST que trabalham com arquivos e executam outras tarefas no z / OS, como chamar o zOSMF.
fonte
Em geral, existem duas maneiras de automatizar ações do Jenkins:
Existem desvantagens / benefícios para ambas as abordagens. Embora o número 1 - a abordagem do plug-in - ofereça funcionalidade imediata e não exija o script, ele pode ser rígido e limitado em suas habilidades. # 2 - a abordagem de script - requer que você escreva scripts, bem como os mantenha, mas pode fornecer muito mais flexibilidade e liberdade na automação das coisas.
A abordagem de script geralmente usa muitas CLIs - aws cli, docker cli, etc.
Se o item 2 - a abordagem de script - for viável e você se sentir à vontade para escrever scripts shell ou outros scripts como python para interagir com o mainframe, o Brightside pode ajudar.
Aqui está um exemplo do uso do Brightside (CLI gratuito) para interagir com o PDS no z / OS a partir de um script de shell:
Aqui está a saída desse script:
Fácil o suficiente para chamar esses scripts do Jenkins e analisar a saída para qualquer finalidade.
Divulgação completa: Trabalho para a CA que criou o Brightside, mas usamos essa CLI internamente com o objetivo exato de integrar nossos testes de aplicativos de mainframe com Jenkins.
fonte
@ Pierre.Vriens, escreva sua pergunta sobre “investigar a viabilidade de gerenciar dados armazenados em arquivos pessoais (PDSes, isto é, conjuntos de dados particionados) no mainframe”. sistema operacional para acessar APIs para isso. Na resposta de Sujay, ele sugere o uso do Brightside e essa ferramenta utiliza as APIs do zOSMF para simplificar essa tarefa. Portanto, se você desejar vincular Jenkins ao Mainframe para gerenciar os Conjuntos de Dados Particionados (PDS) e Conjuntos de Dados (PS), poderá usar essas APIs do zOSMF ou o Brightside .
No espírito da divulgação, trabalho como UX Designer da CA Technologies, que cria a Brightside.
fonte