Modernização de mainframe: domínio de CI/CD | Skillshare Member Nuqui | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Modernização de mainframe: domínio de CI/CD

teacher avatar Skillshare Member Nuqui, Headline...

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Apresentação

      16:45

    • 2.

      Aula 1: o que é CI/CD?

      9:48

    • 3.

      Aula 2: por que CI/CD para mainframes?

      10:47

    • 4.

      Aula 3: conceitos-chave de DevOps e Ágil em Mainframes

      10:08

    • 5.

      Aula 4: visão geral do pipeline de CI/CD para Mainframes

      12:15

    • 6.

      Aula 1: introdução aos sistemas de controle de versão

      12:10

    • 7.

      Aula 2: como configurar o Git para código de mainframe

      11:44

    • 8.

      Aula 3: operações básicas do Git: commit, filial, mesclagem

      10:21

    • 9.

      Aula 4: como migrar código legado para o Git

      12:08

    • 10.

      Aula 1: visão geral da automação de construção

      10:17

    • 11.

      Aula 2: como configurar o Jenkins para compilações automatizadas

      11:20

    • 12.

      Aula 3: automatizando a compilação e o processo de ligação

      10:27

    • 13.

      Aula 4: como integrar a automação de compilação em pipelines de CI/CD

      10:05

    • 14.

      Aula 1: a importância dos testes automatizados

      10:01

    • 15.

      Aula 2: como configurar testes de unidade automatizados para Mainframes

      10:42

    • 16.

      Aula 3: automatizando testes de integração e regressão

      12:26

    • 17.

      Aula 4: incorporando automação de testes ao pipeline de CI/CD

      11:09

    • 18.

      Aula 1: o que é integração contínua?

      11:42

    • 19.

      Aula 2: como configurar Jenkins para integração contínua

      9:56

    • 20.

      Aula 3: disparando compilações e testes automatizados

      10:26

    • 21.

      Aula 4: melhores práticas para pipelines de IC em Mainframes

      10:47

    • 22.

      Aula 1: introdução à entrega contínua (CD)

      11:35

    • 23.

      Aula 2: automatizando implantações de mainframe

      10:35

    • 24.

      Aula 3: como configurar mecanismos de rollback

      10:38

    • 25.

      Aula 4: implantação de ambientes de encenação e produção

      11:50

    • 26.

      Aula 1: considerações de segurança em CI/CD

      12:13

    • 27.

      Aula 2: requisitos de conformidade e regulamentação

      11:38

    • 28.

      Aula 3: controle de acesso e auditoria em pipelines de CI/CD

      11:49

    • 29.

      Aula 4: testes de segurança no pipeline de CI/CD

      12:28

    • 30.

      Aula 1: introdução ao monitoramento de pipeline

      10:48

    • 31.

      Aula 2: como configurar ferramentas de monitoramento e registro

      11:39

    • 32.

      Aula 3: solução de problemas e depuração de pipelines de CI/CD

      10:50

    • 33.

      Aula 4: usando loops de feedback para otimizar pipelines

      10:44

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

2

Estudantes

--

Projeto

Sobre este curso

Modernização de mainframe: domínio de CI/CD

Visão geral do curso

Na modernização de mainframe: domínio de CI/CD, você vai aprender como implementar pipelines de Integração Contínua e Entrega Contínua (CI/CD) personalizados para sistemas de mainframe. Este curso une ambientes de mainframe legados e práticas modernas de DevOps, capacitando você a agilizar fluxos de trabalho, aumentar a produtividade e preparar sua organização para o futuro.

O que você aprenderá

Ao final deste curso, você vai dominar:

  • Como criar pipelines de CI/CD para ambientes de mainframe.
  • Como automatizar construções, testes e implantações para melhorar a eficiência.
  • Como implementar sistemas de controle de versão como Git com bases de código de mainframe.
  • Como integrar verificações de segurança e conformidade em pipelines de CI/CD.
  • Otimização e dimensionamento de pipelines para sistemas grandes e complexos.

Você também vai ganhar acesso ao livro complementar, repleto de insights práticos e materiais de referência.

Por que fazer esse curso?

  • Transforme fluxos de trabalho legados: aprenda como modernizar processos de mainframe com CI/CD, um divisor de águas para organizações.
  • Aumentar a eficiência: agilize construções, testes e implantações para economizar tempo e reduzir erros.
  • Avanço na carreira: ganhe habilidades necessárias que unem o conhecimento tradicional de mainframe com práticas modernas de DevOps.
  • Aplicativos do mundo real: aplique o que você aprende para otimizar sistemas de missão crítica em setores como finanças, saúde e governo.

Para quem é este curso

Este curso é perfeito para:

  • Desenvolvedores de mainframe que buscam adotar práticas modernas.
  • Engenheiros de DevOps integrando mainframes em pipelines empresariais.
  • Gerentes de TI impulsionando a transformação digital.

Pré-requisitos: a familiaridade com ambientes de mainframe (por exemplo, COBOL, z/OS) e conceitos básicos de DevOps é útil, mas não é necessário.

Materiais e recursos

Você precisará de:

  • Um computador com acesso à internet.
  • Familiaridade com controle de versão básico e ferramentas de DevOps.
  • A modernização de mainframe: livro complementar de CI/CD (fornecido com inscrição).

Vamos mergulhar agora e dar o primeiro passo para dominar a modernização de mainframe com CI/CD!

Conheça seu professor

Teacher Profile Image

Skillshare Member Nuqui

Headline...

Professor

I am a retired Mainframe Systems Programmer (Specialist), now using my time to write books and create online courses. My interests are Mainframes (of course!), and writing Self Help books and Food Recipe books. I like to read Science Fiction and Fantasy books. I also like to watch Science Fiction movies (I'm a Trekkie, not so much a Star Wars fan).

I have over 30 years of experience on Mainframe systems, as a Systems Programmer, Project Manager and Compute Infrastructure Head, specializing on Mainframe infrastructure and z/OS operating system. I have worked for Service Bureaus, Financial Institutions and Outsourcing Service Providers.

Visualizar o perfil completo

Level: Intermediate

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Apresentação: Bem-vindo à modernização do mainframe, ao AICD Mastering. Meu nome é Ricardo Nuki Sou seu instrutor neste curso Objetivo geral do curso. O objetivo deste curso é equipar profissionais de mainframe com o conhecimento, as habilidades e as ferramentas necessárias para implementar a integração contínua, o slash, a entrega contínua ou os pipelines CICD Ao final do curso, os alunos serão capazes de projetar, automatizar e gerenciar fluxos de trabalho do CICD especificamente personalizados para sistemas de mainframe, levando a uma maior eficiência, ciclos de implantação mais rápidos, aprimoramento da qualidade do código e Este curso visa preencher a lacuna entre as operações tradicionais de mainframe e as práticas modernas de Devo, garantindo que os alunos possam integrar com sucesso processos automatizados do CICD sem comprometer a estabilidade, a segurança ou a conformidade de suas infraestruturas de Habilidades, conhecimentos e habilidades. O objetivo do curso é focar em fornecer aos alunos as habilidades, conhecimentos e habilidades necessários para implementar e gerenciar com sucesso a integração contínua e os pipelines CICD slash Continuous Delivery Pipe para Ao final deste curso, os alunos terão dominado o seguinte Um, compreensão dos princípios do CICD no contexto do mainframe Os alunos terão uma compreensão clara dos conceitos modernos do CICD e como isso pode ser aplicado a ambientes de mainframe legados Eles entenderão todo o ciclo de vida de integração, teste, implantação e entrega contínuos específicos para Segundo, construir e automatizar tubulações CICD de mainframe. Estudantes que aprendem a projetar e configurar pipelines automatizados de CICD personalizados para ambientes de mainframe, desde a integração inicial do código teste, a implantação e a entrega automatizados Três, dominar ferramentas específicas de mainframe para CICD. Eles ganharão proficiência nas ferramentas específicas de mainframe necessárias, criarão e gerenciarão pipelines CICD, como IBM, Urban Co Deploy, Jenkins, Humpueopas Urban Co Deploy, Jenkins, Humpueopas Os alunos saberão como integrar essas ferramentas em seu ambiente de mainframe existente Quatro, controle de versão e gerenciamento de código. Os alunos aprenderão as melhores práticas para gerenciar código-fonte do mainframe com sistemas modernos de controle de versão Por exemplo, forneça e entenda como lidar com ramificação, mesclagem e controle de versão em um pipeline CICD de mainframe Cinco, testes automatizados e garantia de qualidade. Os alunos aprenderão como implementar processos de teste automatizados, como teste unitário, teste de integração e teste de regressão, ou aplicativos de mainframe como parte do pipeline do CICD Eles entenderão como garantir que a qualidade do código seja mantida durante todo o processo de implantação. Seis, garantindo segurança e conformidade nos pipelines do CICD. Os alunos entenderão como proteger dutos do CICD e garantir que segurança e a conformidade sejam mantidas mesmo em ambientes altamente regulamentados Isso inclui o gerenciamento de controles de acesso, auditorias e análises de segurança como parte do pipeline automatizado Sete, orquestrando o CICD em ambientes de nuvem híbrida. Eles serão capazes de integrar mainframes em ambientes híbridos onde infraestrutura de nuvem desempenha um papel, garantindo que os pipelines do CICD abranjam perfeitamente mainframe e não mainframe Oito, solução de problemas e otimização de tubulações CICD. Os alunos adquirirão habilidades de solução para identificar gargalos ou falhas em seus pipelines de CICD e aprenderão como otimizá-los para obter Nove, gerenciamento de mudanças e colaboração em equipe. Eles obterão estratégias para gerenciar colaboração da equipe durante a implementação dos pipelines do CICD, incluindo como promover uma cultura desenvolvida em organizações centradas em mainframe e obter a adesão de equipes resistentes a mudanças Dez, aplicações no mundo real e estudos de caso. Os alunos trabalharão com cenários do mundo real e estudos de caso para ver como o CICD é implementado com sucesso no ambiente de mainframe Eles serão equipados com modelos, listas de verificação e exemplos práticos para implementar o CICD em sua própria organização Ao final do curso, os alunos estarão confiantes em sua capacidade de implementar, gerenciar e otimizar pipelines CICD automatizados para o sistema de mainframe, garantindo que a infraestrutura de mainframe de sua organização esteja pronta para o futuro, mais eficiente e alinhada às práticas modernas Aqui estão oito etapas ou estágios específicos que as pessoas devem seguir ao implementar a integração contínua slash Continuous Delivery ou CICD em mainframes Um, estabelecer um sistema de controle de versão ou VCS para código de mainframe A ação principal é introduzir um sistema moderno de controle de versão, como código-fonte do mainframe de gerenciamento do Git Também migre o código legado de repositórios tradicionais, por exemplo, endeavor ou Change Man para o VCS, garantindo que toda a equipe entenda Por que isso é importante? Um VCS é essencial para colaboração, gerenciamento de código e processamento automatizado Ele serve como a espinha dorsal dos pipelines do CICD permitindo a integração contínua e Em segundo lugar, automatizar o processo de construção. principais ações incluem configurar processos de criação automatizados para aplicativos de mainframe usando ferramentas como Jenkins, Apretopaz ou IBM Configure scripts para compilar código, vincular objetos e criar componentes de mainframe implantáveis automaticamente quando as alterações forem confirmadas no repositório confirmadas no repositório Por que isso é importante? Automatizar o processo de criação é crucial para reduzir erros manuais e garantir que todas as alterações sejam compiladas e preparadas para testar Em terceiro lugar, implementar testes automatizados. As ações incluem incorporar testes automatizados ao pipeline, incluindo testes unitários, testes de integração, teste regressão e, possivelmente, testes de desempenho Utilize ferramentas como IBM Rationale, DA endeavor ou scripts personalizados para automatizar testes específicos para o para Por que isso é importante? Os testes automatizados garantem que novas alterações no código sejam validadas adequadamente antes de serem transferidas para a produção, reduzindo o risco de defeitos e instabilidade do sistema Quarto, integração contínua ou configuração de CI. principais ações incluem integrar ferramentas como Jenkins ou GitLab CI um sistema de controle de versão para acionar automaticamente o processo de criação e teste sempre que um novo código for enviado ao repositório Garanta que o sistema de CI forneça feedback sobre o sucesso ou o fracasso de compilações e testes, notificando os desenvolvedores em tempo real Por que isso é importante? A CI permite a detecção rápida de problemas de código, incentivando um processo de desenvolvimento mais iterativo e eficiente O objetivo é integrar o código com frequência para evitar problemas de integração posteriormente. Em quinto lugar, automatizar as implantações de mainframe. As ações incluem configurar scripts ou ferramentas de implantação automatizados, por exemplo, IBM Urban code Deploy Jenkins ou scripts de gravação personalizados para lidar com a implantação de aplicativos de mainframe em ambientes de teste, preparação e produção Estabeleça portas de implantação para conformidade, verificações de segurança e aprovações manuais, quando necessário. Por que isso é importante? implantação automatizada reduz os erros manuais, acelera os ciclos de lançamento e garante consistência da fluidez do código em todos os ambientes. Mas seis, entrega contínua ou CD com mecanismos de reversão As ações incluem implementar pipelines que possam fornecer mudanças contínuas no ambiente de produção por meio de intervenção manual mínima Inclua mecanismos e estratégias de reversão em caso de falha, garantindo que as implantações possam ser revertidas sem causar Por que isso é importante? A entrega contínua melhora o fluxo geral de atualizações, garantindo que novos recursos ou correções possam ser entregues à produção de forma rápida e confiável Os mecanismos de reversão mitigam os riscos. Sete ciclos de monitoramento, registro e feedback. As ações incluem configurar ferramentas de monitoramento para configurar o desempenho das implantações e identificar problemas após a implantação Por exemplo, IBM, Omegamon ou Splum. Implemente alertas automatizados para falhas e integre ciclos de feedback para melhorar continuamente o pipeline do CICD. Por que isso é importante? monitoramento contínuo garante que os problemas sejam detectados no início da produção e que os ciclos de feedback forneçam dados para melhorar os ciclos futuros de implantação e implantação R: gerenciar a colaboração em equipe e a cultura de DevOps. As ações incluem promover a colaboração entre as equipes de desenvolvimento e operações para garantir que todos estejam alinhados com os processos do CICD. Treine equipes sobre as melhores práticas para CICD em ambientes de mainframe e incentive uma cultura de melhoria contínua e automação Por que isso é importante? implementação bem-sucedida do CICD não depende apenas da tecnologia, mas de um ambiente de equipe colaborativo em que tanto a Deb quanto a ups trabalham em estreita colaboração O curso é dividido em oito módulos da seguinte forma. Módulo um, introdução ao CICD para mainframes. Este módulo apresentará os princípios fundamentais do CICD e como eles se aplicam ao ambiente de mainframe Ele abordará os conceitos básicos de integração contínua, entrega contínua e a importância da modernização no sistema legado Objetivo de aprendizagem: ao final do módulo, você será capaz de explicar os princípios fundamentais do CICD e descrever como eles se aplicam ao ambiente de mainframe Módulo dois, configurando o controle de versão para o código do mainframe Os alunos aprenderão como implementar e gerenciar sistemas de controle de versão como o Git em um contexto de mainframe Este módulo abordará a importância do controle de origem, estratégias de ramificação e de como migrar o código de mainframe dos Objetivo de aprendizagem: ao final do módulo, você poderá configurar um sistema de controle de versão para código de mainframe e demonstrar o processo de atualização, ramificação e mesclagem de ramificação e mesclagem Módulo três, automatizando construções de mainframe. Este módulo aborda como configurar processos de criação automatizados para aplicativos de mainframe Os alunos aprenderão a configurar ferramentas como Jenkins, IBM, Urban code build ou scripts personalizados para automatizar a compilação e a vinculação da base de código de mainframe Objetivo de aprendizagem. Ao final do módulo, você poderá configurar um processo de criação automatizado para um aplicativo de mainframe e verificar se a compilação e a vinculação do código foram bem-sucedidas Módulo quatro, implementando testes automatizados para mainframes Neste módulo, os alunos aprenderão como implementar testes automatizados para integração e regressão de unidades para aplicativos de mainframe Eles explorarão ferramentas e estratégias para garantir a qualidade e a estabilidade do código durante todo o ciclo de desenvolvimento. Objetivo de aprendizagem: ao final do módulo, você poderá criar e integrar testes automatizados para integração de unidades e testes de regressão no pipeline do CICD para um aplicativo de mainframe Módulo cinco, integração contínua ou configuração do pipeline de CI. Os alunos aprenderão como instalar e configurar uma integração contínua ou um pipeline de CI ou mainframes usando ferramentas como Jenkins ou GitLab Este módulo se concentrará na automação de compilações, testes e ciclos de feedback para desenvolvedores Objetivo de aprendizado: ao final do módulo, você poderá configurar um pipeline de CI usando ferramentas como Jenkins ou GitLab CI e acionar a criação e o teste automatizados após a confirmação do código do Módulo seis, automatizando implantações e confirmação do código do Módulo seis, automatizando implantações Este módulo aborda a automação da implantação em todo o ambiente, por exemplo, teste, preparação e produção usando ferramentas como o IBM Urban code Deploy Ele também ensinará aos alunos como estabelecer mecanismos de reversão para Objetivo de aprendizagem: ao final do módulo, você poderá configurar um processo de implantação automatizado para aplicativos de mainframe e implantar com êxito as alterações um ambiente de preparação ou produção com mecanismos de reversão Módulo sete, garantindo segurança e conformidade nos pipelines do CICD Os alunos aprenderão como integrar medidas de segurança e verificações de conformidade em seus pipelines do CICD para atender aos padrões regulatórios e de segurança específicos para ambientes de mainframe Objetivo de aprendizagem: ao final do módulo, você poderá implementar controles de segurança e verificações de conformidade em um pipeline do CICD, garantindo que os processos de automação atendam aos requisitos Módulo oito, monitoramento, feedback e otimização de pipelines No módulo final, os alunos explorarão as melhores práticas de monitoramento e registro. Eles aprenderão a usar ferramentas para monitorar implantações, solucionar problemas e otimizar continuamente seus pipelines de CICD com base em Objetivo do aprendizado: ao final do módulo, você poderá configurar ferramentas de monitoramento e registro para tubulações CICD e usar ciclos de feedback para identificar e otimizar ineficiências Vamos começar. Hum, 2. Aula 1: o que é CI/CD?: Bem-vindo ao Módulo 1, Introdução ao CICD para mainframes Neste módulo, você aprenderá os conceitos básicos de integração contínua ou CI e entrega contínua ou CD e como essas práticas se aplicam a ambientes de mainframe Ao final do módulo, você terá uma sólida compreensão dos benefícios que o CICD traz para desenvolvimento e implantação de software em mainframes Primeira lição, o que é CICD? Bem-vindo à primeira lição de modernização de mainframe, o domínio do CICD Nesta lição, vamos explorar os conceitos fundamentais por trás da integração contínua ou CI e da entrega contínua ou CD Antes de mergulharmos na implementação do CICD em mainframes, é fundamental ter uma compreensão sólida do que esses termos significam, como eles diferem e por que são tão transformadores em ambientes IP modernos, Vamos detalhá-lo passo a passo. O que é integração contínua ou CI? integração contínua ou CI é uma prática de desenvolvimento de software em que as alterações de código são integradas automaticamente em um repositório compartilhado várias vezes ao dia Isso garante que pequenas atualizações sejam continuamente testadas e validadas por meio de compilações e testes automatizados Veja como a CI funciona em um ambiente típico. Primeiro, os desenvolvedores escrevem código e fazem confirmações frequentes em um repositório central Segundo, uma fatura automática é acionada sempre que um novo código é enviado, compilando o aplicativo e verificando problemas como erros de sintaxe Em seguida, testes automatizados são executados para validar o novo código, garantindo que ele não introduza bugs nem interrompa o aplicativo existente O feedback em tempo real é fornecido aos desenvolvedores para que eles possam resolver imediatamente quaisquer problemas. Resumindo, a CI trata da integração precoce e frequente do código para detectar problemas mais cedo ou mais tarde. Isso pode ser um divisor de águas para o desenvolvimento de mainframe, que tradicionalmente depende de ciclos de lançamento longos e lentos, nos quais as ciclos de lançamento longos e lentos alterações são agrupadas em lotes e testadas com pouca frequência Vamos dar um exemplo. Digamos que você esteja trabalhando em um programa COVA que processa transações financeiras Em um ambiente tradicional, você pode desenvolver suas alterações quatro semanas antes de executar um teste abrangente. No entanto, com o CI, toda vez que você realiza uma pequena atualização, talvez uma alteração em um cálculo específico ou um novo recurso de geração de relatórios, um processo automatizado imediatamente cria e testa o aplicativo, detectando erros precocemente Isso reduz o risco de erros entrarem na produção. O que é entrega contínua ou CD? entrega contínua ou City se baseia na base da CI Depois que o código é integrado, testado e validado por meio da CI, City automatiza a próxima etapa, entregando essas alterações aos ambientes produção ou próximos à produção Em termos mais simples, o City garante que seu código esteja sempre em um estado implantável Com o City, você pode implantar automaticamente o código validado um ambiente de teste ou teste Segundo, execute testes adicionais ou verificações de segurança para garantir a conformidade. Três, aprove ou configure manualmente um processo automatizado para mover o código para a produção O objetivo do City é agilizar todo o processo de entrega para que as atualizações possam ser implantadas com rapidez e confiança, permitindo que as empresas coloquem recursos ou correções na produção com frequência, muitas vezes várias vezes ao dia Vamos dar um exemplo. Imagine que sua equipe acabou de adicionar um patch de segurança essencial a um aplicativo de mainframe que lida com dados confidenciais de clientes Usando o CD, depois que o código passar por todos os testes na fase de CI, ele pode ser implantado automaticamente um ambiente de preparação onde você pode executar os testes de aprovação final Se tudo estiver correto, você poderá colocá-lo ao vivo com o clique de um botão, minimizando o tempo de inatividade e garantindo que as atualizações de segurança sejam aplicadas rapidamente Quais são as diferenças entre CI e CD? Embora o CI e o CD sejam frequentemente discutidos juntos, é importante entender suas funções distintas. CI ou integração contínua se concentra em automatizar o processo de integração de código e garantir que ele CD ou a entrega contínua, por outro lado, dá um passo adiante, automatizando o processo de implantação do código testado no ambiente e preparando-o para O CD ou a entrega contínua, por outro lado, dá um passo adiante, automatizando o processo de implantação do código testado no ambiente e preparando-o para produção. Pense nisso dessa forma. PI trata de integrar e validar código forma consistente e automatizada, e CD trata entregar e implantar esse código validado rápido possível sem intervenção manual Para sistemas de mainframe, essa combinação de CI e CD pode levar a implantações muito mais rápidas e confiáveis em comparação com os métodos tradicionais, nos quais as alterações de código geralmente são atrasadas por processos lentos de teste e implantação manuais Principais benefícios da adoção do CICD em qualquer ambiente. A implementação do CICD pode transformar radicalmente a forma como você desenvolve e implanta software Aqui estão os benefícios mais notáveis. Primeiro, ciclos de feedback mais rápidos. CI permite a identificação precoce de bugs automatizando os testes assim que um novo código é enviado Isso permite que os desenvolvedores corrijam os problemas imediatamente, em vez de esperar até o final de um longo ciclo de desenvolvimento. Segundo, maior qualidade de código. Os testes automatizados durante os pipelines do CICD garantem que código atenda aos padrões de qualidade antes de chegar à produção Isso reduz bugs, tempo de inatividade e falhas no sistema. Crítico em ambientes como bancos, onde os mainframes geralmente operam Em terceiro lugar, reduza os riscos de implantação. Com o CD, o código é implantado em pequenos incrementos, facilitando o isolamento e a correção de problemas Se algo der errado, mecanismos alternativos podem reverter rapidamente as mudanças, minimizando o impacto Quarto, aumente a produtividade. automação de compilações, testes e implantações permite que sua equipe se concentre em escrever e melhorar o código, em vez Essa eficiência é vital para manter os aplicativos de mainframe atualizados em setores competitivos Quinto, lançamentos mais frequentes. Ao permitir implantações mais rápidas e confiáveis, o ICD permite lançamentos mais frequentes de recursos, patches de segurança e correções de bugs, melhorando a capacidade de resposta do seu sistema às demandas do Principais conclusões desta lição. A CI ajuda a integrar e testar o código de forma automática e frequente. O CD automatiza o processo de entrega e implantação. Garantir que o código esteja sempre em um estado implantável. Juntos, o CICD reduz os riscos, acelera o feedback, melhora a qualidade do código e permite lançamentos de software mais rápidos e confiáveis Atividade de aprendizagem. Reflita sobre seu processo de desenvolvimento atual. Você está usando alguma ferramenta de automação para integração ou implantação de código em seu mainframe Quais desafios você enfrenta com seu processo atual? Considere uma alteração recente que você fez em um aplicativo de mainframe Imagine como o CI NCD teria tornado esse processo mais rápido, seguro e eficiente Anote as etapas em que a automação poderia ter reduzido a intervenção manual ou os erros. O que vem a seguir? Na próxima lição, vamos nos aprofundar no Y CICD para mainframes Exploraremos os desafios dos ciclos tradicionais de desenvolvimento de mainframe e como CICD pode acelerar drasticamente o desenvolvimento e a implantação de aplicativos de mainframe Também abordaremos equívocos comuns que podem estar impedindo sua equipe de adotar 3. Aula 2: por que CI/CD para mainframes?: Lição dois, um CD de CI para muitos quadros. Bem-vindo à segunda lição do Módulo 1. Na primeira lição, abordamos os conceitos básicos de integração contínua ORCI e CD de entrega contínua Agora é hora de se aprofundar no motivo pelo qual o CICD é particularmente valioso no contexto de mainframes Se você trabalha em ambientes de mainframe por qualquer período de tempo, sabe que eles geralmente são vistos como intocáveis da TI, sólidos, confiáveis, mas notoriamente Eles explorarão os desafios impostos pelos ciclos tradicionais de desenvolvimento de mainframe, como o CICD pode resolver esses problemas e desmascarar alguns equívocos comuns que podem estar impedindo sua equipe de adotar totalmente as práticas modernas como o CICD pode resolver esses problemas e desmascarar alguns equívocos comuns que podem estar impedindo sua equipe de adotar totalmente as práticas modernas desenvolvidas. Os desafios dos ciclos tradicionais de desenvolvimento de mainframe Vamos começar reconhecendo o elefante na sala. Historicamente, o desenvolvimento de mainframes tem sido lento, metódico e, muitas vezes, rígido Isso não é por acaso. Isso decorre da natureza crítica de muitos sistemas de mainframe, especialmente em setores como bancos, governo e saúde, mas o tempo de inatividade não é uma opção Aqui estão alguns dos principais desafios que surgem dos ciclos tradicionais de desenvolvimento de mainframe Longos ciclos de desenvolvimento e lançamento. desenvolvimento de mainframe normalmente segue uma abordagem em cascata, na qual as alterações são projetadas, desenvolvidas, testadas e lançadas em grandes lotes pouco frequentes Uma alteração que leva alguns dias para ser codificada pode levar semanas ou até meses para passar para teste, aprovação e implantação. Vamos dar um exemplo. Imagine que uma instituição bancária precise atualizar seu sistema de processamento de transações para lidar com os novos regulamentos de conformidade. Embora a codificação em si leve apenas algumas semanas, os extensos testes e aprovações necessários para garantir a estabilidade e a segurança do sistema podem levar o cronograma de lançamento para seis meses isoladas, equipes de desenvolvimento e operação geralmente trabalham em Os desenvolvedores criam o código e, uma vez pronto, ele passa pelas operações de teste e implantação. Essa falta de integração pode causar atrasos e mal-entendidos Outro exemplo, se um bug for encontrado em uma versão, o processo de identificar o problema, comunicá-lo entre o desenvolvimento e as operações, corrigi-lo e testá-lo pode resultar em atrasos desnecessários Isso é especialmente frustrante em ambientes em que atualizações urgentes são essenciais Teste e implantação manuais. desenvolvimento tradicional de mainframe geralmente depende de processos manuais de teste e implantação, que aumenta o risco de erro humano e retarda Cada alteração deve ser validada manualmente, o que não só é demorado, mas também pode ser inconsistente. Vamos dar um exemplo. Imagine uma agência governamental que precisa implementar um novo recurso em seu sistema de processamento tributário. Como os processos de teste e implantação são manuais, até mesmo pequenas mudanças levam um tempo significativo para serem validadas, aumentando o risco de prazos não cumpridos ou de investimentos entrarem na produção Como o CICD pode acelerar o desenvolvimento e a implantação do mainframe Agora que analisamos os desafios, vamos voltar para as soluções, CICD. implementação do CICD em ambientes de mainframe aborda muitos dos pontos problemáticos que acabamos Veja como criar ciclos de desenvolvimento e lançamento mais curtos. Com o CIC, as mudanças são integradas e testadas continuamente. Isso significa que os desenvolvedores podem enviar atualizações incrementais menores com frequência em vez de esperar por um grande pacote Os testes automatizados garantem que cada atualização seja validada rapidamente, permitindo feedback e resolução de problemas muito mais rápidos . Vamos dar um exemplo. Suponha que uma empresa de varejo executando seu gerenciamento de inventário em um sistema de mainframe implemente Agora, em vez de atualizações trimestrais, demoram meses para testar e lançar, equipe pode implantar pequenas melhorias de recursos ou correções de erros semanalmente, aumentando consideravelmente a agilidade da empresa Equipes integradas e colaboração aprimorada. CICD incentiva as práticas de DevOps, que eliminam os silos entre as equipes de desenvolvimento e desenvolvimento Desenvolvedores e operações trabalham juntos durante todo o processo, desde a codificação até a implantação, garantindo transferências mais fáceis e resolução mais rápida de problemas Ferramentas como Jenkins e IBM Urban code permitem que ambas as equipes operem a partir de um único pipeline, facilitando o acompanhamento do progresso e a correção de problemas de forma colaborativa Veja um exemplo. A Financial Services Company integra suas equipes de desenvolvimento e operações por meio do CICD Agora, se surgir um problema de implantação, as duas equipes podem colaborar em tempo real no mesmo pipeline, reduzindo o tempo necessário para corrigir o problema de dias para horas Teste e implantação automatizados. Um dos maiores benefícios do CICD é a automação. Teste e implantação, duas das partes mais demoradas do desenvolvimento tradicional de mainframe, podem ser automatizados testes automatizados garantem que todas as alterações no código sejam validadas imediatamente e que a implantação automatizada mova o código testado para os vários ambientes como preparação e produção com o mínimo de intervenção manual Vamos dar um exemplo. Digamos que um profissional de saúde precise atualizar seu sistema de registro de pacientes. Com o CICD implementado, todo o processo de teste e implantação pode ser automatizado, garantindo que as mudanças sejam implementadas rapidamente sem interromper os serviços aos pacientes Equívocos comuns sobre o CICD no mainframe. Apesar do claro benefício, algumas organizações ainda hesitam em adotar o CICD para seus mainframes devido a Vamos abordar alguns dos mais comuns. Os mainframes são muito estáveis para o CICD. Alguns acreditam que, como os mainframes são altamente estáveis, a maneira tradicional de fazer as coisas funciona muito bem e não há necessidade de CICD Segundo, os mainframes não conseguem lidar com a automação. Há uma percepção de que os mainframes são muito complexos ou antiquados para lidar com ferramentas de automação modernas O CICD é muito arriscado para sistemas críticos. Alguns temem que a adoção do CICD em sistemas de mainframe de missão crítica introduza muitas mudanças Abordando esses equívocos. Embora a estabilidade seja crucial, essa estabilidade não precisa custar a agilidade O ICD permite que você mantenha a estabilidade enquanto reduz o risco de erros e acelera Os mainframes podem ser totalmente integrados a ferramentas como Jenkins, Git ou código urbano para permitir testes, construções e implantações automatizados Na verdade, muitas organizações já estão fazendo isso com sucesso. Na verdade, o CICD reduz o risco ao permitir pequenas atualizações incrementais em vez de grandes mudanças arriscadas automação também reduz a possibilidade de erro humano durante o teste e a implantação. Conclusões desta lição. ciclos tradicionais de desenvolvimento de mainframe Os ciclos tradicionais de desenvolvimento de mainframe geralmente são lentos e rígidos, mas o CICD oferece uma maneira de acelerar o desenvolvimento e a implantação mantendo CICD integra a equipe de desenvolvimento e operações, quebrando silos e teste e a implantação automatizados podem reduzir significativamente o tempo e o esforço necessários para lançar alterações nos sistemas de mainframe Conceitos errôneos sobre o CICD em mainframes são comuns, mas muitas organizações estão adotando com sucesso essas práticas Atividade de aprendizagem. Pense em uma atualização recente ou bug stick que você estava envolvido na implantação em seu sistema mainframe Quanto tempo demorou do desenvolvimento à implantação? Onde estavam os principais gargalos? Como os testes automatizados, a integração contínua ou a entrega contínua poderiam integração contínua ou a entrega contínua reduzir o tempo e o esforço envolvidos nessa implantação? Anote suas respostas e considere como CICD pode transformar os desafios específicos que sua equipe enfrenta O que vem a seguir? Na próxima lição, apresentaremos os principais conceitos de DevOps e agilidade em Você aprenderá como a cultura de DevOps e as práticas ágeis aprimoram a colaboração entre as equipes de desenvolvimento e operações e como a adoção desses princípios pode otimizar ainda mais seu 4. Aula 3: conceitos-chave de DevOps e Ágil em Mainframes: Lição três, conceitos-chave de DevOps e agilidade em mainframes Bem-vindo à lição três do Módulo 1. Até agora, exploramos o que é o CICD e por que ele é essencial para Na lição de hoje, abordaremos dois conceitos cruciais que tornam CICD não apenas possível, mas também um DevOps bem-sucedido e Se você vem de um ambiente tradicional de mainframe, esses termos podem parecer mais comuns no mundo dos aplicativos baseados em nuvem No entanto, as práticas ágeis do DevOps podem melhorar significativamente os processos de desenvolvimento de mainframe, especialmente quando combinadas com Ao final desta lição, você entenderá como adaptação dessas culturas e práticas pode melhorar a colaboração, agilizar o fluxo de trabalho e , por fim, modernizar a forma como você trabalha Introdução à cultura e mainframes de DevOps. Vamos começar com o DevOps. A palavra Devops combina desenvolvimento e operações, mas representa muito mais do que apenas a fusão de dois departamentos DevOps é uma mudança cultural, uma filosofia que enfatiza a colaboração, automação e a responsabilidade compartilhada em todo o ciclo de vida da entrega de software O que é Devos? O DevOps se concentra em quebrar os silos entre desenvolvimento e as equipes de operações Em vez de os desenvolvedores escreverem código e colocá-lo no chão para as operações de implantação, DevOps promove a colaboração contínua do início ao fim O objetivo final do DevOps é fornecer software mais rapidamente, com maior qualidade e menos riscos Vamos dar um exemplo. Em um ambiente tradicional de mainframe, os desenvolvedores podem escrever programas de capa, mas é a equipe de operações que lida com testes, implantação e manutenção Isso geralmente leva a gargalos. DevOps faria com que essas duas equipes trabalhassem juntas desde o início Quando um novo recurso é desenvolvido, a equipe de operações já está ciente do que ele precisa, como ele será implantado e de quaisquer riscos potenciais Como o DevOp se aplica ao mainframe? Embora a Devo tenha suas raízes em sistemas distribuídos e baseados em nuvem, ela é cada vez mais importante em ambientes de mainframe. Os aplicativos de mainframe podem ser complexos, essenciais e interligados Isso torna a colaboração promovida pela Devox ainda mais valiosa Automatizar fluxos de trabalho, criar um entendimento compartilhado entre equipes e promover melhorias contínuas são tão relevantes em mainframes quanto em qualquer outro sistema Vamos dar um exemplo. Imagine uma companhia aérea que depende de mainframes para lidar com reservas No DevOps, desenvolvedores e operações podem trabalhar juntos para implantar atualizações, como um novo recurso de recompensas para clientes, sem problemas Os testes e a implantação automatizados garantem que o sistema permaneça estável e que não haja interrupções no serviço Práticas ágeis em mainframes. Agora vamos falar sobre o Agile. Você já deve ter ouvido falar do Agile no contexto de equipes pequenas e flexíveis, criando aplicativos web ou móveis, mas o Agile também pode ser adaptado ao mundo do mainframe O que é Agile? O Agile é uma metodologia de gerenciamento e desenvolvimento de projetos que enfatiza a flexibilidade, progresso iterativo e o feedback Em vez de ciclos de desenvolvimento longos e rígidos, as mudanças são implementadas em grandes lotes, Agile promove o trabalho em iterativos curtos Cada impressão fornece uma pequena parte viável do projeto que é revisada, testada e aprimorada com base no feedback Vamos dar um exemplo. Em um ambiente tradicional de mainframe, as atualizações de um sistema de cobrança podem ser planejadas ao longo de meses e lançadas como uma atualização importante Por outro lado, com o Agile, uma equipe de desenvolvimento pode introduzir mudanças incrementais menores em uma série de impressões de duas semanas Cada alteração é testada e refinada antes do início da próxima impressão. Ágil no desenvolvimento de mainframe. Agile permite que você lance recursos ou atualizações menores com mais frequência, o que é especialmente útil em grandes ambientes de mainframe, onde grandes mudanças podem ser Ao testar e refinar continuamente os recursos em ciclos curtos, Agile ajuda a reduzir bugs, melhorar a qualidade do software e agregar valor mais rapidamente aos negócios princípios fundamentais do Agile, que são melhoria contínua, colaboração e flexibilidade, podem ser aplicados até mesmo em sistemas de mainframe complexos Por exemplo, um banco que usa práticas ágeis em seus ciclos de desenvolvimento de mainframe pode atualizar seu sistema de processamento de empréstimos gradualmente ao longo de vários sprints Cada sprint pode se concentrar na adição de um novo recurso, na execução de testes e no recebimento de feedback dos usuários, permitindo que a equipe detecte e corrija problemas logo antes do lançamento completo Como a Devo aprimora a colaboração entre as equipes de desenvolvimento e operações Agora que exploramos o que são Devos e Agile, vamos ver como o Devov aprimora especificamente aprimora Lembre-se de que a maneira antiga de fazer as coisas, em que o desenvolvimento e as operações eram dois grupos distintos e separados, geralmente leva a falhas de comunicação, atrasos e frustração Veja como a Devos transforma isso. Primeiro, responsabilidade compartilhada. Em uma cultura desenvolvida, equipe de desenvolvimento e operações compartilha a responsabilidade pelo sucesso de um projeto. Isso significa que ambas as equipes estão envolvidas em todo o ciclo de desenvolvimento , do planejamento à implantação e muito mais. Por exemplo, em um ambiente de mainframe, isso pode parecer que os desenvolvedores trabalham em estreita colaboração com a equipe de operação para testar novos recursos de cobol em condições reais, reduzindo o risco de falhas na implantação Segundo, a automação preenche a lacuna. Ferramentas de automação como Jenkins, Urban code e outras fornecem uma plataforma compartilhada na qual ambas as equipes podem trabalhar Automatizar o processo de teste e desenvolvimento significa menos idas e vindas entre desenvolvedores e operações, menos erros manuais e lançamentos mais rápidos Por exemplo, automatizar suítes de testes para um sistema de saúde executado em estruturas principais garante que tanto os desenvolvedores quanto as operações saibam exatamente quando uma mudança está pronta para produção, eliminando a incerteza decorrente do processamento manual Três, feedback e melhoria contínuos, se desenvolve e incentiva ciclos de feedback contínuos Isso significa que cada equipe obtém informações em tempo real sobre o desempenho do sistema e pode responder rapidamente aos problemas corrigidos. Para mainframes, isso é inestimável para evitar o tempo de inatividade, resolver bugs com mais rapidez e garantir a confiabilidade Por exemplo, no sistema de inventário de uma empresa de varejo, se um bug for introduzido durante o lançamento de um novo recurso, tanto a equipe de desenvolvimento quanto a de operações podem ver dados e registros em tempo real, permitindo que solucionem e resolvam problemas juntos antes que eles aumentem Principais conclusões desta lição DevOps promove a colaboração e responsabilidade compartilhada entre a equipe de desenvolvimento e operações, resultando em lançamentos mais rápidos e confiáveis Agile permite ciclos iterativos curtos que reduzem os riscos e melhoram a qualidade do software por meio de feedback contínuo Tanto o Devos quanto os princípios ágeis podem ser aplicados com sucesso a ambientes de mainframe para eliminar silos, otimizar o fluxo A automação é um componente essencial do Devos, ajudando as equipes a trabalharem juntas forma eficiente e reduzindo os erros manuais Atividade de ganho. Pense em seu processo atual de desenvolvimento e implantação de mainframe processo atual de desenvolvimento e implantação As equipes de desenvolvimento e operações estão trabalhando juntas durante todo o ciclo de vida do projeto? Onde estão as maiores lacunas de comunicação ou processo? Como a adoção de práticas de DevOps ou métodos ágeis pode melhorar a colaboração e acelerar seus Anote suas ideias e considere como implementar a automação ou trabalhar em ciclos iterativos menores pode resolver alguns dos desafios que você está enfrentando atualmente O que vem a seguir? Na próxima lição, vamos nos aprofundar na visão geral do pipeline do CICD para mainframes Você aprende o detalhamento passo a passo de um pipeline típico do CICD e como cada estágio se traduz especificamente para o mundo do mainframe Prepare-se para ver como um pipeline moderno pode transformar seus processos de mainframe 5. Aula 4: visão geral do pipeline de CI/CD para Mainframes: Lição quatro, visão geral do pipeline CICD para mainframes Bem-vindo à lição quatro do Módulo 1. Nesta lição, vamos explorar o pipeline do CICD em detalhes, detalhando cada etapa e mostrando como ela se traduz em sistemas de mainframe É aqui que tudo o que abordamos até agora começa a se unir à medida que passamos da compreensão da teoria por trás CICD para ver como ela funciona na prática Ao final desta lição, teremos uma compreensão clara dos vários estágios em um pipeline típico do CICD e você poderá ver como essas etapas se aplicam especificamente ao ambiente de mainframe Se você estiver trabalhando com CBO, PL one ou outras linguagens de mainframe, o princípio permanece o mesmo, vamos começar. O que é um pipeline CICD? Vamos começar com uma definição básica. Um pipeline de CICD é uma série de etapas automatizadas que levam o código do desenvolvimento à produção, garantindo a qualidade e reduzindo os erros manuais ao longo do caminho Pense no pipeline como uma linha de fabricação para seu software. O código entra em uma extremidade e, quando sai na outra, ele é integrado, testado, criado e entregue em um ambiente de produção ativo, tudo com o mínimo de intervenção humana No contexto dos mainframes, o pipeline automatiza muitos dos processos manuais que podem retardar o desenvolvimento, teste e a implantação, ajudando você a entregar mais rápido e com mais confiança Detalhamento passo a passo de uma tubulação CICD. Agora, vamos percorrer os estágios típicos de um pipeline CICD Abordaremos cada etapa em detalhes para que você possa ver como ela funciona e como se aplica ao seu ambiente de mainframe Número um, confirmação de código. O que acontece? É aqui que tudo começa. Os desenvolvedores escrevem código e confirmam suas alterações em um sistema de controle de versão ou em um VCS, como Git, endeavor ou hangen Isso aciona o pipeline. Por exemplo, digamos que você esteja trabalhando em um novo recurso para seu sistema de mainframe que processa pedidos de clientes Você escreveu o código, o testou localmente e agora está pronto para enviá-lo para o repositório compartilhado Quando você clica em Confirmar, o pipeline do CICD entra em ação automaticamente Como isso se traduz em mainframe. Os desenvolvedores de mainframe podem estar usando sistemas tradicionais como o Endeavor para gerenciamento de código, mas o conceito de controle de versão continua Como abordaremos nas próximas aulas, usar ferramentas modernas como o Git ou integrar ferramentas VCS existentes aos pipelines do CICD é o primeiro passo para a Dois, integração contínua ou CI. O que acontece? O próximo estágio é a integração contínua ou CI. Aqui, o pipeline integra automaticamente o novo código à base de código existente Isso envolve extrair o código mais recente do repositório e executar compilações e testes automatizados para garantir que tudo continue funcionando Por exemplo, seu novo recurso integra descontos para clientes ao sistema de processamento de pedidos O pipeline de CI testa automaticamente esse recurso com o resto do aplicativo para garantir que nada esteja quebrado, evitando surpresas no futuro Como isso se traduz em mainframes. Em mainframes, testes automatizados são cruciais. Em vez de criar e testar manualmente as alterações, que podem ser lentas e propensas a erros, a etapa de CI compila e executa testes automatizados no código do seu mainframe, seja ele CBO, BL one ou JCL Ferramentas como Jenkins ou IBM Urban code build podem automatizar esse processo Três, testes automatizados. O que acontece? Depois que a compilação é concluída, o pipeline executa uma série de testes automatizados. Isso normalmente inclui testes de unidade, testes integração e testes de regressão , dependendo da sua configuração Por exemplo, depois de confirmar seu código, o pipeline executa testes automaticamente para garantir que seu novo recurso de desconto calculado corretamente em diferentes cenários, como diferentes categorias de produtos ou tipos de clientes Se algo quebrar, você saberá imediatamente. Como isso se traduz em mainframes. Os testes em mainframes geralmente são mais complexos devido às dependências de sistemas externos Os testes automatizados ajudam a reduzir a carga manual. Com ferramentas CICD modernas, você pode automatizar os testes em todas as etapas, desde testes unitários que verificam módulos de paralelepípedos individuais até testes de integração que garantem que tudo funcione Quatro, construa e empacote. O que acontece? Depois que o código for testado, o pipeline passa para o estágio de construção e empacotamento. É aqui que o código é compilado, se necessário, e empacotado em um formato implantável pronto para Por exemplo, imagine que você está lançando um novo sistema de processamento em lote para transações financeiras O processo de criação compila todo o código necessário, vincula todas as dependências e o empacota em um formato pronto para implantação no Como isso se traduz em mainframes. Em mainframes, esse estágio envolve compilar programas cobble ou PL one, vincular dois pacotes DV e vincular JCL e outros arquivos O pipeline do CICD garante que isso aconteça automaticamente, seguindo sempre o mesmo processo rigoroso , sem intervenção manual Cinco, entrega contínua ou CD. O que acontece? A entrega contínua é a próxima fase. Depois que o código é criado ou empacotado, ele é entregue automaticamente a um ambiente de teste, onde passa por mais testes Por exemplo, seu novo recurso de pedido de cliente é implantado um ambiente de teste onde pode ser testado com dados do mundo real Os usuários podem interagir com ele como se estivesse ativo, mas sem afetar o sistema de produção. Como isso se traduz em mainframes. Os mainframes tradicionalmente envolvem vários ambientes, desenvolvimento, teste, preparação e produção CD automatiza o processo de implantação entre esses ambientes, garantindo que o código se mova perfeitamente de um estágio para o outro sem etapas manuais Isso reduz o tempo de implantação e minimiza os riscos. Seis, da implantação à produção. O que acontece? Depois que tudo for aprovado no ambiente de teste, o pipeline envia o código validado testado Em alguns casos, isso pode envolver um processo de aprovação manual, especialmente em ambientes altamente regulamentados como bancos ou serviços de saúde. Por exemplo, quando seu novo recurso é aprovado em fase de testes, ele é colocado em produção, o que significa que todos os clientes agora podem usar o novo recurso de desconto no ambiente ao vivo Como isso se traduz em mainframes. Para mainframes, a implantação da produção pode ser a parte mais arriscada do processo, especialmente se envolver sistemas de missão crítica Ao automatizar o processo de implantação, os pipelines do CICD reduzem a probabilidade de erros e garantem que as implantações ocorram de forma consistente e pipelines do CICD reduzem a probabilidade de erros e garantem que as implantações ocorram de forma consistente e confiável. Você pode até mesmo implementar mecanismos de reversão se algo der errado Sete, monitoramento e feedback. O que acontece? Após a implantação, o pipeline não para. Ele monitora o aplicativo em produção, rastreando o desempenho, os erros e o feedback do usuário. Por exemplo, você implantou o novo recurso, mas agora o pipeline monitora seu desempenho, garantindo que o sistema possa lidar com a nova lógica de desconto sob cargas pesadas de usuários e rastreando quaisquer bugs ou problemas que surjam Como isso se traduz em mainframe. Os mainframes precisam de ferramentas de monitoramento robustas para monitorar o desempenho após o desenvolvimento Ao integrar ferramentas de monitoramento e registro ao pipeline do CICD, você receberá dados em tempo real sobre o desempenho do seu aplicativo, permitindo que você detecte e resolva problemas rapidamente Como cada estágio se traduz em sistemas de mainframe. Como você pode ver, cada estágio do pipeline do CICD tem relevância direta para os mainframes, do controle de versão aos testes automatizados, da implantação ao monitoramento Cada etapa pode ser adaptada ao seu ambiente de mainframe. Para integração de confirmação de código com ferramentas VCS tradicionais de mainframe, Endeavor ou change Man ou ferramentas modernas Integração contínua. Automatizando compilações e testes usando Jenkins, código urbano ou ferramentas similares Teste automatizado, executando testes cobol ou PLO em todas as etapas para garantir a qualidade do código Crie e empacote, compile e empacote o código do mainframe automaticamente, reduzindo o trabalho manual Entrega contínua, movendo perfeitamente código por diferentes ambientes do desenvolvimento à produção Implantação, implantações de produção automatizadas, consistentes e confiáveis com mecanismo de desvantagem Monitoramento, rastreamento de desempenho em tempo real para garantir a estabilidade do sistema e a detecção precoce de problemas. Principais conclusões desta lição. Um pipeline CICD é uma série de etapas automatizadas que levam o código do desenvolvimento à produção com o mínimo de intervenção manual Cada estágio do pipeline, confirmação de código, integração, teste, empacotamento, entrega e implantação pode ser adaptado aos sistemas de mainframe automação desses estágios reduz o risco de erro humano, acelera o desenvolvimento e garante lançamentos mais confiáveis Atividade de aprendizagem. Pense em seu processo atual de desenvolvimento e implantação para seu ambiente de mainframe. Quais etapas do pipeline do CICD são atualmente manuais? Onde estão os maiores gargalos em seu Anote como a automação de cada estágio pode melhorar sua velocidade de desenvolvimento e reduzir erros O que vem a seguir? Na próxima lição, exploraremos o controle de versão para código de mainframe Você aprenderá por que o controle de versão é essencial, como integrar ferramentas modernas, como o Gift, e como migrar de sistemas tradicionais, como o Endeavor ou Essa é uma etapa crucial na configuração um pipeline do CICD para se preparar para mergulhar 6. Aula 1: introdução aos sistemas de controle de versão: Módulo dois. Configurando um controle de versão para o código do mainframe Neste módulo, exploraremos como sistemas de controle de versão para VCS são usados para gerenciar o código do mainframe Você aprenderá sobre ferramentas modernas como o Git, as comparará com sistemas de mainframe tradicionais , como Endeavor e Change Man, e entenderá por que controle de versão é Lição 1, introdução aos sistemas de controle de versão. Bem-vindo à primeira lição do módulo dois. Neste módulo, estamos dando um passo crucial para modernizar seu ambiente de mainframe, focando em sistemas de controle de versão ou Esta lição é sobre os fundamentos, o que é controle de versão, por que é tão importante e como ferramentas modernas como o Git se comparam aos sistemas de mainframe tradicionais, e como ferramentas modernas como o Git se comparam aos como Endeavor Ao final desta lição, você entenderá o papel que o controle de versão desempenha no ambiente moderno e legado e estará pronto para dar o próximo passo na configuração do Git para sua base de código de mainframe Hum, o que é controle de versão e por que é importante? Vamos começar respondendo a uma pergunta simples, mas vital. O que é controle de versão? Em essência, um controle de rsão é um sistema que rastreia as alterações nos arquivos ao longo do tempo Pense nisso como uma máquina do tempo para seu código. Você pode voltar às versões anteriores, ver o que mudou e quem fez essas alterações. Em um ambiente colaborativo, controle de versão permite que várias pessoas trabalhem no mesmo projeto sem intervir umas nas outras Veja como funciona. Uma rachadura muda. Toda vez que um desenvolvedor faz uma alteração na base de código, o Controle de Versão registra essa alteração como uma nova versão ou quando chega . Colaboração. Com o Controle de Versão, os desenvolvedores podem trabalhar em diferentes partes da mesma base de código simultaneamente. O sistema rastreará quem está trabalhando em quê e garantirá que as mudanças não entrem em conflito umas com as outras. Reversão. Se algo der errado, digamos que um bug seja introduzido. O controle de versão permite reverter para uma versão estável anterior do código. Por que isso é tão importante em um ambiente de mainframe? Mainframe de sistemas críticos em funcionamento, bancos, seguros, assistência médica e outros, onde a estabilidade é fundamental O controle de versão garante que você tenha uma rede de segurança quando as coisas derem errado. À medida que as equipes de mainframe se modernizam e se tornam mais ágeis, elas precisam de ferramentas que suportem o desenvolvimento colaborativo, integração contínua e as implantações rápidas, tudo isso facilitado com o controle de versão elas precisam de ferramentas que suportem o desenvolvimento colaborativo, a integração contínua e as implantações rápidas, tudo isso facilitado com o controle de versão . Vamos dar um exemplo. Imagine que você está trabalhando em um sistema de cobrança para uma seguradora O sistema tem centenas de milhares de linhas de código CVL. Agora, sua equipe tem a tarefa de adicionar um novo recurso que calcula descontos para clientes O controle de versão ajuda a rastrear todas as alterações feitas nessa grande e complexa base de código. Se um bug for introduzido, você poderá rastrear facilmente quem fez a alteração e quando e reverter rapidamente para uma versão estável anterior Ferramentas populares de controle de versão, Git versus sistemas de mainframe tradicionais Agora que você entende por que controle de versão é tão importante, vamos comparar dois tipos de sistema de controle de versão. Ferramentas modernas, como o Git, e sistemas de mainframe tradicionais, como Endeavor O padrão moderno para controle de versão. Git é o sistema de controle de versão mais popular em ambientes de desenvolvimento modernos É amplamente utilizado em várias plataformas, nuvem, dispositivos móveis, desktops e, sim, até mesmo em mainframes Principais características do Git one, sistema distribuído, é um sistema de controle de versão distribuído, o que significa que cada desenvolvedor tem uma cópia completa do repositório em seu sistema o que significa que cada desenvolvedor tem local Isso permite operações rápidas e a capacidade de trabalhar offline. Dois, ramificando. Bit se destaca na criação ramificações para diferentes recursos ou correções de bugs Você pode isolar o trabalho em uma ramificação e somente mesclá-lo novamente ao código principal quando estiver totalmente testado e pronto Em terceiro lugar, a colaboração, a natureza distribuída do Git, facilita a colaboração de grandes equipes As alterações são mescladas perfeitamente em conflitos, como quando duas pessoas editam o mesmo arquivo, são resolvidas por meio das ferramentas integradas do Git Vamos dar um exemplo. Digamos que sua equipe esteja trabalhando em vários recursos ao mesmo tempo. Um grupo está atualizando a lógica de paralelepípedos para calcular o prêmio de seguro, enquanto outro grupo está adicionando um novo módulo para recompensas de clientes O Get permite que cada equipe crie sua própria filial, trabalhe isoladamente e mescle as alterações quando estiver pronta Isso mantém a tabela principal baseada em código enquanto diferentes recursos estão sendo desenvolvidos. Empenhe-se e mude o Man, sistemas de mainframe tradicionais. outro lado, temos sistemas tradicionais de controle de versão de mainframe como Endeavor e Essas ferramentas foram projetadas especificamente para ambientes de mainframe e têm sido usadas há décadas para gerenciar as bases de código CBO, DL one e JCL Principais características do esforço e mudança, o homem. Controle centralizado Ao contrário do Git, essas ferramentas geralmente são centralizadas, o que significa que há um único repositório qual os desenvolvedores trabalham Isso garante um controle rigoroso sobre a base de código, o que pode ser importante para setores altamente regulamentados. Segundo, integração com fluxos de trabalho de mainframe. Esses sistemas são totalmente integrados a outros processos de mainframe, tornando-os convenientes para equipes já estão familiarizadas com fluxos de trabalho específicos de mainframe terceiro lugar, processos de aprovação, esforços e mudanças O Homem geralmente Em terceiro lugar, processos de aprovação, esforços e mudanças O Homem geralmente inclui processos de aprovação integrados, garantindo que o código seja revisado e aprovado antes de ser implantado na Vamos dar um exemplo. Considere uma agência governamental executando um sistema de folha de pagamento em um mainframe Cada linha de código deve ser cuidadosamente revisada e aprovada antes de ser implantada. Com esforço ou mudança, o processo de aprovação é construído para garantir a conformidade com as rígidas Git versus sistemas tradicionais, principais diferenças Vamos resumir as principais diferenças entre o Git e sistemas de mainframe tradicionais para Git, Cada desenvolvedor tem uma cópia completa do repositório. Modelo moderno de ramificação flexível que oferece suporte vários desenvolvedores trabalhando em recursos diferentes ao mesmo tempo Rápido e eficiente para equipes de qualquer tamanho. Empenhe-se ou mude, homem, controle centralizado com governança rígida, geralmente preferido para setores regulamentados, profundamente integrado aos fluxos de trabalho do mainframe, o que pode ser um ponto forte, mas também uma limitação, se você estiver tentando se modernizar processos de aprovação tradicionais estão incorporados, mas podem ser mais lentos em comparação com a ramificação e fusão mais rápidas do Git Os processos de aprovação tradicionais estão incorporados, mas podem ser mais lentos em comparação com a ramificação e fusão mais rápidas do Git. Vamos dar um exemplo. Sua equipe está trabalhando em um sistema antigo que processa milhões de transações financeiras diariamente. Embora o Git permita desenvolvimentos e flexibilidade anteriores, você também pode precisar se esforçar ou mudar alguém para garantir que o sistema atenda aos rígidos padrões de conformidade e que todas as alterações sejam devidamente revisadas antes Por que o Git é crucial para o CICD em mainframes. À medida que continuamos avançando em direção a uma abordagem CICD modernizada em mainframes, Git está se tornando o sistema de controle de versão padrão Aqui está o porquê. Um, suporte para DevOps e CICD. O Git se integra perfeitamente às ferramentas de DevOps como Jenkins, Essas ferramentas contam com o Git para acionar compilações e testes automatizados, tornando-o a espinha dorsal de um pipeline CICD moderno Segundo, espionagem e flexibilidade, sua natureza distribuída permite ciclos de desenvolvimento mais rápidos Os desenvolvedores podem trabalhar em recursos isolados, confirmar alterações com frequência e mesclá-las quando estiverem prontos, tudo sem atrasar o processo geral de desenvolvimento Três, colaboração, WIT suporta o desenvolvimento colaborativo melhor do que os sistemas tradicionais Com seus recursos de ramificação e fusão, Git permite que várias equipes trabalhem na mesma base de código simultaneamente Vamos dar um exemplo. Imagine que você está criando um aplicativo de mainframe para um banco internacional Sua equipe está distribuída em vários países, cada um trabalhando em diferentes partes do código. Ele permite que essas equipes colaborem sem problemas, garantindo que cada alteração seja testada e integrada automaticamente sem interromper o Hum, principais conclusões desta lição. Os sistemas de controle de versão rastreiam as alterações em seu código, permitindo colaboração , rastreamento e reversões quando necessário Git é o padrão moderno para controle de versão, fornecendo colaboração distribuída, ramificação flexível e operações rápidas sistemas de mainframe tradicionais, como Endeavor e o Change Man, oferecem controle centralizado e estão profundamente integrados Git é essencial para as práticas modernas de CICD, oferecendo a flexibilidade e a velocidade necessárias para o ambiente DevOps Atividade de aprendizagem. Reserve um momento para refletir sobre suas práticas atuais de controle de versão Você está usando um sistema tradicional como o Endeavor ou o Change Man Quais desafios você enfrenta com seu sistema de controle Version atual Como o uso do Git pode melhorar sua colaboração, velocidade e automação Anote suas ideias e considere como uma transição para o Git pode se encaixar em seus esforços de modernização O que vem a seguir? Na próxima lição, vamos começar configurar o Git para código de mainframe Você aprenderá passo a passo como configurar o Git para repositórios de mainframe, instalá-lo em seu ambiente e começar a usá-lo para gerenciar seu código cobol, AL one Prepare-se para dar o próximo passo na modernização do fluxo de trabalho de seu mainframe 7. Aula 2: como configurar o Git para código de mainframe: Lição dois, iniciando o Git para código de mainframe. Bem-vindo à lição dois do módulo dois. Nesta lição, vamos conhecer o GIP, um dos sistemas de controle de versão mais poderosos e amplamente usados no mundo Ao final desta lição, você saberá como configurar o Git para sua base de código de mainframe, instalá-lo e configurá-lo em seu ambiente e começar a gerenciar seu código COBOL, EL one ou JCL Git pode parecer uma ferramenta reservada para desenvolvedores de nuvem e web, mas é uma parte essencial da modernização dos mainframes e da transição para Vamos começar. Guia passo a passo para configurar o Git para repositórios de mainframe Antes de nos aprofundarmos nos detalhes, vamos dar uma olhada de alto nível nas etapas que você seguirá para colocar o Git em funcionamento em seu ambiente de mainframe Abordaremos um, instalando o Git em seu sistema, dois, configurando o Git com seu repositório, três, inicializando o repositório Git para seu código de mainframe e quatro conectando seu repositório de mainframe e quatro configurando o Git com seu repositório, três, inicializando o repositório Git para seu código de mainframe e quatro conectando seu repositório de mainframe ao servidor remoto. Um, primeiro passo, instalar o Git. Primeiro, precisamos instalar o GIF. Se você estiver trabalhando em um ambiente híbrido que inclui mainframes e sistemas distribuídos, você instalará o Git na máquina que faz interface com seu No Linux e no Unix, você pode instalar o Git usando o gerenciador de pacotes Esta é a instrução que você emitirá para instalar o Git No Windows, baixe e instale o Git para Windows no site oficial do Git Depois que o Git estiver instalado, verifique a instalação abrindo um terminal e digitando esta instrução Isso deve retornar a versão instalada do GIP. Vamos dar um exemplo. Imagine que você está trabalhando com um sistema híbrido em que os desenvolvedores codificam em um servidor Linux, mas o código acaba sendo implantado em um mainframe ZOS Você instala o Git no servidor Linux, permitindo que os desenvolvedores acompanhem as mudanças e colaborem em tempo real Etapa 2: configurar o Git ou seu repositório. Depois que o Git estiver instalado, a próxima etapa é configurá-lo para funcionar com seu repositório Isso envolve definir seu nome de usuário e endereço de e-mail para que o Git possa rastrear quem está fazendo as alterações Para definir seu nome de usuário e e-mail, você emite esses dois comandos. Por que isso é importante? Cada commit no Git é associado a um autor Definir essas informações garante que suas alterações sejam atribuídas corretamente Para grandes sistemas de mainframe, rastrear quem fez as alterações é fundamental para a contabilidade e a colaboração Etapa três, inicializando um repositório Git para Agora que o Git está instalado e configurado, vamos iniciar um repositório Git para Primeiro, navegue até o diretório em que seu código de mainframe reside Segundo, inicialize o repositório Git. Isso cria uma pasta git de pontos oculta que rastreia todas as alterações nesse diretório Três, adicione seu código ao repositório. Esse comando prepara todo o seu código atual para controle de versão. Quatro confirme suas alterações. Isso salva as alterações no repositório Git, tornando-a sua primeira versão Por exemplo, digamos que você esteja trabalhando com uma grande base de código cobol que gerencia processamento de transações para uma grande instituição financeira Ao inicializá-lo, você começa a monitorar todas as alterações feitas no código, permitindo que você veja um histórico de atualizações, reverta para versões mais antigas e colabore mais facilmente com Etapa quatro, conectando-se a um repositório Git remoto. Para colaborar de forma eficaz com sua equipe, você deve conectar seu repositório local a um repositório remoto, como aquele hospedado no GitHub, Gitlab Isso permite que todos compartilhem mudanças, trabalhem em filiais diferentes e colaborem em locais diferentes Primeiro passo, crie um repositório em uma plataforma como GitHub ou Gitlab ou no servidor privado da sua organização Segundo, copie a URL do repositório. No seu terminal, adicione o repositório remoto. Isso vincula seu repositório Git local ao remoto. Em seguida, envie suas alterações locais para o repositório remoto. Vamos dar um exemplo. Você faz parte de uma equipe distribuída globalmente que trabalha em uma base de código de mainframe para uma empresa de logística Ao conectar seu repositório Git local a um remoto hospedado no GitLab, os membros da sua equipe em diferentes fusos horários podem acessar e colaborar facilmente na mesma base de código, fazendo alterações sem sobrescrever o fazendo alterações sem sobrescrever Instalação e configuração do Git em ambientes de mainframe. Normalmente, o Git é instalado em uma máquina que faz interface com seu mainframe, como um servidor Linux ou um sistema ZOS No entanto, em alguns casos, você pode estar hospedando em um ambiente em que acesso direto ao Git no mainframe é possível por meio do ZOS ou Vamos abordar o processo de instalação de um ambiente de mainframe. Primeiro passo instalando o Git no ZoSunix. Primeiro, acesse o shell ZOS uniq partir de um terminal de mainframe Use ferramentas de gerenciamento de pacotes como um para instalar o Git. Etapa 2: configurar o Git para fluxos de trabalho de mainframe. Depois que o Git é instalado, você o configura da mesma forma que faria em qualquer outro sistema Isso garante que todas as alterações feitas no ambiente de mainframe sejam rastreadas adequadamente Por exemplo, uma grande empresa de varejo depende de um mainframe para lidar com pedidos on-line A equipe de mainframe integra o Git em um sistema exclusivo do ZOS para agilizar Com o Git instalado diretamente no mainframe, os desenvolvedores podem acompanhar as mudanças e colaborar em tempo real, mesmo trabalhando em código Solução de problemas e melhores práticas. Aqui estão os desafios comuns que você pode encontrar ao configurar o Git para mainframes e como resolvê-los Primeiro, problemas de codificação de arquivos. Os arquivos de mainframe abertos usam codificação ABSDT, enquanto a maioria dos sistemas modernos usa Você precisará garantir que qualquer código movido entre sistemas seja convertido corretamente. A solução é usar ferramentas como I Convert ou ICON V para converter arquivos conforme necessário ao movê-los entre sistemas Git e mainframe Duas bases de código grandes. As principais bases de código desgastadas podem ser enormes, tornando as operações iniciais do Git lentas Solução: use recursos do Git, como clonagem superficial, para reduzir o tamanho do repositório ou dividi-lo em partes menores e mais gerenciáveis Três, a integração com seus fluxos de trabalho de mainframe existentes Se sua equipe ainda usa ferramentas tradicionais como o Endeavor, talvez seja necessário executar o git Solução. Inclua lentamente o Git em seu fluxo de trabalho, usando-o junto com seu BCS tradicional Com o tempo, faça a transição completa para Git quando a equipe estiver confortável com um novo sistema Principais conclusões desta lição. Git é uma ferramenta poderosa para controle de versão, mesmo em ambientes de mainframe, suportando colaboração distribuída e ciclos de desenvolvimento mais rápidos Instalar e configurar o Git é simples. Depois de instalado, o Git pode rastrear todas as alterações feitas na base de código do mainframe, facilitando a colaboração e as Conectar-se a um repositório remoto permite que sua equipe compartilhe código e colabore em diferentes ambientes, tornando o Git uma parte essencial qualquer fluxo de trabalho moderno do Devoves Ambientes de mainframe e aproveite o presente diretamente por meio do ZOS Unix ou por meio da interface com um sistema híbrido, garantindo que as equipes de mainframe possam trabalhar com as mesmas ferramentas das equipes com as mesmas ferramentas das Atividade de aprendizagem. Tente instalar o Git em uma máquina que faça interface com seu mainframe Inicialize um repositório com exemplo de código OBO, PL one ou Envie o repositório para um serviço remoto, como o GitHub ou Gitlab, e convide um membro da equipe para colaborar fazendo alterações Reflita sobre como o Git melhora a colaboração e o controle de versão seu ambiente de mainframe Anote todos os desafios que você encontra e como você os supera. O que vem a seguir? Na próxima lição, exploraremos as operações básicas do Git que são commit, branch e merge Aprenderemos como confirmar alterações, criar ramificações e mesclar código no git, além das melhores práticas para gerenciar ramificações e resolver conflitos em 8. Aula 3: operações básicas do Git: commit, filial, mesclagem: Lição três, operações básicas do Git, commit, branch, merge Bem-vindo à lição três do módulo dois. Configuração narrativa do Git para seu código de mainframe, hora de mergulhar nas principais operações que ajudarão você a gerenciar sua base de código Nesta lição, abordaremos três comandos essenciais do Git. Confirmar, ramificar e mesclar. Ao final desta lição, você poderá confirmar alterações, criar e trabalhar com ramificações e mesclar código no Git com confiança Você também aprenderá as melhores práticas ao gerenciar filiais em um ambiente de equipe e resolver conflitos, que são cruciais ao lidar com grandes projetos complexos de mainframe Vamos começar. Confirmando alterações no Git A primeira operação básica do Git que você usará com frequência é o commit Um commit no Git registra um instantâneo do estado atual do seu projeto, essencialmente salvando as alterações que você fez Isso permite que você acompanhe seu progresso e volte para as versões anteriores, se necessário Como confirmar mudanças. Veja como confirmar as mudanças passo a passo. Primeiro, prepare os arquivos que você modificou. Isso informa ao Git quais arquivos você deseja incluir em seu próximo commit Segundo, confirme as alterações com uma mensagem descritiva que resume o que você fez Cada confirmação que você faz é salva com um identificador exclusivo que não seja SHA, junto com seu nome, a data e hora e a mensagem que você forneceu Isso permite que você e sua equipe acompanhem exatamente quais mudanças foram feitas, quando e por quem. Práticas recomendadas para escrever mensagens de confirmação. Uma boa mensagem de confirmação facilita a compreensão rápida do propósito de uma mudança. Aqui estão algumas dicas. Seja conciso. Procure uma mensagem que descreva claramente a mudança em uma ou duas frases. Seja específico. Em vez de escrever um código atualizado, forneça um contexto como um sistema de cobrança refatorado para corrigir Use o humor imperativo. Esta é uma convenção em presentes. Por exemplo, bug corrigido no processamento de transações em vez de bug corrigido. Vamos dar um exemplo. Você está atualizando um módulo CBL que calcula os prêmios do cliente Você faz várias alterações e as testa localmente. Antes de prosseguir, você confirma as alterações com uma mensagem, adicionando uma lógica para o desconto de várias políticas no cálculo do prêmio Isso deixa claro para o resto da sua equipe o que o commit contém. Criando e trabalhando com ramificações no Git. No Git, as ramificações permitem que você isole seu trabalho da base de código principal, facilitando a experimentação, desenvolvimento de novos recursos ou a correção bugs sem afetar a versão estável do seu projeto Por que usar filiais? As filiais são essenciais para manter a estabilidade e, ao mesmo tempo permitir um desenvolvimento flexível. Cada desenvolvedor pode trabalhar em sua própria ramificação, garantindo que a base de código principal permaneça inalterada até que suas alterações sejam testadas e estejam prontas para serem mescladas Como criar e trocar filiais. Criar e alternar ramificações, criar e alternar entre ramificações é simples. Primeiro, crie uma nova ramificação. Em seguida, mude para a nova filial. Agora você está trabalhando na nova filial. Todas as alterações feitas a partir deste ponto estarão contidas nessa ramificação até que você decida mesclá-la novamente na base de código principal Práticas recomendadas de ramificação. Use ramificações de recursos, crie uma nova ramificação para cada recurso, correção de bug ou aprimoramento Isso mantém sua palavra isolada e facilita o teste e a revisão. Mantenha os galhos por pouco tempo. Quanto mais tempo uma ramificação for mantida separada da base de código principal, a probabilidade de você encontrar conflitos de mesclagem Nomeie as ramificações com clareza, use nomes descritivos, como sistema de login de recursos ou cálculo do BGFixTax Um exemplo, a tarefa de adicionar um recurso de recompensas a um sistema bancário. Em vez de trabalhar diretamente na filial principal, você cria uma nova filial chamada Feature Rewards Program para isolar seu trabalho Dessa forma, outros membros da equipe podem continuar suas tarefas sem se preocupar com o fato de seu desenvolvimento contínuo afetar a estabilidade do sistema Mesclando o código no presente. Depois de concluir seu trabalho em uma filial, a próxima etapa é mesclá-la de volta à base de código principal mesclagem reúne mudanças de diferentes ramificações, permitindo que você incorpore novos recursos ou correções de erros no projeto principal Como mesclar filiais. Primeiro, mude para a ramificação na qual você deseja mesclar, normalmente a ramificação principal ou a ramificação principal Em seguida, mescle a ramificação contendo as novas alterações. Ele tentará mesclar as alterações de sua ramificação de recursos com a ramificação master Se não houver conflitos, a fusão acontecerá automaticamente Lidando com conflitos de mesclagem. Às vezes, não é possível mesclar as alterações automaticamente. Isso é chamado de conflito de mesclagem. Os conflitos ocorrem quando duas ramificações alterações conflitantes na mesma parte de um arquivo Como resolver conflitos. Quando ocorrer um conflito, ele o notificará e marcará as áreas conflitantes nos arquivos Veja como resolvê-los. Abra o arquivo conflitante e resolva o conflito manualmente Escolha qual versão manter ou edite manualmente o código para combinar as duas versões. Em seguida, prepare o arquivo de resultados. Por fim, confirme a resolução e coloque uma mensagem descritiva Vamos dar um exemplo. Dois desenvolvedores modificaram o mesmo programa CVL que processa empréstimos Um adicionou uma lógica ou uma nova taxa de juros enquanto o outro atualizou a forma como as taxas atrasadas são calculadas. Ao mesclar essas alterações, isso sinaliza um conflito porque os dois desenvolvedores alteram a mesma seção do código Você edita manualmente o arquivo para incorporar as duas alterações, resolver o conflito e concluir a mesclagem Melhores práticas para gerenciar filiais e resolver conflitos. Puxões frequentes. Extraia regularmente as alterações da ramificação principal para a ramificação de recursos para minimizar os conflitos durante a fusão Os ramos do quadril duram pouco. Evite trabalhar em uma ramificação por muito tempo sem mesclar. Quanto mais tempo existe um galho, a probabilidade de ele se afastar do galho principal, aumentando a chance de conflito Comunique-se com sua equipe. Certifique-se de que os membros da equipe estejam cientes das mudanças nas quais outras pessoas estão trabalhando, especialmente em arquivos compartilhados. Conclusões desta lição. Comprometa-se regularmente. Salve seu trabalho com frequência confirmando alterações com mensagens claras e concisas. Use ramificações para isolar o trabalho, criar ramificações de recursos para novos desenvolvimentos e manter a ramificação principal estável Combine com confiança. Reintegre seu trabalho à ramificação principal depois de testado e pronto, e esteja preparado para resolver quaisquer conflitos que possam surgir Atividade de aprendizagem. Pratique a criação e a fusão de filiais Crie uma nova ramificação para um recurso em que você está trabalhando, como o recurso Novo relatório. Faça algumas alterações em seu código e confirme-as. Volte para a ramificação master e mescle sua nova ramificação de recursos Tente introduzir um conflito fazendo com que outro membro da equipe edite o mesmo arquivo em uma ramificação diferente e resolva o conflito durante a fusão Reflita sobre como a ramificação ajuda a isolar seu trabalho e simplifica a colaboração em complexos de mainframe. O que vem a seguir? Na próxima lição, abordaremos migração do código legado para o Gib Você aprenderá estratégias para mover seu código de mainframe existente para um sistema de controle de versão moderno Além das etapas para manter a integridade do código durante o processo de migração. 9. Aula 4: como migrar código legado para o Git: Lição quatro, Migrando código legado para o Git. Bem-vindo à lição quatro do módulo dois. Se você trabalha com sistemas de mainframe há algum tempo, provavelmente terá uma grande quantidade de código legado Migrar código para o Git pode parecer assustador, mas é um passo fundamental para modernizar suas práticas de desenvolvimento, integrar os princípios do DevOps e permitir a integração contínua e mas é um passo fundamental para modernizar suas práticas de desenvolvimento, integrar os princípios do DevOps e permitir a integração contínua e os pipelines de entrega contínua. Nesta lição, vamos explorar estratégias para migrar seu código de mainframe existente para seu código de mainframe existente Analisaremos o processo passo a passo e também fornecerei dicas para garantir que integridade do código seja mantida durante toda a migração. Vamos começar. Por que migrar o código legado para o Git. Antes de nos aprofundarmos no como, vamos discutir por que migrar o código legado para o Git é tão Uma colaboração aprimorada. Com o Git, vários desenvolvedores podem trabalhar em diferentes partes da base de código ao mesmo tempo sem conflitos Essa é uma grande melhoria ao sistema de controle de versão tradicional em mainframes, onde as mudanças geralmente são lineares e restritas Dois: histórico de versões os poderosos recursos de controle de versão do GTS permitem que você acompanhe todas as alterações feitas na base de código Quem fez isso e quando? Esse histórico é inestimável na solução de problemas ou na auditoria de alterações. Três, integração com ferramentas modernas de DevOps. Get se integra perfeitamente a ferramentas como Jenkins, GitLab e outras que ajudam a automatizar compilações, testes e implantações, que testes e implantações O Get se integra perfeitamente a ferramentas como Jenkins, GitLab e outras que ajudam a automatizar compilações, testes e implantações, que são os principais componentes do fluxo de trabalho moderno do CICD. Ou facilitando o CICD. Ao mover seu código para o Git, você habilita práticas de integração contínua, o que significa lançamentos mais frequentes, bugs mais rápidas e desenvolvimento mais eficiente Vamos dar um exemplo. Uma grande instituição financeira mantém seu sistema de processamento de transações baseado em paralelepípedos há décadas Ao migrar o código para o Git, a equipe de desenvolvimento é capaz de introduzir fluxos de trabalho modernos de DevOps, permitindo lançamentos mais rápidos, testes automatizados e colaboração aprimorada distribuídas Estratégias para migrar código legado para o Git. Migrar o código antigo do mainframe para o Git não é tão simples quanto copiar arquivos de um sistema para outro Isso requer planejamento e estratégia para garantir uma transição suave. Vamos dividi-lo em etapas específicas. Primeiro passo, avalie e prepare a base de código. Antes de começar a migração, você precisará avaliar o estado atual da sua base de código antiga. Anote o seguinte. Identifique o código ativo e inativo. Alguns códigos podem não estar mais em uso. É fundamental identificar qual código está sendo mantido ativamente e qual pode ser arquivado migração de código inativo pode complicar desnecessariamente Entenda a dependência. Os sistemas de mainframe geralmente têm dependências complexas entre programas, scripts e mapeamento dessas dependências ajudará a evitar a interrupção do sistema durante a migração Avalie o controle de versão atual. Se você estiver usando ferramentas como Endeavor ou Change Man, avalie como o código está sendo rastreado atualmente A migração para o Gib proporcionará mais flexibilidade , essencial para saber quais recursos e processos você está substituindo. Vamos dar um exemplo. Em uma empresa de logística, o sistema COBOL responsável pelo gerenciamento de remessas foi expandido ao longo dos anos com vários scripts e A equipe de desenvolvimento começa identificando quais partes do sistema são mantidas ativamente e quais estão desatualizadas, garantindo que somente o código relevante seja migrado para o GID Segundo passo, organize seu código em estruturas compatíveis com o Git Às vezes, o código do mainframe pode ser estruturado de maneiras que não se alinham à natureza distribuída do Git Veja como organizá-lo de forma eficaz. Crie repositórios modulares. Em vez de colocar todo o seu código em um enorme repositório Git, divida-o em módulos menores e mais gerenciáveis Cada módulo deve representar uma seção lógica do sistema, por exemplo, faturamento, gerenciamento de clientes e relatórios Use ramificações para migração de fase. Comece migrando apenas uma parte do seu código, especialmente se a base do código for grande Crie branches e git para gerenciar diferentes fases da migração, permitindo que você trabalhe de forma incremental sem interromper seus Mapeie arquivos e pastas para o Git. Certifique-se de que os arquivos do mainframe sejam traduzidos corretamente em formatos que o Git Por exemplo, converter Epsidc em ASCE, se necessário . Vamos dar um exemplo. sistema de folha de pagamento de uma agência governamental é dividido em vários módulos, cálculos de impostos, processamento de benefícios e registros de funcionários Em vez de migrar tudo de uma vez, eles o dividem em repositórios para cada módulo, começando com cálculos de impostos, que são os mais ativamente mantidos Etapa três, executou a migração. Com seu código organizado, é hora de começar a migração. Veja como fazer isso passo a passo. Primeiro, inicialize o repositório Git. No diretório em que seu código de mainframe reside, inicialize o Em segundo lugar, prepare o código. Adicione todos os arquivos relevantes ao Git. Em terceiro lugar, confirme o código. Confirme a versão inicial do código. Ou configure repositórios remotos. Conecte seu repositório local a um servidor Git remoto, como o GitHub ou o GitLab. Vamos dar um exemplo. Uma empresa de varejo migra seu sistema CBO de gerenciamento de inventário para Depois de inicializar o repositório, eles começam preparando apenas os principais programas de processamento, adicionando gradualmente componentes adicionais, adicionando gradualmente componentes adicionais como relatórios Essa abordagem em fases permite que eles testem o sucesso da migração em cada etapa. Etapa quatro, manutenção da integridade do código durante a migração. Manter a integridade do seu código durante a migração é fundamental Veja como garantir que tudo permaneça intacto. Use casos de teste. Antes e depois da migração, execute vários casos de teste para garantir que o código se comporte conforme Suítes de testes automatizados podem ajudar a detectar qualquer problema mais cedo. Execute migrações incrementais. Em vez de migrar toda a base de código de uma só vez, migre pequenos pedaços e valide cada migração antes de passar para a Inicie um processo de backup. Sempre faça backup do código existente e garanta que você possa restaurá-lo se algo der errado durante a migração. Vamos dar um exemplo. Durante a migração do sistema de processamento da Previdência Social de uma agência do setor público , os desenvolvedores usam casos de teste automatizados para comparar o desempenho e a saída do código de pré-migração e pós-migração. Isso garante que nenhuma funcionalidade seja perdida e que a transição para obter não introduza novos bugs. Dicas para um processo de migração tranquilo. Comunique-se com sua equipe. Mantenha todos informados sobre o plano de migração e seu progresso. Uma comunicação clara garante que o desenvolvimento não seja interrompido e que os problemas sejam identificados precocemente Execute sistemas paralelos. Inicialmente, execute seu sistema de controle de versão antigo, por exemplo, endeavor e o Git em paralelo para garantir que nada seja perdido Isso também ajuda a equipe a se familiarizar com o Git enquanto o sistema antigo ainda está disponível Treine a equipe no Git. Forneça sessões de treinamento ou recursos para ajudar sua equipe a fazer a transição para o Git de forma eficaz Compreender os recursos de ramificação, fusão e histórico de confirmações do Git permitirá uma colaboração mais suave Por exemplo, migrar um grande sistema COBOL. Uma empresa de serviços financeiros começa a migrar seu sistema de processamento de transações baseado em CBO para Eles começam com os módulos principais, movendo o código de forma incremental e usando casos de teste automatizados para garantir que a funcionalidade permaneça intacta após Principais conclusões desta lição. migração do código legado para Git permite melhor colaboração, histórico de versões e integração com ferramentas CICD modernas Organize seu código em repositórios gerenciáveis e use ramificações para migrar de forma incremental, garantindo o mínimo de interrupção Mantenha a integridade do código testando minuciosamente antes e depois da migração e fazendo backup do Atividade de ganho. Escolha uma pequena seção da sua base de código de mainframe para migrar para o Organize o código em uma estrutura compatível com o Git e inicialize um repositório Organize, confirme e envie o código para um servidor Git remoto, por exemplo, Git Hub ou GitLab Compare a funcionalidade de pré e pós-migração usando casos de teste para garantir que nada seja perdido durante o processo. Reflita sobre como o Git melhora sua capacidade de decifrar mudanças e colaborar entre equipes O que vem a seguir? No próximo módulo, começaremos a automatizar as compilações de mainframe Você aprenderá o que é automação de compilação, por que ela é essencial para modernizar o desenvolvimento de mainframe e como as construções automatizadas diferem dos processos manuais em 10. Aula 1: visão geral da automação de construção: Bem-vindo ao Módulo três, automatizando as construções de mainframe. Neste módulo, exploraremos como a automação de construção pode simplificar seus processos de desenvolvimento, reduzir erros e acelerar entrega de software em ambientes de mainframe Você aprenderá a configurar compilações automatizadas e integrá-las aos seus sistemas existentes Lição 1, visão geral da automação de construção. Bem-vindo à primeira lição do Módulo três. Nesta lição, abordaremos os conceitos básicos da automação de compilação, o que é, por que ela é fundamental para modernizar o desenvolvimento de mainframe e como ela difere dos processos manuais de Ao final desta lição, você entenderá como as construções automatizadas simplificam os fluxos de trabalho de desenvolvimento, reduzem os erros humanos e aceleram a entrega de software de alta qualidade Essa é uma parte fundamental da integração dos princípios de DevOps em seu ambiente de mainframe Vamos mergulhar. O que é automação de construção? Vamos começar com uma definição simples. automação de compilação é o processo de compilar e empacotar automaticamente o código do seu aplicativo sem a necessidade de intervenção manual Em ambientes de mainframe, isso significa compilar automaticamente OBL, PL one, CL e outros componentes em um pacote completo pronto para teste Com compilações automatizadas, quando o código é comprometido com o sistema de controle de versão, como o Git, o processo de criação é acionado Ferramentas como Jenkins ou IBM urban code build podem automatizar tudo, desde a compilação até o teste e a implantação Componentes de um processo de construção. processo de construção automatizado típico inclui um código-fonte de compilação Isso é converter o código-fonte em binários executáveis. Dois, executando testes, executando automaticamente unidade e testes de integração para garantir que o código se comporte conforme Três, criar artefatos de construção, empacotar o código do aplicativo em um formato implantável Quatro, implantação, que é opcional. Em alguns fluxos de trabalho, as compilações automatizadas também incluem a implantação do código em um ambiente de teste ou produção Vamos dar um exemplo. uma grande instituição bancária com um sistema baseado em CBL para gerenciar contas de clientes Toda vez que um novo recurso é adicionado, o código deve ser compilado, testado e empacotado Sem automação, um desenvolvedor teria que fazer isso manualmente para cada alteração, que pode ser demorado e propenso a erros. Com um processo de criação automatizado, toda vez que um desenvolvedor confirma o código, o sistema o compila , executa um teste e o empacota automaticamente, acelerando significativamente Por que a automação de construção é importante? A automação integrada é importante porque traz vários benefícios importantes, ambientes de mainframe, que tradicionalmente dependem de processos manuais Vamos explorar esses benefícios em detalhes. O primeiro é a consistência e a confiabilidade. Os processos de construção manual estão sujeitos a erros humanos. Mesmo um pequeno erro nas etapas de compilação ou empacotamento pode levar a bugs ou atrasos na implantação Ao automatizar o processo, você garante que cada compilação seja consistente e siga sempre as mesmas etapas Exemplo de processo manual. Um desenvolvedor compila manualmente o código, mas se esquece de incluir a biblioteca necessária A compilação falha e o erro só é descoberto mais tarde na fase de teste. Exemplo de processo automatizado. O processo de criação automatizado inclui todas as bibliotecas e configurações necessárias para evitar que esses problemas ocorram Ciclos de desenvolvimento mais rápidos. Em ambientes tradicionais de mainframe, o processo de compilação e teste manual do código pode levar horas ou até dias Com a automação de construção, você pode reduzir drasticamente esses cronogramas, permitindo ciclos de desenvolvimento mais rápidos Isso é especialmente importante para equipes. Adaptar metodologias ágeis ou DevOps para iteração rápida e Exemplo de processo manual, um novo recurso é adicionado ao sistema mainframe O desenvolvedor leva um dia inteiro para compilar, empacotar e testar o código Exemplo de processo automatizado. O desenvolvedor confirma um código e, em minutos, o processo de criação é concluído e o código está pronto para teste ou implantação Integração com pipelines CICD. A automação construída é uma parte fundamental da integração contínua, entrega contínua ou dos pipelines do CICD Em um ambiente CICD, todas as alterações feitas no código automaticamente testadas e criadas, garantindo que os bugs sejam detectados precocemente e implantações ocorram com mais frequência e confiabilidade Exemplo de processo manual: cada vez que uma alteração é feita, o desenvolvedor deve executar testes manualmente, compilar o código e prepará-lo para implantação, que atrasa o pipeline de entrega Exemplo de processo automatizado: em um ambiente CICD, a compilação automatizada é acionada imediatamente após o código confirmado, com testes em execução e implantação acontecendo em uma fração do tempo Ou maior produtividade. Os desenvolvedores podem se concentrar em escrever e melhorar código em vez de passar horas em tarefas repetitivas de criação Isso leva a uma maior produtividade e a uma melhor satisfação geral no trabalho. Exemplo de processo manual os desenvolvedores passam uma parte significativa do tempo compilando e preparando compilações em vez de se concentrarem na codificação e na solução de Exemplo de processo automatizado, os desenvolvedores passam mais tempo codificando novos recursos e corrigindo bugs enquanto o sistema de compilação lida com as tarefas repetitivas Diferenças entre faturas manuais e automatizadas em ambientes de mainframe. Vamos examinar mais de perto como as construções manuais diferem das faturas automatizadas em ambientes de mainframe Para construções manuais, é demorado. As faturas manuais podem levar horas, especialmente em grandes bases de código pois os desenvolvedores precisam compilar, empacotar e testar manualmente cada alteração A resposta aos erros. Erros humanos, como esquecer uma biblioteca ou configurar incorretamente um parâmetro de compilação são comuns São tarefas repetitivas. Os desenvolvedores devem repetir as mesmas etapas repetidamente, o que pode se tornar entediante e não é o melhor uso de suas habilidades Para construções automatizadas, é rápido e eficiente. As compilações automatizadas levam minutos ou até segundos, dependendo do tamanho da base de código Isso leva a ciclos de desenvolvimento mais rápidos e a lançamentos mais frequentes. É consistente. A automação garante que cada construção seja feita exatamente da mesma maneira, reduzindo erros e melhorando a confiabilidade. É integrado ao Devos. As compilações automatizadas são uma parte fundamental das práticas modernas de Devos, permitindo integração e entrega contínuas Vamos dar um exemplo. Uma empresa de varejo usa um sistema baseado em paralelepípedos para gerenciar o estoque Anteriormente, toda vez que um novo código era adicionado, eram necessárias várias horas para compilar e testar tudo manualmente Ao introduzir a automação de compilação com o Jenkins, o processo agora acontece em questão de minutos, permitindo que a empresa implemente atualizações com mais frequência e eficiência Principais conclusões desta lição. A automação de compilação elimina processos manuais propensos a erros, fornecendo consistência e confiabilidade no ambiente de mainframe As faturas automatizadas são mais rápidas e eficientes, resultando em ciclos de desenvolvimento mais curtos e maior produtividade. A integração com os pipelines do CICD garante que as mudanças sejam criadas, testadas e implantadas automaticamente, permitindo As faturas manuais são mais lentas e propensas a erros, enquanto as faturas automatizadas são essenciais para as equipes que adotam as práticas de DevOps Atividade de aprendizagem. Reserve um momento para refletir sobre seu processo de criação atual em seu ambiente de mainframe. Quanto tempo é necessário para compilar e testar manualmente seu código Quais desafios você enfrenta com seu processo atual? Exemplos, erros, atrasos, tarefas repetitivas. Identifique uma área em automação de construção possa reduzir significativamente o tempo e o esforço e escreva um plano para automatizar essa parte do processo O que vem a seguir? Na próxima lição, vamos começar configurar o Jenkins para compilações automatizadas Você aprenderá a instalar e configurar o Jenkins, criar trabalhos de construção e configurar pipelines automatizados para seus aplicativos de mainframe É aqui que você verá o poder da automação em ação. 11. Aula 2: como configurar o Jenkins para compilações automatizadas: Lição dois, Configurando o Jenkins para compilações automatizadas. Bem-vindo à lição dois do módulo três. Nesta lição, adotaremos uma abordagem prática para configurar o Jenkins para a automação de construção de seu mainframe Jenkins é uma das ferramentas mais usadas em DevOps, conhecida por sua flexibilidade e capacidade automatizar vários estágios do pipeline de desenvolvimento Ao final desta lição, você saberá como instalar o Jenkins e calculá-lo para sua base de código de mainframe e criar trabalhos de construção e pipelines para Vamos começar. O que é Jenkins e por que usá-lo? Jenkins é um servidor de automação de código aberto que automatiza tarefas relacionadas à criação, teste e implantação É um componente da integração contínua slash Continuous Delivery para pipelines CICD, pois aciona automaticamente testes de construção e implantações Para ambientes de mainframe, o Jenkins pode ser configurado para lidar com as necessidades exclusivas de COBOL, PL one, JCL e Ao automatizar as compilações, Jenkins ajuda a eliminar erros manuais, acelerar os ciclos de desenvolvimento e garantir a consistência em toda Vamos dar um exemplo. Uma grande seguradora usa um sistema baseado em Cobble para gerenciamento de apólices Sempre que um novo recurso é adicionado ou um bug é corrigido, Jenkins compila automaticamente o código Pobble, executa testes e empacota o aplicativo Esse processo costumava levar horas quando feito manualmente, mas o Jenkins agora lida com isso em minutos. Primeiro passo, instalando o Jenkins. Vamos começar instalando o Jenkins em seu sistema. Jenkins pode ser instalado em um servidor Linux, Windows ou até mesmo diretamente em um ambiente OS Unix, se houver suporte Neste exemplo, usaremos uma instalação típica do Linux, mas os sps são semelhantes para outras plataformas Instalação no Linux. Primeiro, instale o Java. Jenkins requer Java para ser executado, então você precisa instalá-lo primeiro Em seguida, adicione o repositório Jenkins. Adicione o repositório Jenkins ao seu sistema. A terceira etapa é instalar o Jenkins. Atualize seu índice de pacotes e instale o Jenkins. Ou após a instalação, você inicia o Jenkins. Depois de instalado, inicie o Jenkins com esse comando. Por fim, acesse Jenkins. Abra um navegador e navegue até a coluna 80 80 do host local HTTP sslash ou o endereço IP do seu serviço Você será solicitado a desbloquear o Jenkins usando a senha de administrador encontrada no arquivo a seguir, a variável de barra invertida pseudo-CAP, a barra Live Jenkins slash SECRET slash Vamos dar um exemplo. Uma empresa de serviços financeiros configura o Jenkins em um servidor Linux dedicado para gerenciar as contas de seus sistemas Cobol e JCL Depois de instalado, o Jenkins é configurado para criar e implantar automaticamente as alterações em seus sistemas legados Etapa 2: configurar o Jenkins para bases de código de mainframe. Agora que o Jenkins está instalado, vamos configurá-lo para funcionar com sua base de código de mainframe Isso envolve a instalação dos plug-ins necessários, configuração de ambientes construídos e a configuração das integrações de controle de origem Instale plug-ins. Jenkins tem um rico ecossistema de plug-ins, muitos dos quais são essenciais para a automação do mainframe Alguns plug-ins importantes que você precisará incluem o plug-in Git para integração com repositórios Git Plugin de pipeline para definir pipelines de construção e implantação Plugin SSH, se você precisar usar SSH em seu ambiente de mainframe para acionar compilações Para fazer isso, acesse Gerenciar Jenkin e, em seguida, vá para gerenciar plug-ins Nos plug-ins disponíveis, pesquise e instale o plug-in Git, o plug-in Pipeline e o plug-in SSH. Configurando o controle da fonte. Jenkins precisa extrair o código de seus sistemas de controle de versão , como Git ou Endeavor Primeiro, vá para o novo item para criar um novo projeto. Segundo, escolha um projeto ou pipeline de estilo livre , dependendo de suas necessidades Três, em Gerenciamento de código-fonte, selecione Git e insira a URL do seu repositório Exemplo do mundo real. Uma companhia aérea está trabalhando em um sistema de reservas baseado em paralelepípedos Eles usam o Git para rastrear alterações e o Jenkins extrai o código mais recente do repositório Git sempre que um Isso garante que cada novo recurso ou correção de bug seja criado e testado automaticamente Etapa três, configurar trabalhos de construção para aplicativos de mainframe Agora que o Jenkins está configurado, vamos criar um trabalho de construção para seu aplicativo de mainframe Um Biljob define como seu código será compilado, testado e empacotado Para ambientes de mainframe, isso normalmente envolve invocar compiladores cobble Criando um trabalho de construção de estilo livre. Primeiro, no painel do Jenkins, clique em Novo item e selecione Projeto Freestyle Segundo, nomeie o projeto, por exemplo, Cobol Dash Build e clique em OK Três, em Criar acionadores, você pode optar por acionar a compilação automaticamente após cada confirmação usando Paul SEM ou de forma programada Definindo as etapas de construção. Em seguida, você definirá como o Jenkins deve criar seu código de mainframe Em compilação, clique em Adicionar etapa de compilação e selecione Executar Shell no Linux ou Executar o comando Windows Batch no Windows. Adicione os comandos shell ou batch necessários para invocar seus compiladores de mainframe ou executar Em terceiro lugar, você também pode definir etapas de teste adicionando outras etapas de construção para executar o teste automatizado, se disponível. Eric é um exemplo de um comando de compartilhamento para compilar o programa PBL Armazenamento de artefatos de construção. Depois que a compilação estiver concluída, talvez você queira armazenar a saída, os executáveis ou os registros Na ação de pós-criação, selecione arquivar os artefatos e especifique quais arquivos arquivar Por exemplo, ponto de asterisco Ex, registro de pontos asterisco. Vamos dar um exemplo. Uma empresa de saúde automatiza a construção do sistema de cobrança de cobalto. Jenkins, uma vez que o compilador Cobalt, gera executáveis e armazena Isso reduz o processo de criação de horas para minutos. Etapa quatro, configurando pipelines Jenkins para compilações de mainframe Se seu processo de criação envolve vários estágios, como compilação, teste e implantação, você pode usar um pipeline Jenkins para automatizar todo o fluxo Ao criar um trabalho de pipeline no Jenkins, clique em novo item e selecione pipeline, nomeie o projeto, por exemplo, mainframe dash Pipeline e Definindo o script do pipeline. pipelines Jenkins são definidos usando um arquivo Jenkins que descreve cada etapa do seu processo de criação Aqui está um exemplo de um script de pipeline do Jenkins. Esse script define três estágios. Compile, teste e implante. Jenkins executará automaticamente cada estágio em sequência Principais conclusões desta lição. Jenkins é uma ferramenta poderosa para automatizar compilações, testes e implantações, especialmente em ambientes Devos. O Jenkins é uma ferramenta poderosa para automatizar compilações, testes e implantações, especialmente em ambientes Devos. Instalar e configurar o Jenkins para trabalhar com bases de código de mainframe envolve a configuração de plug-ins, integração do controle de origem e a definição de trabalhos de construção Os pipelines Jenkins permitem que você automatize processos de construção em vários estágios, melhorando a eficiência e consistência Atividade de aprendizagem. Configure o Jenkins em um servidor local ou remoto Configure um trabalho de construção para um de seus aplicativos de mainframe Defina um pipeline simples com pelo menos dois estágios, por exemplo, compilação e teste Reflita sobre como a automação desse processo melhora a velocidade e reduz os erros em comparação com o processo manual atual O que vem a seguir? Na próxima lição, vamos nos aprofundar na automação do processo de compilação e vinculação Você aprenderá a criar scripts de compilação para linguagens de mainframe, como ba, e automatizar a compilação e a vinculação de programas de mainframe usando ferramentas de programas de mainframe usando compilação 12. Aula 3: automatizando a compilação e o processo de ligação: Lição três, automatizando o processo de compilação e vinculação Bem-vindo à lição três do módulo três. Nesta lição, abordaremos a automatização processo de compilação e vinculação do processo de compilação e vinculação para programas de mainframe. Se você estiver compilando e vinculando programas Kobal ou PLO manualmente, sabe como isso pode ser repetitivo e demorado Automatizar esse processo pode economizar horas de trabalho, reduzir o erro humano e tornar seu pipeline de construção muito mais eficiente Analisaremos a criação de scripts de construção para linguagens de mainframe como o CoBal. Mostrarei como automatizar essas etapas usando ferramentas de construção que podem se integrar perfeitamente ao Jenkins ou ferramentas de CI Por que automatizar um processo de compilação e vinculação? processo de compilação e vinculação em mainframes envolve a tradução seu código de linguagem de alto nível, como Cobol ou PL one, em código PL one Para sistemas grandes, isso geralmente requer compilar vários arquivos de origem e vinculá-los a um executável final Veja por que a automação é essencial. Primeiro, economia de tempo. Compilar e vincular centenas ou milhares de arquivos manualmente é ineficiente e A automação pode reduzir significativamente os prazos de cobrança. Dois, consistência. processos automatizados garantem que as faturas sejam sempre executadas da mesma forma, eliminando a variação entre as faturas causada por erro humano. Terceiro, reduza os erros. As faturas manuais geralmente podem levar a erros, como manter arquivos ou configurar incorretamente as opções de tempo de compilação Os scripts automatizados garantem que nada seja esquecido. Vamos dar um exemplo. um banco que gerencia seu sistema de contas de clientes em Anteriormente, um banco que gerencia seu sistema de contas de clientes em Cobo estava executando compilação manual de seus programas Isso geralmente causava a perda dependências ou módulos vinculados incorretamente Ao automatizar o processo e reduzir os erros faturados em 80%, reduza os prazos de cobrança pela metade Primeiro passo, escrevendo scripts de construção para CBO. Vamos começar analisando como criar um script de construção para compilar e vincular programas CBO As etapas para compilar programas CBO são simples, mas podem se complexas ao lidar com Automatizaremos o processo com um script de shell simples que pode ser executado manualmente ou acionado por uma ferramenta como champins Compilação básica de Coval Man. Para compilar um programa COBOL no mainframe, você normalmente usa um comando como Aqui está o que ele faz. X diz ao compilador para criar um executável O programa principal CBL é o arquivo fonte do CBL. O principal programa de sublinhado que EXE especifica o arquivo de saída, que é o executável final Agora, se você tiver vários arquivos de origem, precisará compilá-los juntos ou compilá-los separadamente e vinculá-los Vamos dividir isso em etapas. Escrevendo um script de construção. Para automatizar esse processo, vamos criar um script de shell, criar um DHS que gerencie a compilação e a vinculação de Este é um exemplo de script para compilar e vincular vários programas CBO Primeiro, definimos o arquivo de origem e os arquivos de saída. O script examina cada código-fonte, o compila e verifica se há erros Depois de compilados, os arquivos de objeto que Os são vinculados ao executável final Após a vinculação, o script limpa os arquivos de objetos temporários para manter o diretor Vamos dar um exemplo. Uma empresa de logística com um sistema CBL legado automatiza a compilação de vários módulos, como processamento de pedidos, CBL e inventário, esse CBL Usando um script como o descrito acima, Jenkins compila e vincula automaticamente o programa COBOL toda vez que um desenvolvedor envia um novo Etapa 2: automatizar o processo de vinculação. Em ambientes de mainframe, o processo de vinculação envolve a combinação várias pilhas de objetos e arquivos dot O em um único executável que pode ser executado Essa etapa é fundamental, especialmente ao lidar com sistemas grandes em que muitos módulos interagem. Comando básico de vinculação. Para vincular vários programas de CPO, você usa algo semelhante ao mostrado acima Isso combina arquivos de objetos compilados em um executável. Automatizando a vinculação com ferramentas de construção. Se seu aplicativo incluir muitos arquivos de objetos ou dependências, é melhor automatizar essa etapa para evitar arquivos perdidos ou configurações incorretas Você pode estender o script de construção anterior para lidar com sistemas maiores, garantindo que cada módulo esteja vinculado corretamente. Você também pode integrar seu script de construção ao Jenkins ou a outra ferramenta de CI acionar a compilação automaticamente após cada alteração na base de código. Vamos dar um exemplo. Uma empresa de varejo gerencia seu sistema de cobrança com COBOL e ele é composto por várias dezenas de módulos O script de construção automatizado não apenas compila os programas individuais, mas os vincula ao executável final do sistema de cobrança Isso garante que nenhuma etapa seja ignorada e que a construção esteja sempre concluída Etapa três, integração com o Jenkins. Agora que temos um script que compila e vincula nosso código de mainframe, vamos integrá-lo ao Jenkins Jenkins lidará com o acionamento do script e o gerenciamento automático do processo de construção Configurando um trabalho no Jenkins. Primeiro, crie um novo projeto de freestyle. No painel do Jenkins, clique em Novo item e crie um projeto de estilo livre nome ao projeto. Por exemplo, automação OBLs Bilas Segundo, configure o gerenciamento do código-fonte. Em gerenciamento de código-fonte, conecte o Jenkins ao seu repositório Git ou outro sistema SEM em que o código CBL esteja armazenado. Três, adicione a etapa de construção. Na seção de compilação, adicione a etapa de execução, execute a etapa Shell no Linux ou execute o comando em lote do Windows no Windows. Adicione o caminho ao seu script build dot SH. Quatro, acione a construção. Em gatilhos de compilação, você pode definir o champin para acionar a compilação toda vez que o código for confirmado usando todo o SEM ou Práticas recomendadas para automatizar a compilação e a vinculação de mainframes Modularize sua fatura. Divida seu código em módulos menores que podem ser compilados e testados separadamente. Isso reduz o risco de falha durante o estágio de vinculação Execute o teste automaticamente. Adicione uma etapa de teste ao seu script de construção. Depois de compilar e vincular, o script deve acionar um conjunto de testes para validar a Tratamento de erros, sempre manipule erros em seus scripts de construção. Se uma compilação falhar, o script deve parar e relatar a falha, impedindo que compilações quebradas sejam implantadas Principais conclusões desta lição. Automatizar o processo de compilação e vinculação economiza tempo, reduz erros e garante consistência Scripts de construção podem ser criados para compilar e vincular vários programas CDL, simplificando o A integração da automação de compilação com o Jenkins ou outras ferramentas de CI ajuda a acionar compilações automaticamente, permitindo um processo de desenvolvimento mais tranquilo tratamento e o teste de erros são componentes essenciais de qualquer script de construção automatizado, garantindo que os problemas sejam detectados precocemente. Atividade de aprendizagem. Crie um script de construção simples para compilar e vincular um dos seus programas cobalt ou PL Integre o script ao Jenkins e configure um trabalho que é acionado automaticamente após cada Teste o processo fazendo uma pequena alteração na base do código e observe o processo de criação e vinculação ser executado do início ao fim O que vem a seguir? Na próxima lição, abordaremos como integrar a automação de construção aos pipelines do CICD Você aprenderá como incorporar suas faturas automatizadas em todo o pipeline do CICD, como lidar com problemas comuns durante a automação e as melhores práticas para gerenciar suas contas em um ambiente Tavo 13. Aula 4: como integrar a automação de compilação em pipelines de CI/CD: Lição quatro, integrando a automação de construção aos pipelines do CICD. Bem-vindo à lição quatro do módulo três. Nesta lição, vamos explorar como integrar seus processos de criação automatizados em um pipeline CICD completo, integração contínua de integração contínua e entrega contínua Se você já automatizou o processo de compilação e vinculação, está no meio do caminho para criar um pipeline Devo eficiente para um pipeline Devo eficiente Mas como você encaixa essas construções automatizadas em um pipeline de CICD Como você lida com os desafios que surgem? Ao final desta lição, você entenderá como as compilações automatizadas se encaixam no contexto mais amplo de um pipeline CICD, como configurar esse pipeline para ambientes de mainframe e como solucionar problemas comuns O que é um pipeline CICD? Vamos começar com uma definição simples. CICD significa integração contínua e entrega ou implantação contínuas Um pipeline CICD é um conjunto de etapas automatizadas, realiza alterações no código, as cria, executa testes e as implanta No contexto de ambientes de mainframe, isso significa que seu código cobot, DL one ou JCL passa por um pipeline contínuo, do desenvolvimento ao teste e à produção, sem do desenvolvimento ao teste e à produção Os componentes de uma tubulação CICD, uma tubulação CICD típica, têm os seguintes estágios Primeiro, a integração do controle de origem. O pipeline começa quando um desenvolvedor envia o código para um sistema de controle de versão Por exemplo, dê. Em segundo lugar, construa. O estágio de construção compila o código, gera executáveis e executa testes automatizados, como testes unitários e de integração Em terceiro lugar, testes e testes automatizados garantem que a compilação seja estável e que nenhum novo bug seja introduzido. Quarto, implantação. O aplicativo é implantado em um ambiente de preparação ou produção depois de passar por todos os testes Exemplo do mundo real, uma seguradora com um sistema de processamento de sinistros baseado em CBL integra a construção e os testes automatizados ao pipeline da Jenkins Cada vez que um desenvolvedor faz uma alteração no código, Jenkins compila o código COBOL, executa testes e, se tudo for aprovado, implanta o sistema atualizado Mas incorporando faturas automatizadas no pipeline de CI Agora que você automatizou a compilação e a vinculação do seu código de mainframe, é hora de incorporar essas etapas ao pipeline mais amplo de CI Como configurar o gasoduto. Primeiro, descubra o pipeline com controle de origem. Toda vez que um desenvolvedor faz uma alteração para obter outro sistema de controle de versão, isso aciona o pipeline de CI automaticamente Jenkins ou outra ferramenta de CI buscará as alterações mais recentes e iniciará o processo de criação . Estágio de construção. A primeira etapa do pipeline é a fase de construção. É aqui que o script de compilação e vinculação que discutimos na lição anterior será executado Se a construção for bem-sucedida, o pipeline passa para o próximo estágio, estágio de teste automatizado Depois de criar o aplicativo, a próxima etapa do pipeline de CI é executar testes automatizados, integração de unidades e outros. Para aplicativos de mainframe, isso pode envolver a execução de trabalhos de teste no mainframe ou o uso de simuladores ou testes Ou estágio de implantação. Depois que os testes forem aprovados, o código estará pronto para ser implantado ambiente de teste ou produção Scripts de implantação automatizados, como enviar os arquivos executáveis para o ambiente apropriado, por exemplo, teste ou sistema ativo Vamos dar um exemplo. Um banco integra seu sistema principal de processamento de transações em um pipeline do CICD. Cada vez que um desenvolvedor faz uma alteração, o pipeline compila os programas COVA, executa uma série de testes e implanta automaticamente o código atualizado em um ambiente de teste Isso ajuda o banco a detectar problemas cedo e fornecer atualizações mais rapidamente. Problemas comuns e solução de problemas durante a automação de compilação. Automatizar construções de mainframe em um pipeline de CICD pode ser complexo, e há vários problemas comuns que você Vamos analisar alguns desses problemas e como resolvê-los. Um, falhas de compilação devido à falta de dependências. Um problema comum são as falhas de compilação causadas pela falta de bibliotecas ou dependências Em um ambiente de mainframe, especialmente um com muitos módulos legados, as dependências entre programas podem ser complexas Solução: garanta que todas as dependências estejam claramente definidas em seu script de construção e controle de versão Você também pode automatizar a resolução de dependências criando script para a configuração do seu ambiente antes da Dois, longos tempos de construção. Os programas de mainframe geralmente consistem em vários módulos e contas altas podem levar muito tempo longos tempos de construção diminuem o ciclo de feedback em um pipeline CIC oito Solução, considere dividir seu processo de construção em construções modulares menores. Em vez de compilar tudo de uma vez, compile somente os módulos que foram alterados Use compilações incrementais para acelerar o processo. Três, testando gargalos. execução de testes em um ambiente de mainframe pode consumir muitos recursos e ser lenta Se os testes não forem otimizados, eles podem se tornar um gargalo no pipeline. Solução. Paralelize os testes de compartilhamento sempre que possível. Você pode dividir seu conjunto de testes em partes menores e executá-las em diferentes ambientes em que os diferentes ambientes em que simuladores aceleram Ou problemas de implantação. Às vezes, as implantações de mainframe podem falhar devido a incompatibilidades de ambiente, problemas de permissão ou outros Solução: automatize o máximo possível do processo de implantação Use ferramentas de gerenciamento de configuração para garantir que todos os ambientes, desenvolvimento, testes e produção sejam configurados de forma consistente. Melhores práticas para integrar construções em pipelines do CICD Primeiro, mantenha o pipeline simples. Comece com um simples pipeline de CICD, integre, crie primeiro a automação e adicione gradualmente os estágios de teste e implantação Segundo, use construções modulares. Se você estiver lidando com grandes sistemas de mainframe, divida seu código em módulos menores e crie-os separadamente para melhorar a eficiência Três, testes automatizados. O teste automatizado é fundamental para resolver problemas no início do processo. Certifique-se de integrar testes de unidade, testes de integração e, possivelmente, testes de regressão ou monitorar o pipeline Fique de olho no desempenho do pipeline. Se as contas estiverem demorando muito ou os testes falharem com frequência, analise os comprimentos das garrafas e otimize o processo Principais conclusões desta lição. A integração da automação de compilação em um pipeline do CICD simplifica o processo desde a confirmação do código até a implantação, garantindo lançamentos mais rápidos e atualizações mais confiáveis Dois problemas comuns durante a automação de compilação incluem dependências ausentes, longos tempos de compilação, gargalos de teste e falhas de implantação, que podem ser resolvidos com cuidadosos Em terceiro lugar, os pipelines CICD para mainframes devem ser projetados com construções modulares, testes automatizados e scripts de implantação eficientes para Atividade de aprendizagem. Pegue seu script de construção automatizado existente e integre-o a um pipeline CICD usando Jenkins ou outra ferramenta de CI Configure o pipeline para ser acionado em cada confirmação de código e configure-o para criar e testar automaticamente o aplicativo. Identifique um possível gargalo em seu pipeline atual, por exemplo, tempos de construção lentos ou testes demorados e pense em maneiras O que vem a seguir? No próximo módulo, vamos nos concentrar na implementação testes automatizados para mainframes O teste é um componente essencial de qualquer pipeline do CICD, garantindo que as alterações no código não introduzam novos bugs ou erros Você aprende sobre a importância dos testes automatizados, os diferentes tipos de teste, integração de unidades, regressão e como implementá-los em um ambiente de mainframe 14. Aula 1: a importância dos testes automatizados: Bem-vindo ao módulo quatro, Implementação de testes automatizados para mainframes Neste módulo, exploraremos o valor dos testes automatizados para aplicativos de mainframe Você aprenderá como configurar testes automatizados, integrá-los ao seu pipeline de DevOp e garantir que seus aplicativos mantenham alta qualidade e estabilidade Primeira lição: a importância dos testes automatizados. Bem-vindo à primeira lição do módulo quatro. Nesta lição, vamos explorar o papel fundamental dos testes automatizados na modernização dos ambientes de mainframe O teste automatizado é fundamental para garantir a qualidade e a estabilidade de seus aplicativos de mainframe, especialmente em fluxos de trabalho de DevOps em ritmo acelerado onde ocorrem alterações frequentes Ao final desta lição, você entenderá os benefícios dos testes automatizados, tipos de testes mais relevantes para sistemas de mainframe e por que implementá-los pode melhorar muito seus processos de desenvolvimento e implantação Vamos mergulhar. E o que são testes automatizados e por que eles são importantes? teste automatizado é o processo de usar ferramentas de software para executar testes predefinidos no código do aplicativo sem intervenção manual Esses testes podem validar tudo, desde funções simples até interações complexas em seu sistema Para ambientes de mainframe em aplicativos geralmente executam processos essenciais, os testes automatizados garantem que seus sistemas permaneçam estáveis e livres de erros, mesmo quando você introduz novos recursos, atualizações ou patches Os benefícios dos testes automatizados. Um, maior cobertura de testes. Testes automatizados e um a mais casos de teste, garantindo que mais partes do código sejam testadas, incluindo casos extremos, que possam passar despercebidos nos testes manuais. Dois, feedback mais rápido. Os testes automatizados fornecem feedback imediato sobre as alterações no código, reduzindo o tempo necessário para identificar bugs ou erros. Três, consistente e confiável. Diferentemente dos testes manuais, os testes automatizados são executados sempre da mesma forma, reduzindo o risco de erro humano e garantindo resultados consistentes. Para melhorar a qualidade do código. Ao integrar testes automatizados em seu pipeline de CICD, você pode detectar problemas antes que eles cheguem à produção, resultando em um software mais estável e confiável Vamos dar um exemplo. Uma grande empresa de varejo usa sistemas baseados em paralelepípedos para gerenciar seu estoque e faturamento Ao implementar testes automatizados, eles podem validar toda a base de código sempre que um novo recurso é introduzido, garantindo que a funcionalidade existente permaneça intacta Isso permitiu que eles reduzissem o número de bugs introduzidos na produção e melhorassem a estabilidade do sistema. Tipos de testes automatizados em ambientes de mainframe. No contexto de mainframes, existem três tipos principais de testes que são particularmente relevantes: testes exclusivos, testes integração e testes de regressão Cada um desses testes serve uma finalidade específica e fornece valor exclusivo para garantir a qualidade do código. Testes únicos. teste unitário se concentra em testar componentes ou módulos individuais do seu aplicativo. Essas são as menores unidades de teste projetadas para validar o comportamento de uma função, método ou classe específica Por que eles são importantes para mainframes? Em sistemas de mainframe, os programas CBL ou PL one geralmente são construídos em muitos módulos pequenos Os testes unitários garantem que esses módulos funcionem conforme esperado antes de serem integrados ao sistema maior. Por exemplo, você pode escrever um teste unitário para garantir que a sub-rotina CBL, responsável pelo cálculo dos descontos para clientes Teste de integração. O teste de integração se concentra em testar como diferentes módulos ou componentes do seu sistema funcionam juntos. Eles garantem que, uma vez combinados os módulos individuais, eles interajam adequadamente e produzam os resultados esperados. Por que eles são importantes para os mainframes. Os sistemas de mainframe geralmente envolvem interações complexas entre vários programas e bancos teste de integração garante que os dados fluam corretamente entre os sistemas e que diferentes componentes possam trabalhar juntos. Um exemplo, um teste de integração para garantir que a interação entre um módulo CBL e um banco de dados DB two esteja funcionando conforme o esperado ao processar transações de clientes Teste de regressão. Os testes de regressão são projetados para verificar se o código crescente mudou, não introduziram novos bugs ou quebraram a funcionalidade existente Esses testes são cruciais para manter a estabilidade à medida que novos recursos são adicionados ou atualizações são feitas em seu sistema. Por que eles são importantes para os mainframes. Os sistemas de mainframe antigos geralmente são altamente sensíveis às mudanças Os testes de regressão garantem que o novo código não interrompa inadvertidamente Por exemplo, depois de implementar um novo recurso em seu sistema de processamento de folha de pagamento, testes de regressão validariam se os cálculos principais da folha de pagamento ainda funcionam corretamente Um exemplo, uma instituição financeira que administra um sistema de gerenciamento de empréstimos baseado em dobro implementa testes de integração e regressão de unidades Esses testes automatizados garantem que os cálculos de juros de empréstimos testes unitários funcionem conforme o esperado, que se integrem corretamente ao teste de integração do sistema contábil e que funções anteriores, como processamento de dados de clientes, não tenham sido afetadas pelos testes de regressão Por que os testes automatizados são essenciais para o DevOps de mainframe. Nas práticas de DevOps, nas quais código é frequentemente alterado, testado e implantado, o teste automatizado é a base para manter a qualidade do Em ambientes tradicionais de mainframe, o teste geralmente é um processo manual, que pode ser lento, inconsistente e propenso a erros humanos Mas com os princípios do DevOps, os testes automatizados permitem que as equipes testem continuamente o código a cada alteração, criando um pipeline de desenvolvimento estável e confiável Como os testes automatizados melhoram o desenvolvimento em mainframes. Uma integração contínua. Teste automatizado executado assim que o código é confirmado, garantindo que todos os problemas sejam detectados precocemente. Dois, entrega contínua. Testes automatizados confirmam que o código está pronto para produção, permitindo que as equipes implementem mudanças com mais rapidez e confiança Três, redução de risco. Os testes de regressão automatizados ajudam a reduzir o risco de implantação de novos recursos de atualizações, garantindo que o código existente permaneça estável Aqui está um exemplo. Um banco que usa um sistema baseado em hobble para processar transações adota práticas de DevOps. Ao integrar testes automatizados em seu pipeline de CI, eles podem garantir que quaisquer novas atualizações seu sistema de processamento de transações não introduzam bugs que possam atrapalhar seus negócios. Principais conclusões desta lição. Os testes automatizados são essenciais para garantir a qualidade e a estabilidade dos aplicativos de mainframe em um ambiente DevOps dos testes unitários, testes de integração Cada um dos testes unitários, testes de integração e testes de regressão tem propósitos exclusivos e, juntos, fornecem uma cobertura abrangente de testes para sistemas de mainframe Os testes automatizados permitem um feedback mais rápido, maior cobertura do teste e maior consistência em comparação com os testes manuais. Atividade de ganho. Identifique um pequeno módulo ou sub-rotina em um de seus aplicativos de mainframe, por exemplo, COBOL ou PL one, que poderia se beneficiar de Escreva um teste unitário para validar o comportamento desse módulo. Reflita sobre como os testes automatizados podem melhorar a estabilidade de seus aplicativos de mainframe à medida que você implementa mudanças futuras O que vem a seguir? Na próxima lição, exploraremos a configuração testes unitários automatizados para mainframes Abordaremos as ferramentas e estruturas disponíveis para automatizar testes unitários em ambientes de mainframe e explicaremos como escrever e Você aprenderá como começar a aplicar testes unitários automatizados em sua própria base de código de mainframe 15. Aula 2: como configurar testes de unidade automatizados para Mainframes: Lição dois, configurando testes unitários automatizados para mainframes Bem-vindo à segunda lição do módulo quatro. Nesta lição, exploraremos como configurar testes de unidade automatizados para seus aplicativos de mainframe teste unitário é a base de qualquer estratégia de teste eficaz, especialmente em ambientes complexos de mainframe onde pequenas mudanças podem ter impactos de longo alcance Ao automatizar o teste unitário, você garante que cada componente do seu sistema funcione conforme o esperado e possa ser testado de forma rápida e consistente Abordaremos as ferramentas e estruturas usadas para testes unitários em ambientes de mainframe, como escrever testes unitários eficazes para aplicativos de mainframe e como executá-los como parte de seu pipeline de integração contínua Vamos começar. O que é teste unitário em mainframes teste unitário se concentra em testar componentes ou módulos individuais do seu aplicativo, como uma única sub-rotina de paralelepípedos ou procedimento PLO O objetivo do teste unitário é garantir que cada parte do aplicativo funcione corretamente de forma isolada antes de ser integrada a outros componentes. Em um ambiente de mainframe, teste automatizado é fundamental porque ajuda os desenvolvedores a validar rapidamente pequenas alterações e identificar bugs no início do processo de desenvolvimento Quando integrados a um pipeline de testes contínuos, os testes unitários fornecem feedback rápido e reduzem o risco de erros chegarem à produção. Principais características dos testes unitários. Isolated testa unidades individuais de código sem depender de outras partes do sistema Repetível. Os testes podem ser executados várias vezes com os mesmos resultados. Passe. Como os testes unitários têm como alvo pequenos trechos de código, eles são executados rapidamente. Ferramentas e estruturas para automatizar testes unitários em mainframes Para escrever e executar testes unitários para aplicativos de mainframe, você precisará de ferramentas e estruturas projetadas para funcionar com linguagens de mainframe como Cobol, DLO Essas ferramentas permitem automatizar o processo de teste e integrá-lo aos modernos pipelines do CICD. Um, estrutura de teste unitário IBM Z ou unidade Z. Z Unit é a estrutura da IBM para escrever e executar testes unitários em ambientes de mainframe que suporta Coball, PL one e assembler e foi projetada para ser totalmente integrada ao IBM Developer for ZOS Ele permite que você crie casos de teste para unidades individuais do programa e execute esses testes automaticamente. Características. Ele testa programas individuais em COBOL ou PL One Ele automatiza a execução de testes como parte de um pipeline desenvolvido e gera relatórios de teste para monitorar a cobertura do código e as taxas de sucesso ou falha Exemplo de caso de uso: um banco usa a unidade Z para escrever e executar testes unitários para um programa da CBL que calcula as taxas de juros do empréstimo Cada vez que um desenvolvedor atualiza o algoritmo de cálculo do empréstimo, os testes unitários são executados automaticamente , garantindo que o programa ainda funcione corretamente. Segundo, a integração do Jenkins com o teste unitário do mainframe. Embora o Jenkins seja conhecido principalmente como uma ferramenta de CI, ele pode se integrar a várias estruturas de teste de unidade para mainframes Jenkins pode acionar automaticamente um teste de unidade após cada confirmação de código e exibir os resultados na interface do Jenkins Características: ele automatiza o processo de execução de testes unitários após a confirmação do código. Ele se integra à unidade Z e a outras ferramentas de teste de mainframe Ele fornece feedback em tempo real aos desenvolvedores, incluindo resultados de testes e relatórios de cobertura de código. Exemplo, caso de uso. Uma empresa de logística tem um pipeline Jenkins configurado para acionar o teste unitário para seus aplicativos de mainframe Sempre que um módulo de cobertura é atualizado, Jenkins executa um teste unitário e relata imediatamente qualquer falha, permitindo que a equipe de desenvolvimento resolva problemas rapidamente Três, corporativo de microfoco desenvolvedor corporativo Microfocus Enterprise fornece ferramentas para desenvolvimento de mainframe, incluindo recursos de teste de unidade para Essa ferramenta permite que você execute testes unitários em aplicativos de mainframe em um ambiente que não seja de mainframe, como em uma plataforma distribuída Possui, desenvolve e testa programas CBO em ambientes não mainframe Ele automatiza os testes com ferramentas integradas. Ele integra facilmente os testes unitários em seu pipeline do CICD. Exemplo de caso de uso. Uma empresa de varejo usa o microfocus para desenvolver e testar seu sistema de cobrança baseado em paralelepípedos Eles executam testes exclusivos em seu ambiente local antes de implantar o código testado no mainframe, garantindo que todos os módulos estejam funcionando corretamente Escrevendo e executando testes unitários para aplicativos de mainframe Agora que abordamos as ferramentas, vamos ver como escrever testes unitários eficazes para seus aplicativos de mainframe Começaremos escrevendo um teste unitário simples no CBO, mas os mesmos princípios se aplicam ao PL em uma ou outras linguagens de mainframe Primeiro passo, identifique a unidade a ser testada. A primeira etapa para escrever um teste unitário é identificar a unidade de código que você deseja testar. Isso pode ser um parágrafo de cobot, procedimento PLO ou uma função individual É importante que a unidade de código seja pequena o suficiente para ser testada isoladamente. Por exemplo, em um sistema de folha de pagamento, talvez você queira testar a sub-rotina responsável pelo cálculo Essa sub-rotina usa parâmetros de entrada, como desempenho e salário do funcionário e retorna o valor do bônus Etapa 2: escrever casos de teste. Um caso de teste define o comportamento esperado de sua unidade sob várias condições. Para cada caso de teste, você especificará um valor de entrada. Os dados que você passa para a unidade, por exemplo, pontuações de desempenho dos funcionários. Dois, saída esperada, o que você espera que a unidade retorne? Por exemplo, valor do bônus. Três, execução, a execução real da unidade usando os valores de entrada. Nossa afirmação, verificando se a saída corresponde aos resultados esperados Deixe-me mostrar um exemplo de caso de teste para a sub-rotina CBL. Aqui está um exemplo de caso de teste para sub-rotina da Cobal que calcula Etapa três, execute o teste automaticamente. Depois de inserir seus casos de teste, use uma estrutura como a unidade Z ou microfoco para automatizar sua execução Isso permite que você execute seu teste como parte de um pipeline do CICD ou em intervalos programados Configuração no Jenkins. Se você estiver usando o Jenkins, poderá configurá-lo para acionar automaticamente o teste de unidade após cada confirmação de código Jenkins compilará o programa CBA, executará o teste unitário e fornecerá um relatório dos resultados Configure com a unidade Z. No IBM developer for ZOS, você pode configurar uma unidade Z para executar seu teste de unidade após cada compilação ou como parte de um fluxo de trabalho de teste maior Vamos dar um exemplo. A agência governamental usa testes unitários automatizados para os programas COVA para lidar com cálculos de impostos Depois de qualquer alteração no código, os testes unitários são executados automaticamente para garantir que as alterações não introduzam erros nos cálculos. Os resultados do teste são reportados por meio do Jenkins permitindo que a equipe de desenvolvimento resolva rapidamente qualquer problema Principais conclusões desta lição. Um deles, os testes unitários automatizados garantem que módulos ou componentes individuais de seus aplicativos de mainframe funcionem corretamente de forma isolada Segundo, ferramentas como unidade Z e microfoco facilitam a gravação e a execução testes unitários automatizados para aplicativos Cobol e PL one Em terceiro lugar, a integração de testes unitários em um pipeline de CICD permite feedback mais rápido e garante que novas mudanças não introduzam bugs ou erros Atividade de aprendizagem. Escolha uma pequena sub-rotina de cobalto ou PL One de seus aplicativos de mainframe Escreva de dois a três testes unitários para avaliar o comportamento válido dos dados dessa sub-rotina Execute esse teste usando uma estrutura como Z unit ou Micro focus e reflita sobre como o teste unitário automatizado melhoraria seu processo de desenvolvimento. O que vem a seguir? Na próxima lição, vamos nos aprofundar na automação dos testes de integração e regressão Você aprenderá como automatizar os testes de integração entre sistemas mainframe e não mainframe e como configurar o teste de regressão para garantir que sua funcionalidade existente permaneça estável à medida que sua funcionalidade existente permaneça novas 16. Aula 3: automatizando testes de integração e regressão: Lição três, automatizando integração e os testes de agressão Bem-vindo à lição três do módulo quatro. Nesta lição, vamos nos concentrar em dois tipos críticos de teste, teste de integração e teste de regressão À medida que você automatiza mais aspectos do seu pipeline de testes, os testes se tornam essenciais para garantir que seus aplicativos de mainframe funcionem perfeitamente com outros sistemas e que as alterações não interrompam Ao final da lição, você entenderá como automatizar teste de integração entre sistemas mainframe e não mainframe, bem como como automatizar o uso do teste de regressão automatizado para manter a estabilidade de seus aplicativos durante o desenvolvimento entenderá como automatizar o teste de integração entre sistemas mainframe e não mainframe, bem como como automatizar o uso do teste de regressão automatizado para manter a estabilidade de seus aplicativos durante o desenvolvimento e as atualizações. Vamos mergulhar. O que é teste de integração e por que é importante? teste de integração garante que diferentes módulos ou sistemas funcionem juntos conforme o esperado. Enquanto os testes unitários se concentram em testar componentes individuais, os testes de integração validam a interação entre esses componentes, o que é especialmente importante em sistemas grandes e complexos Em ambientes de mainframe, muitos aplicativos não operam isoladamente Eles geralmente interagem com bancos de dados, APIs externas, middleware e até mesmo sistemas que não automação do teste de integração permite verificar se todos esses componentes funcionam juntos corretamente, independentemente de esses componentes funcionam juntos corretamente quantas alterações de código sejam introduzidas Principais características do teste de integração, interação entre sistemas. Verifica se vários sistemas ou módulos podem se comunicar e funcionar conforme o esperado de ponta a ponta, teste fluxos de trabalho do mundo real em diferentes componentes Complexidade. A abertura envolve testes em diferentes ambientes, por exemplo, entre mainframes, sistemas distribuídos ou na nuvem Como automatizar os testes de integração entre sistemas mainframe e não mainframe Os aplicativos de mainframe geralmente precisam interagir com sistemas distribuídos, APIs e bancos de dados automação dos testes de integração entre esses sistemas garante que as alterações feitas em um sistema não afetem negativamente O objetivo é criar testes automatizados que imitem as interações do mundo real, detectando erros ou falhas precocemente Etapas para automatizar os testes de integração. Primeiro, identifique os pontos de integração. Primeiro, identifique os pontos-chave em que seu sistema de mainframe interage com outros Isso pode incluir acesso ao banco de dados, chamadas de API ou trocas de arquivos. Por exemplo, um aplicativo bancário pode se integrar a um banco de dados DB two, uma API de pagamento e um serviço de middleware Cada ponto de integração deve ser testado. Em segundo lugar, defina os cenários de teste. Crie casos de teste que cubram os pontos de integração mais comuns e críticos. Por exemplo, teste um fluxo de trabalho de transação completo , desde a entrada, por exemplo, cliente fazendo um pedido até a resposta de uma API de pagamento externa e retornando ao seu aplicativo de mainframe Em terceiro lugar, configure as ferramentas de automação. Use ferramentas como o IBM Rational Integration Tester ou o CA Service Virtualization para simular e automatizar os Essas ferramentas podem simular interações entre os mainframes e os sistemas externos, facilitando a criação de testes repetíveis Quarto, execute, valide e automatize a execução desses testes como parte de seu pipeline de CICD, garantindo que eles sejam executados sempre que um novo código Os resultados dos testes de integração devem ser registrados e analisados para detectar rapidamente falhas ou lentidões na comunicação entre Vamos dar um exemplo. Uma organização de saúde que executa sistemas baseados em Cobble automatiza os testes de integração entre seu banco de dados principal de registros de pacientes e um serviço analítico baseado em nuvem Cada vez que um desenvolvedor atualiza o sistema de registro do paciente, o teste automatizado garante que os dados sejam enviados corretamente para o serviço analítico em nuvem e sejam processados sem erros O que é teste de regressão e por que é importante? O teste de regressão como objetivo garantir que mudanças ou atualizações recentes em sua base de código não interrompam a funcionalidade existente Isso é especialmente importante em ambientes de mainframe em que muitos sistemas estão totalmente integrados e pequenas mudanças podem ter efeitos em cascata em todo o aplicativo automação do teste de regressão ajuda a validar se a funcionalidade principal permanece estável e inalterada mesmo após a introdução de novos recursos ou Principais características do teste de regressão. Testar novamente os recursos existentes garante que o código existente continue funcionando conforme o esperado, detecte efeitos colaterais indesejados e solucione bugs introduzidos por novas Contínuo. Os testes de regressão devem ser executados com frequência, especialmente após cada alteração significativa Como automatizar testes de regressão em aplicativos de mainframe automação dos testes de regressão em um ambiente de mainframe ajuda a detectar erros no início do ciclo de desenvolvimento, reduzindo o risco de introduzir O objetivo é criar um conjunto abrangente de testes que verifique a funcionalidade nova e a existente. Etapas para automatizar o teste de regressão. Primeiro, identifique as áreas funcionais críticas. Determine quais partes de seus aplicativos de mainframe são mais importantes para sua operação Esses podem ser módulos principais, como sistemas de cobrança, processamento de transações ou recuperação de dados Em segundo lugar, crie casos de teste básicos. Crie casos de teste que reflitam o comportamento esperado do seu aplicativo em seu estado atual. Esses casos de teste servirão como base para o teste de regressão. Sempre que uma alteração for feita, o teste de regressão comparará o comportamento atual com essa linha de base Em terceiro lugar, automatize a execução do teste. Use ferramentas como a bancada de trabalho de testes racionais da IBM ou o teste baseado em selênio ou interface do usuário para automatizar os testes de regressão Essas ferramentas permitem automatizar a execução de casos de teste e gerar relatórios detalhados sobre os resultados dos testes Quarto, execute testes continuamente. Automatize seu teste de regressão para ser executado como parte do pipeline do CICD Isso garante que toda vez que um novo código for confirmado, testes de regressão sejam executados e quaisquer falhas sejam sinalizadas imediatamente Quinta suíte de testes de manutenção e atualização. Conforme seu aplicativo evolui, atualize regularmente seu conjunto de testes de regressão para cobrir novos recursos ou alterações nas funcionalidades existentes Certifique-se de que os testes obsoletos sejam removidos e atualizados conforme necessário. Por exemplo, uma seguradora usa testes de regressão automatizados para garantir que as atualizações em seu sistema de processamento de sinistros não afetem funcionalidades, como a recuperação de dados do segurado Sempre que uma alteração é feita, os testes de regressão são executados e todos os problemas são detectados e resolvidos antes o código seja implantado Ferramentas para automatizar os testes de integração e regressão. Testador de integração IBM Rationale, uma ferramenta para automatizar teste de integração entre mainframe Ele simula interações e valida que os sistemas estão trabalhando juntos conforme Rationale Test Workbench fornece recursos de teste automatizados para unitários e de regressão, permitindo que as equipes criem suítes de testes para validar a para validar Virtualização de serviços da CA, útil para simular e testar interações entre mainframe e Selenium, frequentemente usado para automatizar testes de regressão baseados na interface do usuário, garantindo que as alterações na funcionalidade do back-end não Melhores práticas para automatizar testes de integração e regressão Primeiro, comece pequeno e aumente a escala. Comece automatizando os testes para as partes mais críticas do seu sistema À medida que você ganha confiança, expanda sua cobertura de automação para incluir mais pontos de integração e cenários de regressão Segundo, simule dependências externas. Ao executar testes de integração, serviços externos simulados simulam cenários do mundo real sem depender Isso torna os testes mais confiáveis e repetíveis. Três, mantenha as suítes de teste atualizadas. À medida que seu aplicativo de mainframe evolui, atualize regularmente suas suítes de integração e regressão para garantir que elas reflitam o estado atual do Quatro, integre com os pipelines do CICD. Automatizar seus testes só é útil se eles forem executados continuamente Garanta que seus testes de integração e regressão façam parte do pipeline do CICD, sendo executados automaticamente após cada confirmação ou atualização do código Principais conclusões desta lição. Primeiro, os testes de integração garantem que seus aplicativos de mainframe interajam perfeitamente com outros sistemas, detectando problemas nos fluxos de trabalho entre sistemas Segundo, os testes de regressão ajudam a manter a estabilidade da funcionalidade existente, garantindo que novas alterações não introduzam bugs ou problemas Em terceiro lugar, a automatização testes de integração e regressão fornece feedback mais rápido e reduz o risco de implantação de código instável Quatro, use ferramentas como o IBM Rational Integration Tester, virtualização de serviços de CI e Rational Test Work Bench para automatizar esse teste Atividade de ganho. Escolha um ponto crítico de integração em seu sistema de mainframe, por exemplo, interação com banco de dados ou chamada de API Escreva e automatize o teste de integração para validar essa interação Em seguida, identifique um recurso principal em seu sistema e crie um teste de regressão para garantir que ele permaneça estável após a atualização Automatize os dois testes e integre-os ao seu pipeline de CICD. O que vem a seguir? Na próxima lição, exploraremos incorporação da automação de testes ao pipeline do CICD. Você aprenderá a configurar estágios de teste automatizados em seu pipeline e descobrirá as melhores práticas para criar uma testes confiável e sustentável 17. Aula 4: incorporando automação de testes ao pipeline de CI/CD: Lição quatro, incorporando a automação de testes ao pipeline do CICD. Bem-vindo à lição quatro do módulo quatro. Nesta lição, exploraremos como integrar seu teste automatizado em um pipeline CICD completo Você já aprendeu a escrever testes de integração e regressão de unidades para seus aplicativos de mainframe Agora é hora de automatizar a execução desse teste em um pipeline do CICD para garantir que cada alteração de código seja testada continuamente, melhorando a velocidade e a Ao final desta lição, você entenderá como configurar estágios de teste automatizados em seu pipeline e implementar as melhores práticas para tornar sua automação de testes robusta, escalável e sustentável Vamos começar. O que é um pipeline CICD Um pipeline CICD é um fluxo de trabalho automatizado que gerencia o desenvolvimento, teste e a implantação de alterações de código Para aplicativos de mainframe, esse pipeline reúne sistemas legados e princípios modernos de DevOps, garantindo que as mudanças sejam implantadas de forma suave e rápida, sem comprometer a estabilidade do No centro de um pipeline do CICD estão os testes automatizados. Esses testes fornecem as verificações de qualidade necessárias para garantir que qualquer código implantado tenha sido completamente validado Mas, ao automatizar o processo de teste, você reduz o risco de erro humano e garante que o código esteja sempre pronto para implantação Etapas típicas do pipeline do CICD. Um, integração do controle de origem. Os desenvolvedores submetem seu código a um sistema de controle de versão, como dois, build. O sistema compila os executáveis geradores de código para o mainframe Três, testes automatizados. testes de integração e regressão de unidades são executados automaticamente Para implantação, o código é implantado automaticamente um ambiente de teste ou produção após a aprovação de todos os testes Um exemplo, uma seguradora usa um pipeline CICD para seu sistema de sinistro baseado em código Sempre que um desenvolvedor faz uma alteração no código, o pipeline compila automaticamente o código, executa testes e, se for bem-sucedido, implanta o aplicativo atualizado em um ambiente de teste Iniciando estágios de teste automatizados no pipeline do CICD. Agora vamos nos concentrar em como integrar estágios de teste automatizados em seu pipeline de CICD Isso envolve configurar seu pipeline para executar automaticamente diferentes tipos de testes, como integração de unidades e regressão, sempre que um novo código é Primeiro, defina os estágios do seu pipeline de testes. Em um pipeline típico do CICD, os testes automatizados devem ser executados em diferentes estágios Cada tipo de teste serve a um propósito específico. Teste unitário. Esse teste deve ser executado durante os estágios iniciais do pipeline logo após a criação do código. Os testes unitários são aprovados e garantem que os componentes individuais funcionem conforme o esperado, isoladamente. Testes de integração, esses testes devem ser executados após a aprovação dos testes unitários, garantindo que diferentes partes do sistema interajam adequadamente. Testes de regressão. Após os testes de integração, os testes de regressão confirmam que as novas alterações não quebraram a funcionalidade existente Você pode configurar seu pipeline no Jenkins, Gitlab CI ou em outra ferramenta de CI para executar esse teste Dois, execução automatizada de testes. Para garantir que os testes sejam executados automaticamente, sua ferramenta CICD deve ser configurada para acionar o teste com base em ações específicas Acione ao confirmar. Toda vez que um desenvolvedor envia código para o repositório do mainframe, pipeline aciona os testes automatizados Acione na solicitação completa. Antes de mesclar as alterações na ramificação principal, o pipeline pode executar testes mediante solicitação completa para garantir que o código esteja estável. Agende testes. Além de acionar testes em confirmações, você pode programar testes de regressão para serem executados Por exemplo, construções noturnas. Por exemplo, em um sistema bancário, cada vez que um desenvolvedor envia um novo código para o repositório, Jenkin executa testes unitários nos módulos CBL primeiro Se os testes de unidade forem aprovados, ele continuará executando testes de integração entre o código Cobal e o banco de dados DB two Por fim, testes de regressão são executados para garantir que as funções de gerenciamento de contas existentes não tenham sido afetadas Três, relatórios e feedback. Depois que os testes forem executados, é importante fornecer feedback imediato aos desenvolvedores. Ferramentas de DICD, como o Jenkins, podem gerar automaticamente relatórios mostrando quais testes foram aprovados ou reprovados, fornecendo aos desenvolvedores informações detalhadas sobre onde estão os problemas Relatórios de teste. Configure sua ferramenta CICD para gerar relatórios de teste detalhados Por exemplo, o Jenkins pode exibir os resultados dos testes na interface do usuário, destacando os testes que falharam e seus motivos Notificações, notificações automáticas, por exemplo, por e-mail ou Slack para alertar os desenvolvedores quando um teste falhar, fornecendo feedback imediato e permitindo que eles resolvam problemas rapidamente Práticas recomendadas para criar testes confiável e sustentável Para aproveitar ao máximo a automação de testes em seu pipeline de CICD, é importante seguir algumas práticas recomendadas Isso ajudará você a evitar armadilhas comuns e a garantir que sua automação de testes seja eficiente e escalável Um, passe no teste e concentre-se. Os testes automatizados devem fornecer feedback rápido. Os testes unitários devem ser executados em segundos, enquanto teste de integração e regressão pode demorar um pouco mais Se os testes forem muito lentos, eles podem retardar todo o pipeline, causando atrasos no feedback Uma dica: divida testes grandes em testes menores e mais focados. Por exemplo, em vez de testar todo o fluxo de trabalho de uma transação em um teste, teste etapas individuais separadamente. Segundo, garanta que os testes sejam isolados. Para evitar interferência entre os testes, certifique-se de que cada teste seja executado isoladamente. Isso significa que os testes não devem depender de recursos compartilhados como bancos de dados, nem dos resultados de outros testes. Uma dica: use ferramentas de simulação ou visualização de serviços para simular sistemas de pesquisa externos, garantindo que os testes possam ser executados independentemente de Três, torne os testes repetíveis. Os testes automatizados devem ser repetíveis, o que significa que produzem sempre os mesmos resultados, independentemente do ambiente em que são executados Isso garante consistência e confiabilidade. Uma dica: evite codificar valores rígidos ou confiar em serviços externos Em vez disso, use parâmetros configuráveis para garantir que seus testes sejam independentes do ambiente Quatro, atualize e mantenha regularmente os doces de teste. Conforme seus aplicativos de mainframe evoluem, seu teste deve ser atualizado para refletir novos recursos e fluxos de trabalho, manter e revisar regularmente a largura do teste para garantir que ele permaneça atualizado Uma dica: defina um processo de revisão regular para atualizar ou remover testes obsoletos e adicionar novos testes para recursos recém-introduzidos. Vamos dar um exemplo. Uma empresa de varejo atualiza seu sistema de gerenciamento de inventário baseado em paralelepípedos com frequência Seguindo as melhores práticas para automação de testes, eles garantem que seu pipeline CICD execute testes automatizados de forma rápida e confiável Eles também atualizam regularmente seu conjunto de testes de regressão para refletir novas mudanças, evitando testes desatualizados ou redundantes Principais conclusões desta lição. Primeiro, incorporar a automação de testes em seu pipeline de CICD garante que cada alteração de código seja validada automaticamente, reduzindo erros e melhorando Segundo, o teste de integração e regressão da unidade deve ser executado em diferentes estágios do pipeline, fornecendo feedback rápido e confiável Em terceiro lugar, as melhores práticas, como manter os testes rápidos, isolados e repetíveis, ajudam a garantir que sua automação de testes seja confiável e sustentável Quatro suítes de teste atualizadas regularmente garantem que seus testes reflitam o estado atual de seus aplicativos de mainframe Atividade de ganho. Escolha um de seus aplicativos de mainframe e identifique onde você pode adicionar testes automatizados, integração de unidades e regressão Configure seu pipeline CICD, por exemplo, Jenkins ou Gitlab, para executar esse teste após Analise os resultados do teste automatizado e analise com que rapidez e confiabilidade o feedback é fornecido Reflita sobre como esse processo melhora seu fluxo de trabalho de desenvolvimento. O que vem a seguir? No próximo módulo, começaremos a explorar a configuração do pipeline de integração contínua. Você aprende os principais princípios e metas da integração contínua e como ela beneficia os ambientes de mainframe. Também abordaremos como configurar um pipeline robusto de CI para agilizar seu processo de desenvolvimento 18. Aula 1: o que é integração contínua?: Bem-vindo ao Módulo 5, integração contínua ou configuração do pipeline de CI. Neste módulo, você aprenderá a configurar um pipeline de CI para ambientes de mainframe, com foco na integração contínua ou CI, compilações e testes automatizados Exploraremos como a CI se encaixa no cenário de Devops, simplificando o desenvolvimento e melhorando a qualidade do código Primeira lição: o que é integração contínua? Bem-vindo à primeira lição do módulo cinco. Nesta lição, vamos explorar o conceito de integração contínua ou CI e seus princípios fundamentais. Você já aprendeu sobre automação de testes em ambientes de mainframe Agora é hora de entender como a CI se encaixa nesse processo e por que ela é tão importante, especialmente em sistemas de mainframe complexos Ao final desta lição, você entenderá as metas da integração contínua e como a implementação da integração contínua e como CI pode beneficiar seu ambiente de mainframe ao simplificar o desenvolvimento, reduzir erros e acelerar o ciclo você entenderá as metas da integração contínua e como a implementação da CI pode beneficiar seu ambiente de mainframe ao simplificar o desenvolvimento, reduzir erros e acelerar o ciclo de feedback. Vamos mergulhar. O que é integração contínua ou CI? integração contínua ou CI é uma prática de desenvolvimento em que os desenvolvedores frequentemente integram seu código em um repositório compartilhado, geralmente várias vezes ao dia Cada integração é verificada por um processo automatizado de criação e teste. Essa prática ajuda a detectar e corrigir problemas de integração precocemente, tornando o processo de desenvolvimento mais eficiente e confiável. Em um ambiente de mainframe, CI desempenha um papel crucial na modernização sistemas legados, garantindo que as alterações de código sejam continuamente validadas e mescladas, reduzindo a probabilidade de problemas de integração de última hora última As principais características da CI incluem a integração frequente de código. Os desenvolvedores enviam códigos regularmente, reduzindo a complexidade da mesclagem de alterações Teste automatizado Cada confirmação de código aciona testes automatizados, garantindo a qualidade do código e as compilações automatizadas O código é compilado e a fatura é cobrada automaticamente, fornecendo feedback imediato sobre erros de compilação. Feedback imediato. A CI fornece feedback rápido sobre se as mudanças mais recentes funcionam conforme o esperado. Princípios e metas fundamentais da integração contínua. Vamos analisar os princípios e metas fundamentais para orientar um processo bem-sucedido de CI. Esses princípios ajudam as equipes a se manterem alinhadas, reduzir os problemas de integração e melhorar a qualidade do software Primeiro, confirme o código com frequência. No ambiente de DI, os desenvolvedores confirmam seu código com frequência, às vezes várias vezes ao dia. Isso garante que a base de código esteja sempre atualizada e que quaisquer problemas de integração sejam identificados com antecedência. Por exemplo, em um sistema bancário baseado em paralelepípedos, os desenvolvedores que trabalham em diferentes módulos como contas de clientes e transações, permitem as alterações no repositório compartilhado ao longo do Isso evita que grandes mudanças conflitantes se acumulem com o tempo. Para automatizar o processo de criação. Cada confirmação de código deve acionar um processo de criação automatizado Isso significa compilar o código do aplicativo de mainframe, seja no Cabal ou no PL One, e verificar se há erros de sintaxe ou de Se a compilação falhar, os desenvolvedores recebem feedback imediato para que possam resolver os problemas. Por exemplo, uma empresa de logística automatiza o processo de criação de seu sistema de gerenciamento de inventário de mainframe Cada vez que um desenvolvedor envia um código para obter, Jenkins compila o código cob e relata Três, testes automatizados. O objetivo principal da CI é garantir que cada confirmação de código seja testada. Testes automatizados, integração de unidades e regressão são acionados como parte do pipeline de CI Esses testes garantem que as novas alterações não introduzam bugs nem interrompam a funcionalidade existente. Por exemplo, depois de compilar o código para um sistema de folha de pagamento baseado em CBL, testes automatizados são executados para garantir que os cálculos de salários, deduções fiscais e bônus Ou forneça feedback imediato. Um grande benefício da CI é a capacidade de fornecer feedback imediato aos desenvolvedores. Se suas alterações fizerem com que um teste falhe ou uma campainha quebre, eles podem resolver o problema imediatamente antes de passar para a próxima tarefa. Por exemplo, em um aplicativo de assistência médica que gerencia registros de pacientes, feedback imediato é fornecido após a confirmação de cada código, alertando os desenvolvedores se as alterações interromperem as interações existentes do banco de dados Cinco, mantenha a construção rápida. O processo de CI deve ser otimizado para maior velocidade. Os desenvolvedores devem receber feedback rapidamente, preferência minutos depois de cometerem o resfriado Isso permite uma iteração mais rápida e minimiza os atrasos Por exemplo, para um sistema de processamento de sinistros de seguros de mainframe, o processo de criação é otimizado para levar no máximo 10 minutos, permitindo que os desenvolvedores resolvam rapidamente quaisquer problemas antes de continuarem seu trabalho Benefícios da CI em ambientes de mainframe. Agora que entendemos os princípios da CI, vamos falar sobre os benefícios específicos da implementação de integrações contínuas em um ambiente de mainframe modernização de mainframes com CI ajuda as equipes de desenvolvimento a permanecerem ágeis, reduzirem erros e melhorarem a produtividade geral Um, detecção precoce de problemas de integração. integração frequente do código significa que os problemas de integração são detectados no início do processo de desenvolvimento. Isso evita o inferno de integração que geralmente ocorre quando o código não é mesclado por muito tempo. Por exemplo, em um aplicativo bancário de mainframe, integração diária de alterações na conta do cliente ajuda a identificar conflitos entre critérios, como gerenciamento de contas e processamento de empréstimos, com antecedência, reduzindo o risco de problemas futuros Dois, feedback mais rápido. Ao automatizar compilações e testes, TI fornece feedback quase imediato sobre as alterações no código Isso permite que os desenvolvedores corrijam os problemas assim que eles surgirem, resultando em ciclos de iteração mais rápidos Por exemplo, uma empresa de varejo de mainframe executa compilações e testes automatizados sempre que um novo código é confirmado, permitindo que os desenvolvedores recebam os resultados dos testes em minutos e evitem atrasos na correção de bugs Três, melhore a qualidade do código. Com testes automatizados sendo executados continuamente, a CI ajuda a garantir que a qualidade do código seja mantida. Cada confirmação de código deve passar por todos os testes antes de poder ser mesclada, evitando que códigos instáveis entrem no ambiente de produção Por exemplo, uma seguradora usa a CI para garantir que cada nova atualização em seu sistema de processamento de sinistros passe no teste de integração e regressão da unidade, mantendo o sistema estável e livre de grandes volumes Para reduzir o risco de problemas de produção. integração contínua reduz o risco de implantar código quebrado ou com erros na produção Como as alterações no código são testadas e validadas continuamente, a chance de grandes problemas passarem despercebidos é minimizada Por exemplo, uma agência governamental usa a CI para reduzir o risco de erros em seu sistema de processamento tributário, garantindo que cada alteração de código seja automaticamente testada e validada antes da implantação Como a CI se encaixa no DevOps para mainframes. Em ambientes de mainframe, a CI é um componente essencial da estratégia mais ampla de DevOp. Ele ajuda a preencher a lacuna entre as práticas tradicionais de desenvolvimento de mainframe e as metodologias ágeis modernas ao automatizar as etapas E Integração com DevOps, a CI permite uma entrega mais rápida e confiável de aplicativos de mainframe ao automatizar os testes e a integração, facilitando a colaboração de desenvolvedores, investidores e equipes de operações CD de entrega contínua. CI é a base para a entrega contínua, na qual cada alteração de código não é apenas integrada, mas também preparada para implantação automática. Vamos dar um exemplo. Uma empresa de serviços financeiros implementa a CI como parte da estratégia DevOp, garantindo que as alterações de código em seu sistema de transações de mainframe sejam automaticamente testadas e integradas ao pipeline Isso reduz os tempos do ciclo de desenvolvimento e garante uma implantação mais suave Principais conclusões desta lição. Uma delas, a integração contínua ou CI envolve integração frequente de código, compilações automatizadas e testes automatizados, garantindo feedback mais rápido e melhor qualidade do código Segundo, os principais princípios da CI incluem confirmações frequentes, compilações automatizadas e feedback rápido, que ajudam as equipes de desenvolvimento a se manterem alinhadas e a reduzir terceiro lugar, a CI em ambientes de mainframe melhora a qualidade do código, acelera o feedback e reduz o risco de problemas de produção ao automatizar partes críticas do processo de desenvolvimento Atividade de aprendizado: identifique um módulo ou componente em seu aplicativo de mainframe que possa se beneficiar da integração frequente Por exemplo, um módulo de transação financeira ou uma ferramenta de geração de relatórios. Configure um sistema para confirmar códigos com frequência e executar faturas automatizadas para esse módulo Reflita sobre como o feedback mais rápido da CI afeta seu fluxo de trabalho de desenvolvimento. O que vem a seguir? Na próxima lição, exploraremos configuração do Jenkins para integração contínua Você aprenderá como configurar trabalhos do Jenkins para serem acionados automaticamente no comitê de código e como configurar pipelines do Jenkins para pipelines do Jenkins específicos de mainframe 19. Aula 2: como configurar Jenkins para integração contínua: Lição dois, configurando o Jenkins para integração contínua Bem-vindo à lição dois do módulo cinco. Nesta lição, abordaremos o processo de configuração do Jenkins para integração contínua ou CI, especificamente adaptado para ambientes de mainframe Jenkins é uma ferramenta poderosa que automatiza a criação, teste e a implantação do seu código Ao final desta lição, você saberá como configurar trabalhos do Jenkins que são acionados automaticamente quando o código é confirmado e como configurar pipelines do Jenkins para pipelines do Jenkins específicos do mainframe Vamos começar. Por que usar Jenkins para integração contínua Jenkins é uma das ferramentas de CI mais usadas no mundo do DevOp porque é de código aberto, altamente flexível e se integra bem a uma ampla variedade de ambientes de desenvolvimento, O Jenkins é uma das ferramentas de CI mais usadas no mundo do DevOp porque é de código aberto, altamente flexível e se integra bem a uma ampla variedade de ambientes de desenvolvimento, incluindo mainframes. Jenkins permite que as equipes automatizem tarefas repetitivas, como criar e testar código, liberando os desenvolvedores para se concentrarem em ambientes de mainframe, Jenkins desempenha um papel crucial na modernização fluxos de trabalho de desenvolvimento ao integrar perfeitamente o código legado Com o Jenkins, as equipes de mainframe podem tirar proveito de compilações, testes e implantações automatizados que se encaixam no Por exemplo, uma empresa de serviços financeiros usa o Jenkins para automatizar o processo de criação e teste seu sistema de processamento de empréstimos baseado em paralelepípedos Sempre que um desenvolvedor envia um código, Jenkins automaticamente cria, executa testes e fornece imediato Configurando trabalhos do Jenkins para acionar confirmações de código. A primeira etapa na configuração do Jenkins para CI é criar trabalhos que são acionados automaticamente sempre que um novo código é permitido no repositório Nesta seção, examinaremos as etapas para configurar o Jenkins para essa tarefa Primeiro passo, instale o Jenkins e os plug-ins necessários. Antes de podermos configurar os trabalhos do Jenkins, você precisará garantir que o Jenkins esteja instalado e configurado com os plug-ins apropriados para o desenvolvimento do mainframe Para instalar o Jenkins, baixe e instale o Jenkins em seu servidor. Instale plug-ins. Você precisará de plug-ins como o plug-in Git para controle de versão, o plug-in de pipeline para criar pipelines automatizados e, possivelmente, o IBM DBBPlugi o plug-in Git para controle de versão, o plug-in de pipeline para criar pipelines automatizados e, possivelmente, o IBM DBBPlugi para criar aplicativos de mainframe. Por exemplo, se você estiver trabalhando com um sistema de mainframe baseado em CBL, poderá usar o IBM DBBPlugi para integrar-se ao Jenkins para criar programas Segundo, configure o gerenciamento de código-fonte ou SEM. No Jenkins, cada trabalho deve estar vinculado a um repositório de código-fonte, como o Git, onde seu código Você configurará o Jenkins para monitorar esse repositório e acionar trabalhos com base nas alterações do código Acesse o Jenkins Dashboard e selecione um novo trabalho. Selecione o projeto freestyle e dê um nome ao seu trabalho. Em gerenciamento de código-fonte, selecione Git e insira a URL do seu repositório Git Configure o Jenkins para monitorar o repositório em busca de quaisquer alterações Três, configure web hooks para acionadores automatizados. Para garantir que o Jenkins acione automaticamente as compilações, quando o código for confirmado, você precisará configurar web hooks ou pesquisas para pesquisas para Na configuração do seu repositório Git, por exemplo, GitHub ou GitLab, mas imagine um web hook apontando Isso permitirá que o Jenkins acione trabalhos sempre que um novo código for enviado No Jenkins, em Criar acionadores, selecione Gatilho de gancho do GitHub Por exemplo, uma empresa de varejo configura um trabalho do Jenkins que cria e testa automaticamente o código de mainframe de seus sistemas de gerenciamento de inventário toda vez que um desenvolvedor faz alterações Um exemplo de um gatilho de trabalho do Jenkins. Quando um novo código é confirmado no repositório do mainframe, Jenkins detecta automaticamente as alterações e aciona e aciona Isso mantém o processo de desenvolvimento rápido e eficiente usando a intervenção manual. Configurando pipelines Jenkins para específicos de mainframe Agora que configuramos o gatilho Jenkins na confirmação do código, vamos configurar um pipeline do Jenkins que automatiza a criação e o teste do código específico do mainframe No Jenkins, os pipelines são uma forma poderosa de definir todo o processo de CAI em um único script Primeiro, crie o script Jenkins Pipeline. Um script de pipeline Jenkins é um pipeline declarativo ou com script que define a etapa, a criação, o teste e a implantação Para compilações específicas de mainframe, você usará ferramentas como IBM, compilação baseada em dependência ou DBB ou desenvolvedor corporativo de microfoco, compilará Acesse o painel do Jenkins e selecione um novo trabalho. Escolha o projeto Pipeline. Na seção de pipeline, escreva um script de pipeline que defina os estágios do seu processo de CI. Aqui está um exemplo simples de um pipeline declarativo para um projeto CBL. Os principais estágios são os seguintes. Confira. Ele recupera o código mais recente do repositório Git. Crie o CBO. Ele usa o IBM DVB para compilar programas COBOL Execute o teste unitário. Ele executa testes de unidade automatizados para garantir a qualidade do código Implanta o aplicativo de compilação em um ambiente de teste. Em segundo lugar, pipelines personalizados para fluxos de trabalho de mainframe. Cada pipeline deve ser personalizado com base nos fluxos de trabalho específicos do mainframe que você está automatizando Por exemplo, crie scripts, use scripts de construção personalizados para compilar cobble, ELO ou Teste, configure testes unitários automatizados usando a unidade Z ou estruturas de teste de mainframe similares Automatize as implantações no ambiente de teste de mainframes Por exemplo, uma agência governamental automatiza seus sistemas de processamento de impostos, cria e testa um pipeline com o Jenkins Cada vez que o código é enviado, Jenkins cria os módulos cobble, executa testes automatizados e implanta o sistema em um ambiente de teste para posterior validação o Jenkins cria os módulos cobble, executa testes automatizados e implanta o sistema em um ambiente de teste para posterior validação. principais conclusões desta lição incluem, em primeiro lugar, Jemkin simplifica a integração contínua automatizando o processo de criação, teste e implantação de código de mainframe As principais conclusões desta lição incluem, em primeiro lugar, que a Jemkin simplifica a integração contínua automatizando o processo de criação, teste e implantação de código de mainframe. Segundo, iniciando trabalhos do Jenkins, o gatilho na permissão de código garante que as alterações sejam criadas e testadas automaticamente assim que forem feitas Em terceiro lugar, os pipelines Jenkins permitem que você crie fluxos de trabalho de ponta a ponta que integram ferramentas específicas do mainframe, automatizando todo o processo de CI Atividade de aprendizagem. Instale o Jenkins e configure-o com os plug-ins necessários para seu ambiente de mainframe Por exemplo, conecte um plug-in IBM DVB. Crie um trabalho do Jenkins que acione automaticamente uma compilação quando código é confirmado Escreva um script simples de pipeline do Jenkins para criar e testar seu aplicativo de mainframe, personalizando-o para se adequar ao seu O que vem a seguir? Na próxima lição, exploraremos o acionamento de compilações e testes automatizados. Você aprenderá como automatizar o processo de acionamento de compilações e testes sempre que um novo código for enviado ao repositório e como configurar notificações e ciclos de feedback para notificações e 20. Aula 3: disparando compilações e testes automatizados: Lição três, acionando compilações e testes automatizados. Bem-vindo à lição três do módulo cinco. Nesta lição, exploraremos como automatizar totalmente o processo de acionamento de compilações e testes sempre que um novo código for enviado Esse é um dos aspectos mais importantes de uma integração contínua ou pipeline de CI. Ele garante que todas as alterações feitas seu aplicativo de mainframe sejam criadas e testadas automaticamente sem intervenção manual Ao final desta lição, você saberá como configurar seu pipeline de CI, criar e testar o gatilho com eficiência e como configurar notificações e ciclos de feedback para manter os desenvolvedores Vamos mergulhar. Por que automatizar compilações e testes A automação está no centro de qualquer pipeline do CICD. Automatizar o processo de criação e teste de seu código sempre que novas alterações são feitas garante que os erros sejam detectados precocemente e que os desenvolvedores recebam feedback imediato sobre Isso é especialmente importante em ambientes de mainframe, onde os sistemas legados podem ser complexos e os testes manuais podem ser demorados e propensos a erros A automação de compilações e testes oferece vários benefícios importantes Detecção precoce de problemas. Quanto mais cedo você detectar bugs ou problemas de integração, mais fácil será corrigi-los. Feedback mais rápido para desenvolvedores. O feedback imediato permite que os desenvolvedores saibam se o código funciona conforme o esperado. Consistência. Compilações e testes automatizados garantem que todas as alterações de código sejam tratadas da mesma forma, reduzindo a variabilidade e o erro humano Escalabilidade. A automação permite que seu pipeline de CI lide com mudanças grandes e frequentes com mais eficiência. Automatizando o processo de acionamento de faturas e testes. Para automatizar totalmente as faturas e os testes, precisamos configurar o pipeline de CI para que, sempre que o código for enviado ao repositório, o Jenkins ou a ferramenta de CI de sua escolha acione automaticamente as etapas apropriadas de criação e teste apropriadas Um, usando web hooks para acionar faturas automaticamente. A forma mais comum de automatizar faturas é usando web hooks Um web hook é um mecanismo que envia dados em tempo real de um aplicativo para outro sempre que ocorre um evento específico. No nosso caso, o evento é um commit de código ou pull request para o repositório Aqui está a instrução passo a passo de como configurá-lo. Primeiro, limpe seu repositório Git. No seu repositório Git, por exemplo, GitLab ou Github, configure um web hook que aponte Dois, URL do web hook. O web hook deve enviar uma notificação ao Jenkins sempre que um novo código for enviado Três, acionar o trabalho de Jenkins. Jenkins recebe a notificação do webhook e aciona o trabalho de construção associado ao repositório . Vamos dar um exemplo. sistema de processamento de empréstimos baseado em carvão do Banks usa ganchos para acionar construções e testes Sempre que o código é confirmado, o webhook do Gitlab notifica o Jenkins, que inicia automaticamente o pipeline Os desenvolvedores recebem feedbacks em minutos, reduzindo o tempo entre a codificação e Configurando a queda do Jenkins. Se você não puder usar web hooks, outra opção é configurar o Jenkins para verificar periodicamente se há alterações no repositório Isso não é tão eficiente quanto os web hooks, mas pode ser uma alternativa útil se seu ambiente não suportar a integração de web hooks Passo a passo. Um, configuração decrescente. No Jenkins, navegue até a página de configuração do trabalho e ative a opção Paul SEM Segundo, defina a frequência de queda, defina com que frequência o Jenkins deve verificar se há alterações no repositório Por exemplo, a cada 5 minutos. Por exemplo, uma empresa de logística com um sistema de gerenciamento de inventário de mainframe usa Jenkins Falling a cada 10 minutos para verificar se há atualizações na base de código Se o Jenkins detectar novos commits, ele acionará o pipeline para criar e testar o criar e Executando testes automatizados após cada compilação. Depois que a compilação é acionada, a próxima etapa é executar testes automatizados. Os testes automatizados garantem que quaisquer novas alterações não introduzam bugs nem interrompam a funcionalidade existente. Jenkins pode ser configurado para executar automaticamente testes unitários, testes de integração e testes de regressão como parte do pipeline de CI Um, definindo estágios de teste no pipeline do Jenkins. Nos pipelines do Jenkins, você pode definir estágios de teste que são executados após a conclusão da compilação Esses estágios são essenciais para garantir a qualidade do código antes que qualquer alteração seja mesclada ou implantada estágios típicos podem incluir testes unitários que garantem que os componentes ou módulos individuais funcionem corretamente. Teste de integração, que verifica se os diferentes módulos ou sistemas interagem conforme o esperado, e teste de regressão, que garante que novas mudanças não violem os recursos existentes Aqui está um exemplo do Jenkins Pipeline. Configurando ciclos de notificação e feedback para desenvolvedores Após a execução da compilação e do teste, os desenvolvedores precisam saber se suas alterações foram bem-sucedidas. Jenkins fornece uma variedade de opções de notificação para informar os desenvolvedores sobre o status de suas compilações, testes e Configurando notificações por e-mail. A forma mais simples e comum de notificar os desenvolvedores é por meio de alertas por e-mail. Jenkins pode enviar e-mails automaticamente aos desenvolvedores sempre que uma compilação falhar ou quando os testes forem aprovados. Passo a passo. Primeiro, instale o plug-in de extensão de e-mail no Jenkins. Na configuração do trabalho, habilite a notificação por e-mail e especifique os endereços de e-mail dos membros da equipe que devem receber atualizações. Personalize o conteúdo do e-mail para incluir registros de compilação, resultados de testes e detalhes de erros. Usando o Slack ou outras ferramentas de mensagens. Para equipes que preferem mensagens em tempo real, Jenkins também pode ser integrado ferramentas como Slack ou Microsoft Isso permite que os desenvolvedores recebam notificações instantâneas quando as compilações ou os testes falham sem esperar por atualizações por e-mail Passo a passo. Instale o plug-in de notificação do Slack no Jenkins Configure o plug-in com o espaço de trabalho do Slack e as informações do canal Adicione uma ação de pós-compilação para enviar uma notificação ao Slack após conclusão de cada compilação ou teste Por exemplo, uma empresa de varejo usa notificações do Slack em seu pipeline do Jenkins Sempre que o código de um desenvolvedor falha na criação, ele recebe uma mensagem imediata no canal do Slack da equipe, com detalhes sobre o que deu errado e links para os blogs de criação Principais conclusões desta lição. Em primeiro lugar, automatizar compilações e testes garante que cada alteração de código seja validada de forma rápida e consistente, reduzindo a chance de erros na troca de Segundo, os web hooks são a maneira mais eficiente de acionar faturas automaticamente quando um novo código é confirmado enquanto o Jenkins palling pode servir como uma Três estágios automatizados, como unidade, integração e regressão, são cruciais para garantir que o novo código não quebre a funcionalidade existente Quatro: notificações e ciclos de feedback mantêm os desenvolvedores informados, garantindo que eles possam resolver os problemas assim que eles surgirem Atividade de ganho. Configure um web hook no seu repositório Git para acionar compilações automaticamente no Jenkins sempre que Configure seu pipeline Jenkins para executar testes de regressão e integração de unidades após cada compilação Configure notificações por e-mail ou Slack para alertar os desenvolvedores quando a compilação ou o teste falharem O que vem a seguir? Na próxima lição, exploraremos as melhores práticas para pipelines de CI em mainframes Você aprenderá como evitar armadilhas comuns durante a configuração do pipeline de CI e descobrirá estratégias para otimizar e escalar pipelines de CI em 21. Aula 4: melhores práticas para pipelines de IC em Mainframes: Lição quatro, melhores práticas para pipelines de CI em mainframes Bem-vindo à lição quatro do módulo cinco. Nesta lição, vamos explorar as melhores práticas que ajudam a garantir que seu pipeline de CI de integração contínua seja otimizado para o ambiente de mainframe Identificaremos armadilhas comuns que você deve evitar ao configurar seu pipeline de CI e discutiremos estratégias para otimizar e escalar seu pipeline para lidar com fluxos de trabalho complexos Ao final desta lição, você entenderá como criar um pipeline de CI robusto e escalável que pode simplificar seu processo de desenvolvimento e melhorar a qualidade do código para sistemas de mainframe Vamos começar. Hum, armadilhas comuns a serem evitadas durante a configuração do pipeline de CI Configurar um pipeline de CI em um ambiente de mainframe pode ser um desafio Vamos discutir algumas das armadilhas mais comuns e como evitá-las. Complicando demais o pipeline desde o início. Um dos maiores erros que as equipes cometem é complicar demais seu pipeline de CI desde o início Embora esteja tentando incluir todas as automações possíveis, isso pode causar tubulações inchadas difíceis de manter Melhor prática Comece de forma simples e construa gradualmente. Concentre-se no essencial, automatizando compilações, executando testes básicos e fornecendo feedback imediato aos É preciso estabelecer um pipeline estável, adicionar recursos mais avançados, como automação de implantação ou sites de teste complexos. Por exemplo, uma instituição financeira que criou um pipeline de CI para o sistema bancário da Cobal inicialmente tentou automatizar tudo, criar testes, revisões de código O pipeline ficou lento e propenso a erros. Ao reduzir primeiro apenas as compilações e os testes unitários, eles estabilizam o pipeline antes de adicionar gradualmente outros elementos Ignorando o desempenho do pipeline. Em um ambiente de mainframe, as compilações e os testes podem levar mais tempo devido à complexidade dos sistemas Chamar de armadilha é ignorar o desempenho do pipeline, o que leva a ciclos de feedback lentos e melhor prática é otimizar o pipeline para aumentar a velocidade sempre que possível. Paralelize compilações e testes para reduzir gargalos e evitar etapas desnecessárias no agregam Por exemplo, uma empresa de logística percebeu que seu pipeline de CI demorou mais de uma hora para ser concluído, atrasando o feedback dos desenvolvedores Ao paralelizar o teste de unidade e integração, eles reduzem o tempo total do pipeline para 15 minutos, melhorando significativamente Não mantendo o gasoduto. Os dutos de CI requerem manutenção regular. Com o tempo, os testes podem ficar desatualizados, scripts de construção podem precisar ser atualizados e novas ferramentas ou integrações podem ser necessárias Negligenciar a manutenção da tubulação pode levar a falhas ou As melhores práticas revisam e atualizam regularmente o pipeline. Trate o pipeline como qualquer outro código, garanta que sua versão seja controlada, testada e refatorada periodicamente Por exemplo, o pipeline de CI de uma seguradora começou a falhar depois de introduzir uma nova ferramenta de teste para seu aplicativo baseado em PL One Eles não haviam atualizado seu pipeline para se integrar a uma nova ferramenta que causava falhas na construção Depois de atualizar a configuração do pipeline, eles restauraram a estabilidade. Falta de cobertura de teste adequada. Outra armadilha é ter cobertura de teste insuficiente no pipeline de CI Sem testes automatizados suficientes, ambas as alterações podem introduzir bugs que não são detectados, causando problemas na produção Na melhor prática, implemente uma cobertura abrangente de testes, incluindo teste unitário, teste de integração e teste de regressão Garanta que seu teste cubra componentes essenciais de seus aplicativos de mainframe. Vamos dar um exemplo. Uma empresa de assistência médica tem vários problemas em seu ambiente de produção porque seu pipeline de CI incluía apenas testes unitários. Ao adicionar testes de integração e regressão, eles detectaram problemas precocemente e reduziram o número de bugs que chegavam à produção Estratégias para otimizar pipelines de CI em mainframes. Agora que abordamos as armadilhas comuns, vamos explorar estratégias para otimizar e escalar os pipelines de CI no ambiente de mainframe Primeiro, paralelize compilações e testes. À medida que seu pipeline de CI cresce em complexidade, o tempo necessário para executar compilações e testes aumentará Uma das melhores maneiras de otimizar seu pipeline é executar compilações e testes em paralelo. Como fazer isso? Use o Jenkins ou outras ferramentas de CI para dividir seu pipeline em vários estágios e executá-lo simultaneamente Por exemplo, você pode executar compilações de paralelepípedos e testes de integração ao mesmo tempo para reduzir o tempo geral do pipeline Vamos dar um exemplo. A agência governamental implementou a paralogização em seu pipeline de CI de mainframe, permitindo que eles construíssem seu sistema de processamento de impostos e executassem seu sistema de processamento de impostos e executassem Isso reduziu o tempo de tubulação pela metade. Em segundo lugar, use cache e artefatos. cache de compilações pode economizar tempo ao reutilizar partes de compilações anteriores, especialmente se as mesmas dependências forem necessárias Da mesma forma, artefatos como código compilado ou resultados de testes podem ser compartilhados entre os estágios para evitar etapas redundantes . Como fazer isso. Configure o armazenamento em cache no Jenkins para armazenar artefatos criados que não precisam ser reconstruídos Isso é particularmente útil para grandes bases de código ou compilações com muitas dependências Por exemplo, o sistema de inventário de mainframe de uma empresa de varejo estava demorando muito para ser construído porque cada estágio baixava as mesmas dependências Ao usar o cache de compilação, eles reduziram o tempo de construção em 30% Em terceiro lugar, implemente registros e monitoramento robustos. À medida que seu pipeline se torna mais complexo, é importante ter um registro e um monitoramento robustos . Isso ajudará você a identificar e resolver problemas rapidamente quando algo der errado. Como fazer isso. Configure o Jenkins ou sua ferramenta de CI para gerar registros detalhados para cada estágio de construção e teste Integre ferramentas de monitoramento como Prometheus ou Grafana para monitorar o desempenho do seu pipeline ao longo do tempo Por exemplo, uma empresa de telecomunicações implementou o monitoramento em tempo real de seu pipeline de CI, permitindo identificar rapidamente gargalos e problemas em estágios específicos de Isso reduziu o tempo de inatividade e melhorou a confiabilidade da tubulação. Ou escale com uma construção distribuída. À medida que sua equipe cresce e seus aplicativos de mainframe se tornam mais complexos, um único servidor de CI pode não ser capaz de lidar com a carga Escalar seu pipeline com compilações distribuídas permite lidar com mais compilações e testes simultâneos. Como fazer isso. Use agentes Jenkin para distribuir compilações em vários servidores Isso garante que seu pipeline possa lidar com mais tarefas em paralelo sem sobrecarregar uma única máquina Um exemplo: um grande banco com várias equipes trabalhando em diferentes partes de seu sistema de mainframe vende seu pipeline Jenkins CI usando construções distribuídas Ao aproveitar vários servidores, eles garantem que seu pipeline possa lidar com confirmações frequentes de código de várias equipes sem Principais conclusões desta lição. Primeiro, comece de forma simples com seu pipeline de CI, concentrando-se nas tarefas essenciais de automação antes de aumentar a complexidade. Segundo, otimize o desempenho do pipeline paralelizando compilações e testes usando armazenamento em cache e mantendo os pipelines Três, mantenha seu pipeline atualizando, criando scripts ou configurações regularmente criando scripts ou configurações para manter o processo de CI eficiente e eficaz Quatro, escale seu pipeline implementando compilações distribuídas e monitoramento robusto para lidar com cargas de trabalho mais complexas no ambiente de mainframe Atividade de ganho. Revise a configuração atual do pipeline de CI. Identifique quaisquer estágios ou etapas que possam ser otimizados para desempenho. Por exemplo, paralelizando testes e armazenando artefatos em cache. Implemente pelo menos uma estratégia de otimização em seu pipeline de CI. Por exemplo, habilite o armazenamento em cache em estágios de teste paralelos. Em terceiro lugar, monitore o desempenho do seu pipeline nas próximas semanas e avalie se a otimização melhorou os tempos de construção e teste. O que vem a seguir? No próximo módulo, exploraremos automação da implantação e da entrega contínua ou CD Você aprenderá sobre os principais princípios do CD contínuo e como ele difere integração contínua e como configurar pipelines de implantação automatizados para aplicativos de mainframe 22. Aula 1: introdução à entrega contínua (CD): Bem-vindo ao Módulo seis, automatiza a implantação e a entrega contínua de CD Neste módulo, você aprenderá como automatizar a implantação de aplicativos de mainframe e integrar o aplicativos de mainframe e integrar CD de entrega contínua em seus Ao final deste módulo, você entenderá os principais conceitos do CD e como implementá-lo em ambientes de mainframe, garantindo lançamentos mais rápidos e confiáveis Lição 1, introdução à entrega contínua ou CD. Bem-vindo à primeira lição do Módulo seis. Nesta lição, apresentaremos os conceitos de entrega contínua ou CD, discutiremos suas metas e destacaremos as diferenças entre entrega contínua e implantação contínua. Compreender o CD é fundamental para automatizar o processo de implantação, que permite às organizações lançar software rápida e confiável, mantendo a estabilidade de seus sistemas, incluindo ambientes complexos de incluindo ambientes complexos Ao final desta lição, entenderemos que é entrega contínua, como ela se encaixa no fluxo de trabalho do DevOps e por que ela é crucial para a modernização do mainframe Vamos mergulhar. O que é entrega contínua ou CD? entrega contínua ou CD é uma prática de desenvolvimento de software em que as alterações de código são preparadas automaticamente ou liberadas para produção. Ele se baseia na integração contínua ou CI, garantindo que todas as alterações de código sejam continuamente testadas, criadas e empacotadas de forma que estejam sempre prontas para implantação No entanto, a implantação real ainda é uma etapa manual ou requer um processo de aprovação garanta o controle e a governança das versões de produção. Em ambientes de mainframe, o CD permite que equipe modernize os sistemas legados oferecendo mudanças em incrementos menores e mais gerenciáveis, incrementos menores e mais gerenciáveis, reduzindo os riscos Principais objetivos da entrega contínua. Um, testes e embalagem automatizados. Cada alteração de código é testada e empacotada automaticamente, garantindo que esteja pronta para implantação a qualquer momento Dois, lançados sob demanda. Com cada mudança pronta para implantação, as equipes podem lançar atualizações conforme sua conveniência, minimizando o tempo de inatividade e Três, intervenção manual reduzida. Automatizando a maior parte do pipeline, C reduz a necessidade etapas manuais no processo de implantação, melhorando a consistência e Para melhorar os ciclos de feedback. O City permite um feedback mais rápido sobre as mudanças, garantindo que os problemas sejam detectados logo no início. Por exemplo, uma organização de saúde usa City para automatizar os testes e empacotar as atualizações de seu sistema de gerenciamento de pacientes baseado em CBL Sempre que um novo recurso ou correção de bug estiver pronto, poderá ser implantado em poucas horas, garantindo que o sistema permaneça confiável sem longos Como o CD se encaixa no fluxo de trabalho do DevOps. A entrega contínua é um componente essencial da abordagem de DevOps, que enfatiza a colaboração entre as equipes de desenvolvimento e operações para garantir lançamentos de software mais rápidos e confiáveis Normalmente, o CD é implementado após a integração contínua ou CI, que automatiza o processo de integração de alterações de código e execução Depois que o código passa por todos os testes e é compilado com êxito, o processo do CD assume o controle, preparando o aplicativo para implantação No entanto, em CD, a implantação real na produção ainda é uma etapa controlada. Isso é fundamental em setores como bancos ou saúde, onde uma falha na implantação pode ter consequências significativas. CD em ambientes de mainframe. Para mainframes, CD significa integrar ferramentas modernas com sistemas legados Ferramentas como IBM, Urban C Deploy ou AnswerB podem automatizar o empacotamento e implantação de aplicativos de mainframe, reduzindo a dependência de processos manuais e garantindo a consistência em todas garantindo Um exemplo: um banco integra seus sistemas de mainframe antigos com práticas de CD Sempre que um desenvolvedor atualiza a base de código Cobol, testes automatizados são executados e o aplicativo é empacotado para implantação No entanto, devido aos rígidos requisitos de conformidade, a etapa final, a implantação na produção, exige aprovação de um gerente sênior, garantindo que os padrões de governança sejam atendidos. Diferenças entre entrega contínua e implantação contínua. Embora a entrega contínua, a cidade e a implantação contínua pareçam semelhantes, elas têm diferenças distintas. Vamos explorar essas diferenças e como elas afetam o processo de lançamento. Entrega contínua ou CD, o objetivo é garantir que cada alteração de código seja automaticamente testada, criada e pronta para implantação. Para controle de liberação, as implantações na produção são manuais ou exigem aprovação Nesse caso, é adequado para ambientes que exigem conformidade, governança ou aprovação manual antes da implantação na produção, por exemplo, bancos ou serviços de saúde Implantação contínua, seu objetivo é que, para cada alteração de código que passe no teste, ela seja automaticamente implantada na produção sem qualquer intervenção manual Para controle de liberação, a implantação na produção é automática após a aprovação no teste. Nesse caso, é adequado para ambientes com requisitos de conformidade menos rigorosos ou a velocidade é a maior prioridade Por exemplo, plataformas de comércio eletrônico. A principal diferença na implantação da entrega contínua é manual, e há um ponto de decisão de controle antes do lançamento da produção. Na implantação contínua, todo o processo desde a confirmação do código até a liberação da produção, é automatizado. Um exemplo de entrega contínua. Uma organização de assistência médica automatiza a embalagem e o teste do sistema de gerenciamento de pacientes testado Com o CD, as atualizações estão sempre prontas para implantação, mas as versões de produção ainda exigem aprovação gerencial para garantir a conformidade Vamos dar outro exemplo. Uma empresa de varejo que administra uma plataforma de comércio eletrônico on-line usa implantação contínua porque a velocidade é fundamental para a implantação de novos recursos e correções de bugs Esse DicdPipeline implanta automaticamente cada compilação bem-sucedida diretamente Por outro lado, uma agência tributária do governo usa a entrega contínua com um processo de aprovação manual para manter o controle sobre as implantações e garantir a conformidade com os padrões legais Benefícios da entrega contínua em ambientes de mainframe. A adoção da entrega contínua em ambientes de mainframe oferece vários benefícios significativos, especialmente quando se trata de modernizar Vamos explorar alguns desses benefícios. Lançamentos únicos, mais rápidos e mais confiáveis. Com a entrega contínua, as atualizações são empacotadas e prontas para lançamento a qualquer momento, permitindo que as equipes implementem mudanças incrementais menores com mais frequência Isso reduz o risco de grandes lançamentos disruptivos e permite que as organizações forneçam recursos com mais rapidez Segundo, reduza o risco e o tempo de inatividade. Ao automatizar os processos de teste e empacotamento, CD garante que somente atualizações estáveis e de alta qualidade sejam implantadas Os testes automatizados ajudam a detectar problemas logo no início, reduzindo o risco de erros produção e minimizando o tempo de inatividade Três, melhor colaboração entre as equipes. CD rompe a lacuna entre as equipes de desenvolvimento e operações ao automatizar o processo de empacotamento e preparação do código para implantação Isso reduz erros manuais e manuais, resultando em uma colaboração mais suave e lançamentos mais rápidos Quatro, melhoria contínua. Com o City instalado, as equipes podem coletar feedback mais rapidamente, aprender com cada lançamento e melhorar continuamente seus processos. Isso é particularmente valioso para equipes de mainframe que estão fazendo a transição desenvolvimento tradicional em cascata para equipes de mainframe que estão fazendo a transição do desenvolvimento tradicional em cascata para metodologias ágeis. Por exemplo, uma seguradora usa a cidade para gerenciar a implantação de seu sistema de processamento de sinistros baseado em paralelepípedos Ao lançar pequenas atualizações com mais frequência, eles reduzem o risco de interrupções e garantem que novos recursos sejam fornecidos sem interromper as operações diárias Principais conclusões desta lição. Uma entrega contínua ou CD automatiza o processo de preparação do código para implantação, garantindo que todas as atualizações testadas e estejam prontas para lançamento Segundo, o CD difere da implantação contínua porque a implantação na produção é uma etapa manual ou controlada, ideal para ambientes com requisitos rígidos de conformidade ou governança. terceiro lugar, a adoção do CD em ambientes de mainframe pode reduzir riscos, melhorar a colaboração e acelerar o lançamento de novos recursos e atualizações Atividade de ganho. Identifique um aplicativo de mainframe em sua organização que possa se beneficiar da adoção da entrega contínua Analise como a automação do processo de empacotamento e teste melhoraria o ciclo de lançamento desse aplicativo Crie um plano de alto nível para implementar o CD, descrevendo quais etapas do processo de implantação podem ser automatizadas O que vem a seguir? nos aprofundaremos na automação implantações de mainframe e aprenderemos sobre ferramentas e estratégias para automatizar implantações em ambientes de mainframe, incluindo como criar scripts de implantação para Cobo, incluindo como criar scripts de implantação para Cobo Na próxima lição, nos aprofundaremos na automação de implantações de mainframe e aprenderemos sobre ferramentas e estratégias para automatizar implantações em ambientes de mainframe, incluindo como criar scripts de implantação para Cobo, AL one e outros aplicativos legados. 23. Aula 2: automatizando implantações de mainframe: Lição dois, automatizando implantações de mainframe. Bem-vindo à lição dois do módulo seis. Nesta lição, exploraremos como automatizar a implantação de aplicativos de mainframe Abordaremos as ferramentas essenciais para automatizar implantações, como IBM, urban co deploy, e também abordaremos processo de criação de scripts de implantação que simplificam e agilizam suas Ao final desta lição, você terá uma sólida compreensão das ferramentas e estratégias necessárias para automatizar as estratégias necessárias para automatizar implantações de aplicativos de mainframe, tornando seus lançamentos mais consistentes, confiáveis e rápidos Vamos começar. A importância de automatizar as implantações de mainframe Nas práticas modernas de DevOps, automação da implantação é um componente essencial do pipeline de CD de entrega contínua Isso não é diferente em ambientes de mainframe em que a automação de implantações pode melhorar significativamente a velocidade, a confiabilidade e a consistência do lançamento ambientes de mainframe geralmente dependem de sistemas legados que tradicionalmente envolviam processos de implantação manual As implantações manuais estão sujeitas a erros humanos, demoram mais e são mais difíceis de reproduzir de automação dessas implantações garante que aplicativos sejam implantados sempre da mesma forma, reduzindo os riscos e melhorando reduzindo os riscos Os benefícios de automatizar as implantações de mainframe incluem, por um lado, a consistência. automatização das implantações reduz o risco de erros, garantindo que o mesmo processo de implantação seja seguido Dois, velocidade. As implantações automatizadas podem ser executadas muito mais rapidamente do que os processos manuais, reduzindo o tempo de inatividade e melhorando a produtividade Três, confiabilidade. Com scripts de implantação automatizados, você pode garantir que todas as etapas necessárias sejam executadas corretamente em todos os ambientes, resultando em lançamentos mais confiáveis. Vamos dar um exemplo. Uma empresa de varejo que gerencia um sistema de inventário em um mainframe baseado em paralelepípedos automatizou seu processo de implantação usando o IBM Urban C Isso reduziu o tempo de implantação em 50% e eliminou os erros que frequentemente ocorriam durante implantações manuais Ferramentas para automatizar implantações de mainframe. Várias ferramentas estão disponíveis para automatizar implantações em ambientes O objetivo dessas ferramentas é padronizar e automatizar o processo de implantação, garantindo que os aplicativos sejam lançados forma consistente e sem Implantação do IBM Urban C. O IBM Urban C Deploy é uma ferramenta popular de automação de implantação usada em ambientes de mainframe. Ele permite automatizar e orquestrar implantações complexas em uma variedade de ambientes Urban C Deploy se integra bem com outras ferramentas da Dabo, tornando-o uma parte essencial da modernização das implantações de mainframe Ele apresenta implantações orquestradas. Ele permite que você defina, gerencie e execute processos de implantação do desenvolvimento à produção. Gerenciamento do ambiente, ele suporta a implantação de aplicativos vários ambientes com o mesmo processo, garantindo a consistência nos ambientes de desenvolvimento, teste e produção suporte de reversão integrado ao mecanismo de reversão ajuda a reverter para as versões anteriores do aplicativo na Vamos dar um exemplo. Uma instituição bancária modernizou seu processo de implantação para seu sistema bancário principal baseado em CBO e JCL usando o IBM Urban code deploy Com o código urbano, o banco conseguiu automatizar implantações em várias regiões, reduzindo a intervenção manual e melhorando a velocidade de implantação de atualizações CBL para mainframes. O NCBO é outra ferramenta de automação poderosa que pode ser usada em ambientes de mainframe Ele é amplamente usado para automação de infraestrutura e também pode gerenciar a implantação de aplicativos. Embora o NCB seja mais comumente associado à automação de nuvem e servidor, ele oferece suporte a ambientes de mainframe com módulos projetados especificamente para gerenciar Os principais recursos incluem arquitetura sem agentes. AnsiBL não requer agentes adicionais nos sistemas que gerencia, torna leve e fácil de usar Manuais para automação. O Ansible usa playbooks, que são arquivos Yamal, definem a sequência de Integração com o CICD. O Ansibl se integra bem ao Jenkins e a outras ferramentas CICD, permitindo a automação perfeita das tarefas de implantação Vamos dar um exemplo. Uma empresa de logística que gerencia um aplicativo baseado em PLO automatizou suas implantações usando o AnsibPlayBook Isso permitiu que eles gerenciassem vários ambientes a partir de uma configuração central, reduzindo significativamente o tempo e o esforço necessários para cada versão. Criação de scripts de implantação para aplicativos de mainframe. Para automatizar suas implantações de mainframe, você precisará criar scripts de Esses scripts definem as etapas necessárias para implantar um aplicativo, como compilar código, transferir arquivos, configurar ambientes e executar Aqui estão as principais etapas para criar um script de implantação para um aplicativo de mainframe Primeiro, defina o processo de implantação. A primeira etapa é definir o processo de implantação. Por exemplo, a implantação de um aplicativo cobol ou PL one pode envolver a compilação do código, a transferência de arquivos para o ambiente de destino, a tarefas de configuração e a execução do e Exemplo de processo. Primeiro passo, compile o código CBL. Etapa 2: transferir os binários compilados para o ambiente de teste. Etapa três, execute o JCL para iniciar o aplicativo. Segundo, crie um script para automação. Depois que o processo estiver definido, você poderá criar o script real. Se você estiver usando o IBM Urban C Deploy, definirá esse processo, a ferramenta usando seus recursos de automação de implantação. Se você estiver usando uma ferramenta como o answerable, crie um manual do Yamal que descreva Aqui está um exemplo de script de implantação usando answervo. Esse script simples compila o código cobble, transfere os binários para o ambiente de destino e executa o JCL para executar o Três, teste o script de implantação. Antes de usar seu script de implantação na produção, é fundamental testá-lo em um ambiente de preparação ou teste Certifique-se de que todas as etapas sejam executadas conforme o esperado e que o aplicativo seja implantado corretamente sem erros Dicas de teste, teste primeiro em um ambiente de desenvolvimento ou teste Valide se todos os arquivos foram transferidos corretamente e se o aplicativo é executado conforme o esperado Verifique se há problemas específicos do ambiente , como bibliotecas de significados, bibliotecas ausentes ou permissões incorretas. Principais conclusões desta lição. Primeiro, a automação da implantação garante que os aplicativos sejam implantados de forma consistente e confiável, reduzindo o risco de erro humano Segundo, IBM, Urban C Deploy e ansib são ferramentas poderosas para automatizar implantações de mainframe, cada uma oferecendo recursos para agilizar ansib são ferramentas poderosas para automatizar implantações de mainframe, cada uma oferecendo recursos para agilizar o processo de implantação. Em terceiro lugar, criar scripts de implantação envolve definir o processo de implantação, escrever o script na ferramenta apropriada e testá-lo minuciosamente em um ambiente que não seja de produção. Atividade de ganho. Escolha um aplicativo de mainframe em sua organização que atualmente tenha um processo de implantação manual Crie um plano de alto nível para automatizar essa implantação usando IBM, Urban co Deploy e Cibl ou Escreva um script de implantação simples para automatizar as etapas mais básicas do processo de implantação, por exemplo, transferir arquivos ou compilar código. O que vem a seguir? Na próxima lição, exploraremos a configuração de mecanismos de reversão Você aprenderá a implementar mecanismos de reversão em ambientes de mainframe e automatizar o processo em caso de falhas na Isso garante que seu sistema permaneça estável e operacional, mesmo que a implantação não ocorra conforme o planejado. 24. Aula 3: como configurar mecanismos de rollback: Lição três, configurando mecanismos de reversão. Bem-vindo à lição três do módulo seis. Nesta lição, vamos explorar um dos aspectos mais importantes da aspectos mais importantes da implantação, os mecanismos de reversão As reversões garantem que, quando algo der errado durante uma implantação, você possa reverter o sistema de forma rápida e eficiente ao estado estável anterior Isso é particularmente importante em ambientes de mainframe, onde o custo do tempo de inatividade pode ser extremamente alto e os erros podem ter impactos significativos nos negócios Ao final desta lição, você entenderá como implementar e automatizar mecanismos de reversão em suas implantações de mainframe, garantindo que seu sistema permaneça estável mesmo quando as implantações garantindo que seu sistema permaneça estável mesmo quando Vamos mergulhar. Por que os mecanismos de reversão são cruciais nas implantações de mainframe Em pipelines modernos de entrega contínua, implantação de código é um processo automatizado No entanto, nem toda implantação ocorre sem problemas. Bugs, problemas de configuração ou falhas de hardware podem causar problemas que afetam a estabilidade do sistema. Os mecanismos de reversão permitem que você reverta rapidamente o sistema ao último estado válido conhecido sem afetar Principais benefícios das reversões. Primeiro, minimize o tempo de inatividade. As reversões ajudam a restaurar rapidamente a funcionalidade do sistema, minimizando as interrupções para os usuários Segundo, reduza o risco. Com um mecanismo de reversão automatizado, você reduz o risco de falhas nas implantações afetarem Três, melhore a confiança. Desenvolvedores e equipes de operações podem implantar mudanças com mais frequência, sabendo que existe uma rede de segurança no caso algo dar errado. Vamos dar um exemplo. Uma instituição financeira que implantou atualizações seu sistema bancário principal baseado em mainframe encontrou problemas durante uma atualização crítica Devido à complexidade do sistema, um bug passou despercebido durante os testes Com um mecanismo de reversão instalado, eles rapidamente voltaram para a versão estável anterior, evitando tempo de inatividade significativo e Estratégias para implementar mecanismos de reversão no ambiente de mainframe implementação de mecanismos de reversão no ambiente de mainframe envolve um planejamento cuidadoso e as ferramentas certas Vejamos as estratégias mais eficazes para configurar reversões Estratégia de um controle de versão para aplicativos de mainframe. Assim como o controle de versão é crucial em ambientes que não são de mainframe, ele é igualmente importante para sistemas de mainframe Ao rastrear todas as alterações seu aplicativo e em suas configurações, você pode identificar facilmente para qual versão reverter. Como funciona. Quando uma implantação falha, você pode usar o controle de versão, como Git ou código, ou tentar usar o software de mainframe para recuperar a última versão da tabela do seu Melhores práticas. Mantenha um histórico de todas as alterações e configurações do aplicativo Use tags ou rótulos em seu sistema de controle de versão para marcar versões estáveis. Por exemplo, uma empresa de saúde usa o Git para rastrear alterações no código Kobal. Cada versão estável é marcada com um número de versão, facilitando a reversão quando uma implantação falha. Estratégia dois: backups automatizados dos dados e das configurações do mainframe Além de controlar a versão do seu código, é essencial ter um backup automatizado dos dados e das configurações do ambiente Antes de implantar um novo código, os sistemas automatizados podem capturar instantâneos de bancos de dados e configurações que podem ser restaurados se a implantação falhar. Como funciona. Ferramentas como a automação do sistema IBMZ podem fazer backup automático seus dados e configurações do sistema antes Em caso de falha, você pode reverter não apenas o código, mas também restaurar os dados e as configurações. Práticas recomendadas: agende backups automáticos antes de cada implantação. Armazene o backup com segurança e garanta que eles sejam testados regularmente para garantir que funcionem Por exemplo, uma empresa de telecomunicações automatiza os backups de seu sistema de cobrança baseado em PL One antes de cada Quando uma implantação falha devido a um erro de configuração, o backup permite que a empresa restaure o sistema rapidamente. Estratégia três, implantações em Cary e azul esverdeado. Estratégias avançadas de implantação como implantações canárias e implantações azul esverdeado, permitem que você teste sua implantação em um subconjunto de usuários antes de implementá-la totalmente Se a implantação causar problemas, você poderá reverter redirecionando tráfego para a versão antiga do sistema Implantação do Canary, implante primeiro a nova versão em uma pequena porcentagem de usuários Se não houver problemas, continue implantando no restante do sistema Implantação azul e verde, mantenha dois ambientes, um ativo, que é azul, e outro pronto para a nova versão, que é verde. Implante no ambiente verde e, se a nova versão for estável, alterne todo o tráfego. Se houver uma falha, você pode voltar rapidamente para o ambiente azul. Melhor prática: use a implantação canária para implementações graduais, minimizando Implemente a implantação azul e verde em ambientes de alta disponibilidade para permitir reversões rápidas Por exemplo, uma agência tributária do governo usa implantações azul-esverdeadas para lançar atualizações em seu sistema de declaração de impostos de mainframe Quando uma nova atualização causa problemas, ela simplesmente reverte o tráfego para o ambiente antigo sem afetar os usuários Como automatizar reversões em caso de falhas na implantação. Depois de definir as estratégias certas, a próxima etapa é automatizar o processo de reversão Isso garante que, quando uma falha for detectada, a reversão ocorra automaticamente sem esperar pela intervenção manual Um, gatilhos de reversão automatizados. automação da reversão começa com a configuração números que detectam falhas Esses acionadores podem ser configurados com base em uma variedade de métricas, incluindo testes reprovados Se a implantação falhar, um conjunto de testes predefinidos a reversão serão acionados Métricas de desempenho. Se o desempenho do sistema diminuir após a implantação, mecanismos de reversão poderão ser Registros de erros, padrões de erro específicos nos registros podem ser usados para acionar reversões Exemplo de configuração. Usando o IBM Urban code Deploy, você pode configurar acionadores automáticos de reversão com base Se uma implantação falhar, o código urbano inicia automaticamente o processo de reversão, restaurando a versão anterior do aplicativo e notificando a equipe de aplicativo e notificando a equipe Dois processos de reversão com script. Além dos acionadores automáticos, você precisará de scripts de reversão que automatizem o processo real de reverter configurações de código ou bancos de dados reverter Aqui está um exemplo de script de reversão que restaura backups e reinicia serviços em caso de falha na Este exemplo mostra como restaurar backups, reverter binários e reiniciar serviços em caso de falha Principais conclusões desta lição. Primeiro, os mecanismos de reversão são essenciais para garantir que sistemas de mainframe possam se recuperar rapidamente de implantações com falha sem Segundo, estratégias como controle de versão, backups automatizados e implantações verde-azul-canário reduzem o risco de falhas nas implantações e permitem Em terceiro lugar, automatizar as reversões com gatilhos e scripts garante que o sistema possa voltar a um estado estável de forma rápida e confiável gatilhos e scripts garante que o sistema possa voltar a um estado estável de forma rápida e confiável . Atividade de aprendizagem. Identifique um aplicativo de mainframe em seu ambiente que possa se beneficiar do mecanismo de reversão automatizado Crie um plano para configurar backups automatizados e scripts de reversão para esse aplicativo Teste seu mecanismo de reversão simulando uma implantação com falha em um ambiente de teste e verificando se o processo de reversão restaura o sistema para um estado processo de reversão restaura o sistema para estável. O que vem a seguir? Na próxima lição, exploraremos a implantação em ambientes de preparação e produção Você aprenderá as melhores práticas para implantar aplicativos de mainframe em ambientes de teste, preparação e produção, ambientes de teste, preparação e produção garantindo implantações bem-sucedidas com o mínimo de tempo implantações 25. Aula 4: implantação de ambientes de encenação e produção: Lição quatro, implantação em ambientes de preparação e produção Bem-vindo à lição quatro do módulo seis. Nesta lição, abordaremos as melhores práticas para implantar aplicativos de mainframe em as melhores práticas para implantar ambientes de teste, preparação e produção Um processo de implantação bem-sucedido garante que os aplicativos sejam exaustivamente testados em ambientes inferiores antes de chegarem à produção, minimizando o tempo de inatividade e garantindo a estabilidade do sistema Ao final desta lição, você poderá implantar aplicativos com confiança e com risco mínimo, seguindo estratégias comprovadas para transições suaves entre ambientes Vamos começar. Por que implantar a preparação antes da produção Antes que um aplicativo chegue à produção, é fundamental testá-lo em ambientes que se assemelham muito à produção, mas sem o risco ambientes de preparação fornecem um espaço em que o aplicativo pode ser validado quanto ao desempenho, segurança e estabilidade antes da implantação final Os principais benefícios do uso de um ambiente de teste incluem validação em um ambiente semelhante ao de produção ambientes de preparação refletem de perto a produção, permitindo que você teste problemas reais de desempenho, vulnerabilidades de segurança e funcionalidade Segundo, detecção precoce de problemas. Bugs, problemas de configuração e gargalos de desempenho podem ser detectados e corrigidos antes que o aplicativo chegue à produção Três, minimizando o tempo de inatividade. Aplicativos exaustivamente testados têm menos probabilidade de causar aplicações ou exigir reversões emergenciais, reduzindo as chances de tempo de inatividade Por exemplo, uma instituição financeira que implementa um sistema de processamento de transações baseado valida cada lançamento em um ambiente de teste onde simula Ao identificar problemas na preparação, eles reduzem o tempo de inatividade da produção em 40% durante os principais lançamentos Melhores práticas para implantação em ambientes de teste e preparação A implantação em um ambiente de teste e preparação deve ser uma parte fundamental do seu pipeline de entrega contínua Vamos explorar as melhores práticas que garantem que suas implantações sejam fáceis e confiáveis Primeira prática: espelhe ambientes de produção em preparação Quanto mais próximo seu ambiente de preparação estiver da produção, mais precisamente você poderá validar a prontidão do seu aplicativo Isso significa usar as mesmas configurações, estruturas de dados e arquiteturas de sistema melhor prática é garantir que seu ambiente de preparação espelhe produção o mais próximo possível, incluindo configurações de rede, incluindo configurações de rede conexões de banco de dados e Por exemplo, uma empresa de logística criou uma réplica exata de seu ambiente de mainframe de produção Ao executar testes de ponta a ponta nesse ambiente, eles poderiam detectar problemas de configuração que seriam impossíveis de detectar apenas nos testes. Prática recomendada para testes automatizados antes de preparar a implantação Antes da implantação para teste, seu aplicativo já deve ter passado por um conjunto abrangente de testes automatizados Isso inclui testes unitários, testes de integração, testes de regressão e testes de desempenho Melhor prática: automatize o máximo possível do processo de teste antes de mover o código para a preparação Configure ferramentas de CI de integração contínua, como Jenkins, para acionar testes automatizados após cada confirmação Por exemplo, uma empresa de telecomunicações automatizou mais de 80% de seus testes, reduzindo os esforços de validação manual na preparação Ao detectar a maioria dos problemas antes da preparação, eles poderiam se concentrar no desempenho e testes de estresse em seu ambiente terceira melhor prática é usar implantações em canário ou azul esverdeado para preparação. Conforme discutido na lição anterior, as canary e as implantações azul-esverdeadas permitem que você libere gradualmente seus aplicativos uma forma que Na preparação, isso significa implantar primeiro o novo código em parte do sistema e monitorar seu comportamento antes de liberá-lo em todo o ambiente melhor prática é usar implantações canárias na preparação para introduzir mudanças gradualmente e minimizar o risco Dessa forma, você pode identificar qualquer problema antes de uma implantação completa. Por exemplo, uma empresa de comércio eletrônico que implementa um sistema de gerenciamento de inventário baseado em mainframe usa uma estratégia de implantação canária em estágio, que 10% do sistema gerencia a nova versão, enquanto o restante permanece na versão o restante permanece Isso permitiu que eles detectassem e corrigissem rapidamente quaisquer problemas com a nova versão antes do lançamento completo Melhor prática quatro: monitore e registre tudo. monitoramento e o registro detalhados são cruciais implantação no ambiente de preparação e produção Isso permite que você detecte e resolva problemas rapidamente, especialmente quando eles não aparecem imediatamente após a implantação. Na melhor prática, configure sistemas de monitoramento abrangentes, por exemplo, Grafana ou Prometheus, e mecanismos de registro para rastrear erros e anomalias de desempenho durante e após Na preparação, analise esses registros e métricas de desempenho para garantir que tudo esteja funcionando conforme o esperado antes de passar para a produção Por exemplo, um profissional de saúde monitora o desempenho de seu sistema de gerenciamento de pacientes baseado em mainframe durante as implantações intermediárias Ao analisar os registros de desempenho na preparação, eles evitaram falhas críticas na produção que poderiam ter afetado o atendimento ao paciente Implantação em ambientes de produção. Quando chega a hora de implantar na produção, seguir as melhores práticas garante que a transição seja tranquila com risco mínimo de falha ou tempo de inatividade Veja como obter implantações de produção bem-sucedidas. Primeiro, planeje janelas de inatividade ou evite-as. Embora o objetivo seja sempre minimizar o tempo de inatividade, alguns aplicativos de mainframe podem exigir breves períodos de inatividade durante Programar e planejar adequadamente essas janelas é essencial. Melhor prática. Se o tempo de inatividade for inevitável, programe-o fora do horário de pico, garanta que todas as partes interessadas sejam informadas com antecedência e que haja um plano de contingência para lidar com possíveis problemas Idealmente, busque implantações com tempo de inatividade zero usando estratégias como implantação azul Por exemplo, uma grande seguradora usa implantações azul-esverdeadas para evitar tempo de inatividade ao implementar novos recursos para o sistema de processamento de sinistros baseado em paralelepípedos sinistros baseado em paralelepípedos Ao manter dois ambientes ativos e alternar entre eles, eles mantêm a disponibilidade 24 horas por dia, sete dias por semana durante a implantação. Dois, execute o teste final na produção. Mesmo após testes rigorosos de preparação, é uma boa prática executar testes básicos na produção para garantir que o aplicativo esteja funcionando corretamente com dados ativos Isso pode incluir testes de fumaça, testes aceitação do usuário ou verificações de desempenho. Melhores práticas: testes automatizados de fumaça na produção imediatamente após a implantação para confirmar que a funcionalidade principal do aplicativo está intacta Esse teste deve ser rápido , mas completo o suficiente para detectar problemas críticos. Vamos dar um exemplo. Uma agência governamental que implanta um sistema de declaração de impostos na produção executa uma série de testes automatizados nas principais funcionalidades, como login, envio de dados e Ao fazer isso, eles garantem que o sistema funcione corretamente antes de abri-lo para os usuários. Três, monitore em tempo real. Quando o aplicativo está ativo na produção, monitoramento se torna ainda mais crítico. monitoramento em tempo real permite que você detecte e responda rapidamente a qualquer degradação do desempenho, erros ou comportamentos inesperados Na melhor prática, use ferramentas como Dynatrace, Splunk ou Grafana para monitorar sistemas de produção Configure alertas para métricas importantes, como uso da CPU, consumo de memória e tempos de resposta das transações. Por exemplo, uma empresa de varejo monitora seu sistema de processamento de pedidos baseado em mainframe usando o Dynatrace alertas em tempo real notificam a equipe se houver algum problema de desempenho, permitindo que ela resolva os problemas antes que afetem os clientes. principais conclusões desta primeira lição são que os ambientes de preparação refletem a produção, fornecendo espaço para validar o aplicativo em condições reais Segundo, o teste automatizado garante que a maioria dos problemas seja detectada antes da preparação, reduzindo o risco de falhas na produção Três implantações, canary ou blue green, minimizam o risco de interrupções, permitindo que você teste novas Quatro: o monitoramento em tempo real e os testes finais de produção são essenciais para garantir implantações bem-sucedidas com o mínimo de tempo de inatividade Atividade de aprendizado: identifique um aplicativo em seu ambiente de mainframe que possa se beneficiar de um processo de implantação mais estruturado Crie um plano de implantação que inclua um ambiente de teste e uma estratégia canária ou azul verde Configure ferramentas de monitoramento para monitorar o desempenho durante as implantações de preparação e produção e implemente testes automatizados em ambos os O que vem a seguir? No próximo módulo, exploraremos a garantia de segurança e conformidade nos pipelines do CICD Você aprenderá sobre os principais desafios de segurança na automação de implantações de mainframe e descobrirá melhores práticas para proteger seu pipeline de CICD e proteger os dados e sistemas confidenciais de sua organização 26. Aula 1: considerações de segurança em CI/CD: Bem-vindo ao Módulo sete, garantindo segurança e conformidade nos pipelines do CICD Neste módulo, você aprenderá como proteger seus pipelines CICD e garantir a conformidade com as estruturas regulatórias Ao final do módulo, você estará equipado para proteger seus sistemas de mainframe contra vulnerabilidades e, ao mesmo tempo, atender aos padrões de segurança e conformidade do setor Lição 1, considerações de segurança no CICD. Bem-vindo à primeira lição do Módulo sete. Nesta lição, discutiremos os desafios de segurança que surgem ao automatizar implantações de mainframe em Embora os pipelines do CICD tragam velocidade e eficiência aos processos de desenvolvimento e implantação, eles também introduzem novos riscos É essencial integrar a segurança em todas as etapas do seu pipeline, garantindo que seu código e seus sistemas permaneçam seguros. Ao final da aula, você entenderá os principais riscos de segurança em ambientes de mainframe automatizados e como implementar as melhores práticas para proteger seus pipelines contra vulnerabilidades. Vamos mergulhar. Principais desafios de segurança na automação de implantações de mainframe À medida que as organizações adotam práticas de DevOps e integram seus sistemas de mainframe aos pipelines modernos do CICD, elas enfrentam mainframes lidam com dados e transações essenciais, geralmente processando registros financeiros, de saúde ou governamentais, o que torna as violações de segurança especialmente caras Um, expandindo a superfície de ataque. Você automatiza a implantação Ao automatizar o processo de desenvolvimento e implantação, você conecta vários sistemas, ferramentas e usuários Cada uma dessas conexões pode introduzir vulnerabilidades. À medida que os pipelines do CICD aumentam em complexidade, o número de pontos de acesso para possíveis atacantes Desafio. Um pipeline automatizado pode conectar o repositório de código-fonte, criar servidores, ambientes de teste e sistemas de produção Cada um desses estágios cria possíveis vetores de ataque para acesso não autorizado, injeções de código malicioso ou Por exemplo, uma instituição financeira implementou pipelines CICD para seu sistema de transações baseado em paralelepípedos enfrentou uma violação de segurança quando uma API não segura usada em seu Os atacantes obtêm acesso a dados de teste confidenciais, o que poderia ter sido desastroso se não tivesse sido detectado Segundo, gerenciar segredos e credenciais. automação da implantação geralmente requer acesso a vários sistemas, bancos de dados e servidores Credenciais como chaves de API, senhas e certificados são necessárias para que o pipeline funcione Mas se não forem gerenciados com segurança, eles se tornam um risco significativo O desafio de codificar segredos como senhas ou tokens de acesso no script do pipeline do CICD é um erro comum Isso expõe credenciais críticas a qualquer pessoa com acesso à base de código, levando a um possível acesso não Por exemplo, uma empresa de saúde expõe inadvertidamente as chaves de API em seu script de pipeline do CICD, dando aos usuários autorizados acesso ao ambiente de desenvolvimento que contém dados do paciente A implementação de um melhor gerenciamento secreto teria evitado essa exposição. Três, garantindo a integridade do código e evitando ataques à cadeia de suprimentos. Em um pipeline do CICD, código passa por vários estágios, ferramentas e ambientes. Garantir a integridade do código em cada estágio é essencial. Ataques na cadeia de suprimentos em códigos maliciosos são introduzidos por meio bibliotecas ou dependências de terceiros podem comprometer todo o aplicativo O desafio: os pipelines do CICD que dependem dependências de código aberto ou componentes de terceiros correm o risco de ataques à cadeia de suprimentos Se bibliotecas comprometidas forem integradas ao seu código, elas poderão introduzir vulnerabilidades em seu sistema de mainframe Por exemplo, uma plataforma de comércio eletrônico usando pipelines CICD para implantar atualizações seu sistema de inventário de mainframe foi vítima de um ataque à cadeia de suprimentos quando uma biblioteca de código aberto comprometida foi Isso introduziu um malware que interrompeu o rastreamento de inventário Ou protegendo o próprio gasoduto. A própria infraestrutura do pipeline do CICD, ferramentas como Jenkins, Gitlab ou Urban Co Deploy, precisam ser protegidas Os invasores atacam suas ferramentas de pipeline e introduzem códigos maliciosos, modificam compilações ou até mesmo assumem o controle O desafio de não proteger a infraestrutura de seu pipeline CICD o deixa vulnerável a ataques Isso inclui garantir o acesso aos servidores de compilação, controle de origem e a própria configuração do pipeline Por exemplo, o servidor Jenkins de uma empresa de telecomunicações usado para automatizar a implantação de atualizações de mainframe Os hackers obtiveram acesso ao servidor e injetaram código malicioso em um de seus aplicativos críticos, causando tempos de inatividade significativos Melhores práticas para proteger os dutos do CICD. Agora que exploramos os principais desafios de segurança, vamos analisar as melhores práticas que podem ajudar você a proteger seus pipelines de CICD e proteger seus sistemas de mainframe Primeiro, implemente a segurança por volta de turnos. O conceito de segurança por volta de turnos significa integrar as verificações de segurança logo no início do processo de desenvolvimento, em vez de esperar até que o código chegue à produção Ao incorporar a segurança ao pipeline do CICD desde o início, você pode detectar vulnerabilidades antes que elas se tornem Como usar ferramentas de análise de código estático para verificar vulnerabilidades de segurança assim que os desenvolvedores confirmam o código Testes de segurança automatizados, como verificação de vulnerabilidades e verificação de dependências em cada estágio do pipeline Por exemplo, um banco usando DevOps para seus sistemas de mainframe integrou ferramentas de análise de código estático em seu pipeline de CI, detectando vulnerabilidades de código precocemente e impedindo que códigos inseguros Dois, segredos e credenciais seguros. Certifique-se de que todos os segredos, senhas e chaves de API usados no pipeline sejam armazenados com segurança Evite credenciais de codificação física em scripts ou arquivos de configuração Como implementar o uso de ferramentas de gerenciamento de segredos, como HashiFRPVOL ou AWS Secrets Manager, para armazenar e acessar segredos com segurança Implemente o controle de acesso baseado em funções ou RBAC para limitar quem pode acessar credenciais e segredos específicos Alterne as chaves e as credenciais regularmente para minimizar o risco de acesso não Um exemplo, uma organização de saúde que implantou aplicativos em seu mainframe implementou o HashiCorp Ao fazer isso, eles garantem que nenhuma credencial exposta no pipeline e que o acesso seja rigorosamente controlado Três, imponha a integridade do código com confirmações assinadas e compilações verificadas Para evitar adulterações e garantir a integridade do código, imponha o uso de sign-commits em seu sistema de em seu Além disso, use compilações verificadas para garantir que nenhum código malicioso tenha sido introduzido no pipeline. Como implementar. Exija que os desenvolvedores assinem commits usando GPG ou novas chaves de proteção de privacidade para provar a autenticidade do código. Configure a verificação de compilação em seu pipeline do CICD para garantir que o código que está sendo implantado corresponda ao que foi confirmado no repositório Por exemplo, uma empresa de comércio eletrônico apresentou confirmações assinadas para seu pipeline CICD de aplicativos de mainframe aplicativos Isso garantiu que cada confirmação fosse rastreada até um desenvolvedor verificado, reduzindo o risco de alterações não autorizadas no código Ou proteja a infraestrutura do gasoduto CICD. Bloqueie o acesso às suas ferramentas e infraestrutura de tubulação para evitar o acesso não autorizado Isso inclui proteger servidores de compilação, repositórios de código-fonte e ferramentas de automação de implantação Como implementar e usar autenticação multifatorial ou MFA para todos os usuários que acessam ferramentas de pipeline do CICD, como Jenkins, GitLab Mantenha suas ferramentas e dependências do CICD atualizadas para se proteger contra Audite e analise regularmente as configurações do pipeline em busca de falhas de segurança Por exemplo, uma agência governamental protegeu seus servidores Jenkins e Gitlab aplicando a MFA, limitando o acesso do usuário com base nas funções e atualizando funções Isso reduziu o risco de acesso não autorizado a sistemas críticos Principais conclusões desta lição. Primeiro, integrar o laboratório de segurança antecipado ou por turnos em seu pipeline de CICD reduz as vulnerabilidades antes que elas Segundo, proteja segredos e credenciais usando ferramentas de gerenciamento adequadas para evitar a exposição no pipeline Três, garanta a integridade do código usando confirmações de assinatura, compilações verificadas e verificações de segurança regulares Quatro, infraestrutura de tubulação de bloqueio com autenticação multifatorial, controle de acesso e atualizações regulares para proteger a tubulação contra ataques Atividade de aprendizagem, identifique um risco potencial em seu pipeline atual de CICD Desenvolva um plano para mitigar o risco usando uma das melhores práticas mencionadas nesta lição Por exemplo, implementar o gerenciamento de segredos ou adicionar testes de segurança automatizados. Três, teste em um ambiente de teste e analise o resultado. O que vem a seguir? Na próxima lição, abordaremos requisitos regulatórios e de conformidade. Você aprenderá como navegar pelas principais estruturas regulatórias para ambientes de mainframe e como implementar verificações de conformidade em pipeline de CICD para garantir que suas implantações atendam aos que suas implantações 27. Aula 2: requisitos de conformidade e regulamentação: Lição dois, requisitos regulatórios e de conformidade. Bem-vindo à lição dois do módulo sete. Nesta lição, discutiremos as estruturas regulatórias e de conformidade que se aplicam aos ambientes de mainframe, especialmente em setores altamente regulamentados como finanças, saúde e governo Também exploraremos como integrar verificações de conformidade em seus pipelines automatizados de CICD, garantindo que suas implantações atendam aos padrões necessários sem retardar o processo de desenvolvimento Ao final desta lição, você entenderá como lidar com os requisitos regulatórios em um mundo de DeVox e automatizar a conformidade em seus pipelines de CICD Vamos mergulhar. Entendendo as estruturas regulatórias para ambientes de mainframe ambientes de mainframe geralmente operam em setores que exigem estrita conformidade com os padrões regulatórios Essas regulamentações foram criadas para proteger os dados, garantir a privacidade e manter a integridade do sistema. O não cumprimento pode levar a multas significativas, ações legais e danos à reputação Estruturas regulatórias. Aqui estão algumas das estruturas regulatórias mais importantes que afetam os ambientes de mainframe GDPR ou regulamento geral de proteção de dados. Ela se aplica a qualquer empresa que lida com dados pessoais de cidadãos da UE que exijam controles rigorosos de privacidade e proteção de dados HIPAA ou Lei de Portabilidade e Responsabilidade de Seguros de Saúde Portabilidade e Responsabilidade Isso afeta principalmente as organizações de saúde nos EUA, exigindo que elas protejam as informações dos pacientes e garantam manuseio seguro dos dados de saúde. Lei SOX ou Sarbanes Oxley. É uma instituição financeira sediada nos EUA deve seguir a SOX para garantir a integridade financeira e a transparência, especialmente na forma como os sistemas lidam com dados financeiros PCI DSS ou padrão de segurança de dados do setor de cartões de pagamento. É necessário para qualquer organização que processe pagamentos com cartão de crédito, garantindo a segurança dos dados e a prevenção de fraudes. Por exemplo, um banco multinacional precisava conformidade com os regulamentos do SOC e, ao mesmo tempo, modernizar seus automatização das verificações de conformidade em seu pipeline de CICD permitiu que o banco validasse cada alteração de código em relação aos padrões do SOC, impedindo que códigos não compatíveis A automatização das verificações de conformidade em seu pipeline de CICD permitiu que o banco validasse cada alteração de código em relação aos padrões do SOC, impedindo que códigos não compatíveis fossem implantados na produção. Desafios da conformidade em pipelines automatizados. Ao implementar pipelines de CICD, automatizar a conformidade se torna mais complexo, mas também mais crítico À medida que você acelera as implantações, garantir que as verificações de conformidade não atrasem essencial garantir que as verificações de conformidade não atrasem o processo nem introduzam erros humanos Conformidade contínua. processos tradicionais de conformidade geralmente eram manuais, envolvendo extensas revisões, auditorias e aprovações Em um ambiente CICD automatizado, conformidade contínua é necessária, garantindo que todas as alterações feitas no sistema atendam aos requisitos regulatórios sem depender O desafio de integrar as verificações de conformidade aos pipelines do CICD sem retardar o desenvolvimento ou exigir revisões desenvolvimento ou exigir A solução, a conformidade automatizada, verifica todas as etapas do pipeline desde a confirmação do código até a implantação, garantindo que o código não compatível seja sinalizado Um exemplo, uma empresa de saúde usa mainframes para gerenciar registros de pacientes implementou verificações automatizadas de conformidade para os requisitos da HIPA Ao integrar varreduras automatizadas de segurança e privacidade em seu pipeline, eles garantem que nenhuma alteração no código exponha os dados do paciente ou viole Gerenciando a conformidade de sistemas legados. Os sistemas de mainframe geralmente contêm código legado que foi escrito antes da existência das estruturas modernas de conformidade Garantir que os sistemas mais antigos conformidade com as novas regulamentações pode ser um desafio, especialmente ao integrá-los aos fluxos de trabalho modernos de DevOps O desafio é colocar os sistemas de mainframe em conformidade com as estruturas regulatórias atuais, especialmente ao automatizar a implantação A solução implementa camadas adicionais de validação do código legado para garantir a conformidade, incluindo auditoria automatizada, registro e verificações do sistema Por exemplo, uma instituição financeira que gerencia um antigo sistema de transações baseado em casais foi obrigada a cumprir as novas regulamentações do GDPR Ao adicionar verificações de conformidade em seu pipeline automatizado de CICD, eles conseguiram auditar todas as transações e garantir que nenhum dado pessoal fosse armazenado ou exposto indevidamente Como implementar verificações de conformidade nos pipelines do CICD. Para garantir que os dutos C CICD atendam aos requisitos regulamentares, você pode integrar verificações de conformidade automatizadas em todo o Essas verificações ajudam a reforçar a segurança, a privacidade e a integridade do sistema em todas as etapas do processo de desenvolvimento e implantação Digitalização de código para conformidade com segurança e privacidade. Uma das primeiras etapas para automatizar a conformidade é escanear o código em para automatizar a conformidade é escanear o código vulnerabilidades de segurança e riscos de privacidade assim que ele for enviado ao repositório Essa abordagem de mudança para a esquerda garante que a conformidade seja incorporada ao pipeline desde o início. Escaneamento de código automatizado, use ferramentas como sonar cube ou marcas de verificação para automatizar o escaneamento do código em busca de vulnerabilidades de segurança, problemas de privacidade Com as melhores práticas, garanta que o código que lida com dados confidenciais seja seguro, criptografado adequadamente e siga todas as diretrizes regulatórias relevantes, por exemplo, GDPR ou HIPAA Verificação automatizada de violações de privacidade, por exemplo, o manuseio adequado de dados pessoais durante a revisão do código. Por exemplo, uma empresa de varejo implementou verificações de segurança automatizadas para seus aplicativos cobal para garantir a conformidade com Ao verificar vulnerabilidades no gerenciamento de códigos de transações de pagamento, eles reduzem o risco de fraudes e violações de dados Auditoria e registro automatizados. Regulamentos como o SOC e o GDPR exigem que as organizações mantenham registros detalhados das alterações feitas nos sistemas e nos auditoria automatizada garante que todas as alterações em seu pipeline de CICD sejam registradas e rastreáveis, criando uma trilha de auditoria clara Auditoria automatizada, ferramentas CICD como Jenkins ou Gitlab podem registrar automaticamente todas as alterações feitas em sua base de código, rastreando quem fez a alteração, o que foi Melhores práticas. registro automatizado de todas as atividades em o registro automatizado de todas as atividades em andamento, desde as confirmações até a implantação, garantindo a rastreabilidade das auditorias de conformidade mantenha registros imutáveis que Implemente o registro automatizado de todas as atividades em andamento, desde as confirmações até a implantação, garantindo a rastreabilidade das auditorias de conformidade e mantenha registros imutáveis que não podem ser alterados após a gravação. Por exemplo, uma agência governamental usa o registro automatizado em seu pipeline de CICD para rastrear todas as alterações de código feitas em seu sistema de mainframe, garantindo a conformidade com padrões internos de segurança e estruturas regulatórias Teste de conformidade antes da implantação. Antes que qualquer código seja implantado na produção, execute um teste de conformidade para garantir que o aplicativo cumpra todos os padrões regulatórios Isso garante que códigos não compatíveis nunca cheguem à produção, protegendo seu sistema e organização contra multas ou ações legais Teste de conformidade, use os estágios do pipeline do CICD para executar testes de conformidade, validando o código e as configurações atender a todos os requisitos regulatórios melhores práticas incluem testes de conformidade como parte do processo de implantação, sinalizando automaticamente e impedindo que códigos não compatíveis sejam implantados Implemente testes de conformidade em ambientes de preparação e produção para garantir a conformidade no mundo real Por exemplo, um profissional de saúde que gerencia um sistema de dados de pacientes baseado em mainframe implementou testes de conformidade em seu pipeline Antes de cada lançamento, testes automatizados verificam se todas as alterações no código com as regras de privacidade do paciente, impedindo que as violações cheguem à produção. Principais conclusões desta lição. Uma conformidade contínua garante que seu pipeline de CICD mantenha os padrões regulatórios em todas as etapas, desde a confirmação do código até a implantação da produção Segundo, a auditoria e o registro automatizados fornecem rastreabilidade para auditorias de conformidade, garantindo que todas as atividades sejam Em terceiro lugar, os testes de conformidade antes implantação evitam que códigos não compatíveis da implantação evitam que códigos não compatíveis cheguem à produção, reduzindo o risco de penalidades legais e financeiras Atividade de aprendizagem. Identifique uma estrutura regulatória que se aplique ao seu ambiente de mainframe. Por exemplo, GDPR, HPA ou NSOC. Desenvolva um plano para integrar as verificações de conformidade em seu pipeline de CICD usando ferramentas automatizadas para digitalização de código, auditoria e testes de conformidade Teste suas verificações de conformidade em um ambiente de preparação e garanta que elas detectem códigos não compatíveis antes que eles cheguem à produção O que vem a seguir? Na próxima lição, exploraremos o controle de acesso e auditoria nos pipelines do CICD. Você aprenderá como configurar controles de acesso baseados em funções para seus pipelines e implementar ferramentas de auditoria para monitorar e rastrear a atividade do pipeline, garantindo que seus sistemas permaneçam seguros e 28. Aula 3: controle de acesso e auditoria em pipelines de CI/CD: Lição três, controle de acesso e auditoria em tubulações CICD. Bem-vindo à lição três do módulo sete. Nesta lição, exploraremos como implementar o controle de acesso baseado em funções ou RBAC e integrar ferramentas de auditoria e monitoramento em seu pipeline de CICD para garantir a segurança e a rastreabilidade O controle de acesso garante que somente usuários não autorizados possam modificar, implantar ou gerenciar as atividades do pipeline, enquanto a auditoria garante que você possa acompanhar todas as alterações feitas no sistema Ao final desta lição, você entenderá como proteger sua infraestrutura de tubulação e manter um registro abrangente de todas as atividades para atender aos padrões de conformidade e segurança. Vamos mergulhar. A importância do controle de acesso nos dutos do CICD À medida que a automação aumenta e mais equipes interagem com o pipeline, controlar quem tem acesso a determinada função se torna fundamental. acesso não autorizado ou o uso indevido do pipeline podem introduzir vulnerabilidades de segurança, comprometer a integridade do código Por que o controle de acesso baseado em funções ou RBAC é fundamental. O RBAC restringe o acesso a funções específicas do pipeline com base na função do usuário na organização Esse princípio de privilégio de lista garante que os usuários tenham acesso apenas aos recursos necessários para realizar suas tarefas, minimizando o risco de não autorizadas ou Principais benefícios do RBAC. Primeiro, minimiza o risco. Ele limita o número de usuários que têm acesso a sistemas confidenciais ou controles de implantação. Segundo, aumenta a responsabilidade. Ele garante que as alterações sejam feitas somente por pessoal autorizado, reduzindo o risco de ameaças internas ou erros humanos Três, apoia a conformidade. Muitas estruturas regulatórias exigem que as organizações apliquem controles de acesso rígidos e o RBAC fornece uma maneira simples de cumprir. Vamos dar um exemplo. instituição financeira implementou o RBAC em seu pipeline de CICD para seu sistema de mainframe baseado em bolhas Os desenvolvedores tiveram acesso aos ambientes de desenvolvimento e teste, mas somente os gerentes de lançamento autorizados tiveram acesso para implantar o código na produção. Isso garantiu a conformidade com os regulamentos do SOC, que exigem um controle rigoroso sobre quem pode implantar sistemas financeiros Configurando o RBAC nos pipelines do CICD. O RBAC deve ser cuidadosamente implementado para equilibrar a segurança com a facilidade de acesso para diferentes equipes Vejamos as etapas para configurar efetivamente o RBAC em seu pipeline de CICD Identifique funções e permissões. A primeira etapa é identificar as funções em sua organização que interagem com o pipeline do CICD Isso pode incluir desenvolvedores, testadores, gerentes de lançamento e administradores Depois que as funções forem definidas, determine quais permissões cada função exige. Melhores práticas para atribuição de funções. Os desenvolvedores acessam os repositórios de código-fonte e o ambiente de teste. Testadores, acesso a ferramentas e ambientes de teste, mas sem privilégios de implantação Permissão dos gerentes de lançamento para aprovar e implantar código na produção Acesso total dos administradores para gerenciar as ferramentas e configurações do pipeline Por exemplo, uma empresa de telecomunicações que usa Jenkins e Gitlab define funções claras em seus Os desenvolvedores podiam fazer alterações e executar testes, enquanto somente os gerentes de lançamento podiam aprovar as implantações de produção Isso minimiza o risco de implantações não autorizadas e mantém um pipeline seguro Implementando o RBAC com ferramentas CICD. Muitas ferramentas CICD, como Jenkins, GitLab ou IBM Urban Code, oferecem suporte integrado Essas ferramentas permitem configurar funções, atribuir permissões e controlar quem pode acessar recursos específicos. Melhores práticas: garanta que todas as ferramentas em seu pipeline, por exemplo, controle de versão, servidores de cobrança e sistemas de implantação, suportem o controle de acesso baseado em funções. Analise e atualize regularmente as atribuições de funções para garantir que as permissões estejam alinhadas com as responsabilidades atuais do usuário Implemente a autenticação multifatorial para todos os usuários com acesso privilegiado para aumentar ainda mais a segurança Por exemplo, uma agência governamental usou laboratórios Git integrados aos recursos do RBAC para restringir o acesso ao pipeline Os desenvolvedores só podiam acessar ambientes de teste enquanto os administradores gerenciavam as configurações e A MFA também foi habilitada para que todos os usuários acessassem o ambiente de produção para evitar o acesso não autorizado Auditoria e monitoramento em tubulações do CICD. Além de controlar o acesso, é essencial ter registros detalhados de todas as atividades em seu pipeline. É aqui que a auditoria e o monitoramento entram em ação. auditoria garante que cada ação, seja uma confirmação de código, processo de criação ou implantação, seja registrada, criando uma trilha clara de responsabilidade O monitoramento permite rastrear métricas em tempo real e alertar sobre possíveis incidentes de segurança Por que a auditoria é essencial para conformidade e segurança? A auditoria fornece um registro detalhado de todas as ações tomadas em seu pipeline de CICD. Para organizações em setores regulamentados, manter uma trilha de auditoria é um requisito para garantir a conformidade com estruturas como SOC, HIPAA Os principais benefícios incluem, por um lado, a rastreabilidade. Todas as ações, desde as confirmações de código até a implantação em produção, são registradas com um carimbo de data/hora, o usuário que executou a ação e a natureza da alteração Dois, responsabilidade. A auditoria responsabiliza os usuários pelas mudanças, reduzindo a probabilidade de não autorizadas ou Três, conformidade. Muitas estruturas regulatórias exigem registros auditáveis das alterações feitas nos sistemas e nos Um exemplo, uma empresa de saúde que gerencia dados de pacientes implementou a auditoria automatizada no pipeline do CICD para Todas as alterações e implantações de código foram registradas e rastreáveis, garantindo que os dados do paciente permanecessem seguros e qualquer alteração nos sistemas que lidam com informações confidenciais fosse totalmente auditável Implementação de ferramentas de auditoria e monitoramento. auditoria e o monitoramento podem ser integrados ao seu pipeline do CICD usando ferramentas que registram atividades automaticamente e rastreiam métricas em tempo real Ferramentas para auditoria, plug-in de trilha de auditoria Jenkins. Ele fornece um registro detalhado de todas as ações do usuário, incluindo compilações, implantações e alterações no sistema Eventos de auditoria do Gitlab. Ele rastreia todas as atividades no sistema Gitlab, desde tentativas de login até envios e mesclagens de código Ferramentas para monitoramento, Grafana ou Prometheus. Eles permitem o monitoramento em tempo real do desempenho do pipeline, rastreando os tempos de construção, o uso de recursos e as taxas de erro. Splunk. Ele fornece recursos de registro, monitoramento e alerta, garantindo que qualquer atividade incomum seja sinalizada para análise Práticas recomendadas: configure login para todas as atividades críticas do pipeline, incluindo confirmações de código, alterações de configuração e implantações Implemente monitoramento em tempo real para detectar e alertar sobre uma atividade normal do pipeline, como picos inesperados em falhas de construção ou tentativas de acesso não autorizado Armazene registros de auditoria em um sistema imutável à prova de adulteração para garantir que eles não possam ser alterados ou excluídos Por exemplo, uma empresa de varejo implantou o Grafana e o Prometheus para monitorar o desempenho do pipeline do CICD, garantindo que qualquer atividade incomum, como tentativa de acesso não autorizado ou falhas Eles também implementaram o plug-in de trilha de auditoria Jenkins para rastrear todas as ações do usuário no pipeline, garantindo a conformidade com o PCI Principais conclusões desta lição. Primeiro, nosso BC ajuda a proteger seu pipeline restringindo o acesso somente a usuários autorizados Reduzindo o risco de alterações não autorizadas. Segundo, a auditoria garante que todas as ações dentro do pipeline sejam registradas, criando uma trilha de responsabilidade e Em terceiro lugar, o monitoramento fornece informações em tempo real desempenho e a segurança do pipeline permitindo a detecção rápida de anomalias ou ameaças. Ou combinar RBAC, auditoria e monitoramento garante que seu pipeline de CICD permaneça seguro, rastreável Atividade de aprendizagem. Analise as funções em sua organização e identifique as permissões necessárias para cada função ao interagir com seu pipeline de CICD. Implemente controle de acesso baseado em função ou RBAC em seu pipeline usando ferramentas como Jenkins, GitLab Configure ferramentas de auditoria e monitoramento para registrar ações do usuário e monitorar o desempenho do pipeline, garantindo conformidade e segurança O que vem a seguir? Na próxima lição, vamos nos concentrar nos testes de segurança no pipeline do CICD Você aprenderá a automatizar os testes de segurança. Por exemplo, verifique a vulnerabilidade em seu pipeline e garanta a conformidade com as políticas de segurança por meio do processamento automatizado. 29. Aula 4: testes de segurança no pipeline de CI/CD: Lição quatro, testes de segurança no pipeline do CICD. Bem-vindo à lição quatro do Módulo sete. Nesta lição, vamos nos concentrar em como automatizar os testes de segurança em seu pipeline de CICD, garantindo que as vulnerabilidades sejam identificadas e tratadas antes que seu código Discutiremos as principais ferramentas e estratégias de teste de segurança, como integrar essas ferramentas ao seu pipeline e como garantir a conformidade com as políticas de segurança da sua organização. Ao final desta lição, você entenderá como criar segurança em cada estágio do pipeline do CICD, garantindo que seu ambiente de mainframe permaneça seguro e, garantindo que seu ambiente de mainframe permaneça seguro ao mesmo tempo, mantenha a velocidade e a eficiência das implantações automatizadas Vamos começar. Por que os testes de segurança nos pipelines do CICD são essenciais À medida que seu pipeline de CICD se torna a espinha dorsal de seus processos de desenvolvimento e implantação, garantir a segurança em todas as etapas é fundamental Os mainframes geralmente lidam com dados confidenciais e aplicativos de missão crítica, os torna um alvo de alta prioridade para os invasores Os testes de segurança ajudam a identificar o surgimento de vulnerabilidades, permitindo que sua equipe as resolva antes que elas se tornem riscos exploráveis Mudando a segurança deixada na tubulação. Nos fluxos de trabalho de desenvolvimento tradicionais, os testes de segurança geralmente ocorrem no final do processo, pouco antes ou depois da implantação No entanto, em um pipeline de CICD, essa abordagem é tarde demais. Vulnerabilidades que não são detectadas até a implantação podem comprometer o sistema Ao mudar para a esquerda, os testes de segurança são integrados mais cedo ao processo de desenvolvimento, garantindo que os problemas sejam detectados e resolvidos Benefícios P. Primeiro, detecte as vulnerabilidades mais cedo Identifique e corrija vulnerabilidades durante o desenvolvimento, em vez de após a implantação Segundo, reduza o custo. Corrigir vulnerabilidades precocemente é muito mais barato e demorado do que resolvê-las após a implantação Três, melhore a qualidade do código. Ao incorporar as verificações de segurança com antecedência, sua equipe pode criar códigos mais seguros e de maior qualidade desde o início Por exemplo, uma instituição financeira implementou escaneamentos de vulnerabilidade em estágio inicial em seu pipeline de CICD para aplicativos de mainframe Ao detectar problemas como protocolos de transferência de dados não seguros, no início do desenvolvimento, eles evitaram violações potencialmente caras e melhoraram a segurança melhoraram Um teste de segurança automatizado em pipelines CICD automação dos testes de segurança em um pipeline do CICD permite que você verifique continuamente as vulnerabilidades sem retardar o processo de As verificações de segurança podem ser incorporadas em vários estágios do pipeline quando o código é enviado para a implantação final Tipos de testes de segurança para automatizar. Há vários tipos de testes de segurança que devem ser incorporados ao seu pipeline, cada um visando diferentes aspectos da segurança do sistema Aqui estão as mais comuns. Teste estático de segurança de aplicativos ou SAST. Escaneie o código-fonte vulnerabilidades durante a fase de desenvolvimento identifica problemas como práticas de codificação inseguras, estouros de buffer teste dinâmico de segurança de aplicativos, ou DAST, simula ataques a um aplicativo em execução para encontrar vulnerabilidades em tempo real, como injeção de SQL, scripts entre sites ou XSS varredura de dependências garante que bibliotecas e dependências de terceiros em seu ambiente principal estejam seguras e atualizadas Isso ajuda a evitar ataques à cadeia de suprimentos em que vulnerabilidades são introduzidas para comprometer componentes externos. Segurança de contêineres. Se você usa ambientes em contêineres, por exemplo, Docker ou seu pipeline CICD, Docker ou seu pipeline CICD verificações de segurança de contêineres garantem que os contêineres sejam reforçados e livres de vulnerabilidades Um exemplo, um profissional de saúde que lida com dados confidenciais de pacientes integrou o SAST e o DASD em seu pipeline de CICD para Ao automatizar esse teste nos estágios de confirmação e implantação do código, eles identificaram e mitigaram os riscos, eles identificaram e mitigaram os riscos garantindo que os dados do paciente estivessem seguros em todas as Integrando ferramentas de segurança em seu pipeline de CICD. As ferramentas de segurança podem ser integradas ao seu pipeline do CICD por meio de vários estágios, desde o gerenciamento do código-fonte até a implantação Veja como você pode incorporar essas ferramentas. Gerenciamento de código-fonte, integração SEM. Ferramentas como sonar cube ou checkmarks podem ser integradas aos seus repositórios de código-fonte, por exemplo, Git ou bit bucket, para executar verificações SAST Isso garante que qualquer código enviado ao repositório represente vulnerabilidades antes de avançar no pipeline . Estágio de construção. Use ferramentas como o OAS Zap ou Bird Suite para executar escaneamentos do DAST durante o processo de criação. Essas ferramentas simulam ataques ao seu aplicativo para identificar falhas de segurança Gerenciamento de dependências. Ferramentas como SNIC ou código branco podem ser integradas para verificar suas dependências em busca de vulnerabilidades conhecidas Eles fornecem alertas quando uma biblioteca vulnerável é usada e sugerem alternativas seguras. Segurança de contêineres, se você estiver usando contêineres, integre ferramentas como AQASecurity ou Twistlock para escanear imagens de contêineres em busca de vulnerabilidades, garantindo que seu integre ferramentas como AQASecurity ou Twistlock para escanear imagens de contêineres em busca de vulnerabilidades, garantindo que seu pipeline não propague ambientes inseguros. Práticas recomendadas, automatize as verificações regulares. Programe escaneamentos automáticos para serem executados em vários estágios do pipeline Por exemplo, após cada confirmação ou construção noturna e quatro Configure portas de segurança para interromper o pipeline se uma vulnerabilidade crítica for detectada. Execute testes paralelos. execução de testes de segurança em paralelo com outros processos do CICD, por exemplo, testes funcionais ajuda a manter a velocidade do pipeline Vamos dar um exemplo. Uma empresa de telecomunicações integrou o Sonar cube e entrou sorrateiramente no pipeline do Jenkins para automatizar os escaneamentos de SAST e dependências automatizar Toda vez que o código foi confirmado, o sistema verificou e sinalizou quaisquer problemas de segurança antes passar para o teste e o desenvolvimento, evitando que vulnerabilidades críticas chegassem à produção Automatizando a segurança para fins de conformidade. automação dos testes de segurança garante que seu código esteja em conformidade com as políticas de organizacionais e regulatórias Por exemplo, GDPR, HIPAA e SOC. Ao aplicar verificações automatizadas, você garante a conformidade contínua em todas as etapas do pipeline Garantir a conformidade com as políticas de segurança por meio de processos automatizados. Muitas organizações têm políticas de segurança rígidas que precisam ser aplicadas de forma consistente em todas as bases de código automação dos testes de segurança garante a conformidade com essas políticas e estruturas regulatórias, como GDPR, HIPAA e SOC, sem intervenção Teste de segurança baseado em políticas. As organizações geralmente implementam políticas de segurança específicas para proteger dados confidenciais ou cumprir os regulamentos. Essas políticas podem incluir requisitos de criptografia, padrões de registro e auditoria ou protocolos de controle de acesso Os testes de segurança baseados em políticas garantem que seu código esteja em conformidade com esses padrões internos e externos antes de chegar à produção. Como implementar. Primeiro, defina as políticas de segurança com base nas necessidades e nos requisitos regulamentares da sua organização. Em seguida, use ferramentas automatizadas de teste de segurança para validar esse código Esse código adere a essas políticas durante o desenvolvimento, o teste e a implantação Por exemplo, uma agência governamental que lida com dados confidenciais de cidadãos automatizou verificações de segurança baseadas em políticas em seu pipeline de CICD para garantir a conformidade com o GDPR Cada implantação teve que passar por verificações de criptografia e atender aos padrões de controle de acesso antes de ser lançada. Monitoramento contínuo da conformidade com o CICD, as mudanças estão constantemente fluindo pelo pipeline monitoramento contínuo da conformidade garante que cada alteração cumpra as políticas de segurança durante todo o ciclo de vida do aplicativo Práticas recomendadas: automatizar as verificações de conformidade nos principais estágios do pipeline, por exemplo, após a reimplantação da compilação Essas ferramentas de monitoramento alertam a equipe de segurança quando o código viola as políticas, permitindo a remediação imediata Principais conclusões desta lição. Primeiro, mude a segurança para a esquerda integrando testes de segurança automatizados logo no início do processo para detectar vulnerabilidades antes que elas cheguem Segundo, automatize vários tipos de testes de segurança, como SASP, DAST, verificação de dependências e segurança de contêineres, para garantir cobertura abrangente Três, use testes baseados em políticas para garantir que seu código esteja em conformidade com as políticas de segurança e os requisitos regulatórios, automatizando a fiscalização da segurança em todos Quatro, garanta a conformidade contínua monitorando seu pipeline em busca quaisquer violações dos padrões de segurança e resolvendo-as antes da implantação. Atividade de aprendizagem. Escolha uma ferramenta de teste de segurança, por exemplo, SonarQube, OAS Zap ou SNAP e integre-a Configure escaneamentos automatizados para execução em confirmações e implantações de código Analise os resultados do teste e garanta que as portas de segurança estejam configuradas adequadamente para transportar o pipeline se forem encontradas vulnerabilidades críticas O que vem a seguir? No próximo módulo, vamos nos concentrar em monitorar feedback e otimizar os pipelines Você aprenderá por que o monitoramento é essencial para os dutos do CICD, as principais métricas a serem rastreadas e como otimizar seu pipeline para obter eficiência e confiabilidade 30. Aula 1: introdução ao monitoramento de pipeline: Bem-vindo ao Módulo oito, monitorando o feedback e otimizando os pipelines Neste módulo, você aprenderá como monitorar com eficácia os pipelines IDD, fornecer feedback para melhorar os processos e otimizar seus pipelines em termos de desempenho e confiabilidade Ao final deste módulo de laboratório, você poderá usar ferramentas de monitoramento para rastrear as principais métricas, configurar alertas e melhorar continuamente a eficiência do seu pipeline. Lição 1, introdução ao monitoramento de tubulações. Bem-vindo à primeira lição do módulo oito. Nesta lição, exploraremos o papel fundamental que o monitoramento desempenha na manutenção e otimização de seus pipelines CICD, especialmente em O monitoramento contínuo permite que você acompanhe o desempenho do pipeline, detecte problemas precocemente e garanta a integridade geral de suas implantações. Ao final desta lição, você entenderá por que o monitoramento é essencial, as principais métricas que você precisa monitorar e como usar esses dados para melhorar a eficiência e a confiabilidade do seu pipeline. Vamos ver por que o monitoramento é uma parte vital do processo do CICD Uh, por que o monitoramento é essencial para tubulações CICD. pipelines do CICD são a espinha dorsal do desenvolvimento moderno, automatizando o fluxo desde a criação do código até a implantação No entanto, esses pipelines podem se tornar complexos e propensos a problemas como falhas de compilação, desempenho lento ou erros de implantação Sem o monitoramento adequado, identificar esses problemas pode ser um desafio, levando a lançamentos atrasados, vulnerabilidades, vulnerabilidades de segurança e ineficiências operacionais Identificar problemas com antecedência. O monitoramento ajuda você a detectar possíveis problemas com antecedência, muitas vezes antes que eles afetem a produção. Problemas como testes fracassados, longos prazos de cobrança ou falhas nas implantações podem ser sinalizados e resolvidos em tempo real, reduzindo o tempo de inatividade e minimizando Por exemplo, uma empresa de serviços financeiros cobalto em seu mainframe notou uma desaceleração em seu pipeline de CICD durante seu mainframe notou uma desaceleração em seu pipeline de CICD Ao monitorar as principais métricas do pipeline, eles descobriram que o problema estava relacionado a processos de teste ineficientes, permitindo que otimizassem sua abordagem de teste e reduzissem os tempos de implantação Garantindo a confiabilidade da tubulação. A confiabilidade é um objetivo central dos dutos CICD. monitoramento garante que cada estágio do seu pipeline, seja confirmação de código, criação, teste ou implantação, esteja funcionando conforme o esperado. Ele fornece visibilidade de onde erros ou gargalos podem estar ocorrendo e permite que você os resolva de forma proativa Por exemplo, uma empresa de telecomunicações que gerencia aplicativos de mainframe em grande escala usa o monitoramento para identificar gargalos no pipeline durante aplicativos de mainframe em grande escala usa o monitoramento para identificar gargalos no pipeline durante o período de testes de alto volume. Ao lidar com esses gargalos, eles melhoram a confiabilidade geral e a velocidade de seu pipeline, garantindo Otimização do desempenho. Com o tempo, os dados de monitoramento fornecem insights que permitem otimizar o desempenho do pipeline. Você pode identificar áreas que precisam ser aprimoradas, como etapas de construção que demoram muito ou testes que frequentemente falham. Essa abordagem baseada em dados leva a um pipeline mais rápido e a implantações mais eficientes Por exemplo, uma plataforma de comércio eletrônico que executa processamento em lote em um sistema de mainframe usa o monitoramento de pipeline para rastrear as durações de construção Ao analisar os dados, eles conseguiram refatorar certos estágios de construção, reduzindo o tempo necessário para construções pela Garantindo a segurança e a conformidade. monitoramento também desempenha um papel fundamental garantir a segurança e a conformidade do seu pipeline. Ao configurar alertas para atividades incomuns e acesso autorizado ou testes de segurança malsucedidos, você pode responder a possíveis ameaças antes que elas se tornem problemas graves. Os registros de monitoramento também podem ser usados para auditorias de conformidade, garantindo que cada estágio do pipeline atenda aos padrões exigidos Métricas comuns para monitorar em pipelines CICD de mainframe. Em um ambiente de mainframe, certas métricas são cruciais para manter um pipeline de CICD eficiente e seguro Aqui estão as principais métricas que você deve monitorar. Tempo de construção. Essa métrica rastreia quanto tempo leva para a construção ser concluída. monitoramento dos tempos de construção ajuda a identificar gargalos nos estágios de compilação e vinculação e se faturas específicas estão Por que isso importa. Um aumento repentino no prazo da fatura pode indicar ineficiências ou problemas no processo de cobrança que precisam ser Taxa de sucesso do teste. monitoramento da taxa de sucesso do teste garante que seu pipeline esteja entregando código de alta qualidade. Ele monitora a porcentagem de casos de teste bem-sucedidos em cada compilação. Uma taxa de sucesso de teste menor do que a esperada pode indicar problemas de qualidade do código ou testes mal projetados. Por que isso importa. Falhas de teste consistentes podem indicar problemas mais profundos no código ou a necessidade de melhorar sua estrutura de testes. Frequência de implantação e taxa de sucesso. Essas métricas monitoram a frequência com que as implantações estão sendo enviadas para produção e quantas dessas implantações são bem-sucedidas sem problemas Falhas frequentes na implantação podem indicar problemas no pipeline ou configurações ambientais incorretas. Por que isso importa. monitoramento do sucesso da implantação garante que seu pipeline seja confiável e que as implantações estejam progredindo conforme Duração do gasoduto. A duração do pipeline se refere ao tempo total necessário para o código passar da confirmação para a produção. Essa métrica inclui tempos de construção, estágios de teste e implantação. Monitorar isso ajuda você a entender quanto tempo é necessário para fornecer novos recursos ou atualizações. Por que isso importa. O rastreamento da duração do pipeline ajuda a otimizar a velocidade do pipeline CICD e a identificar os estágios que podem estar causando atrasos Registros e alertas de erros. Os registros e alertas de erros são essenciais para o monitoramento em tempo real do seu pipeline. Qualquer falha durante compilações, testes ou implantações deve ser registrada Um alerta deve ser configurado para notificar imediatamente as equipes relevantes. Por que isso importa. alertas em tempo real reduzem o tempo para identificar e resolver problemas de tubulação, garantindo que eles sejam resolvidos antes que afetem a produção. Melhores práticas para monitorar os pipelines do CICD. Para garantir que seus esforços de monitoramento sejam eficazes, siga estas melhores práticas. Primeiro, automatize o monitoramento e os alertas. Use ferramentas de monitoramento que permitam automatizar o processo de coleta e análise de dados Configure alertas para problemas críticos, como falhas de compilação, processos de longa execução ou testes com falha. Isso ajuda a garantir que você esteja sempre ciente dos problemas sem supervisão manual Segundo, revise as métricas regularmente. Estabeleça um ritmo regular para analisar as métricas de desempenho do seu As revisões semanais ou mensais podem ajudá-lo a identificar padrões, avaliar o progresso e otimizar seu pipeline para melhorar o desempenho e a confiabilidade. Em terceiro lugar, use painéis para ter visibilidade. Configure painéis visuais para descobrir as principais métricas em tempo real. Ferramentas como Rafana ou Kibana permitem que você crie visualizações personalizadas da integridade e do desempenho do seu funil, fornecendo acesso fácil aos insights Ou colabore entre equipes. Certifique-se de que todas as operações de desenvolvimento e equipes de segurança tenham acesso aos dados de monitoramento do pipeline. A colaboração entre equipes ajuda a garantir que todos os problemas sejam resolvidos de forma rápida e eficaz. Principais conclusões desta lição. Primeiro, monitorar seu pipeline de CICD é essencial para identificar problemas precocemente, garantir confiabilidade e otimizar Duas métricas principais a serem monitoradas incluem tempo de construção, taxa de sucesso do teste, frequência de implantação, duração do pipeline e registros de erros. Automatize seus processos de monitoramento e configure alertas em tempo real para identificar e resolver problemas rapidamente identificar e resolver problemas Analise regularmente os dados de monitoramento e use-os para otimizar continuamente a eficiência e a confiabilidade do seu pipeline. Ganhando atividade, escolha uma ferramenta de monitoramento, por exemplo, Grafana, Splunk ou IBM Omegamon e configure-a em Identifique pelo menos duas métricas principais, como tempo de construção ou taxa de sucesso do teste, para monitorar em tempo real. Configure alertas automatizados para qualquer falha crítica na tubulação ou tempos de construção normalmente, tempos construção incomumente longos O que vem a seguir? Na próxima lição, abordaremos como configurar ferramentas de monitoramento e registro para seu pipeline CICD Exploraremos ferramentas específicas para monitorar ambientes de mainframe, como IBM, Omega moon e Splunk, e mostraremos como configurar registros e alertas para estágios críticos 31. Aula 2: como configurar ferramentas de monitoramento e registro: Lição dois, configurando ferramentas de monitoramento e registro. Bem-vindo à lição dois do módulo oito. Nesta lição, vamos explorar como implementar ferramentas de monitoramento e registro em seu pipeline CICD de mainframe Analisaremos as ferramentas que você pode usar para monitorar a integridade de suas implantações, que são alertas em tempo real para problemas críticos e garantiremos que registros detalhados sejam gerados em cada estágio do pipeline Ao final desta lição, você poderá configurar soluções eficazes de monitoramento e registro, garantindo que seu pipeline funcione sem problemas e com segurança Vamos começar. Por que o monitoramento e o registro são essenciais. Como você aprenderá na lição anterior, o monitoramento é fundamental para garantir a confiabilidade e a eficiência da tubulação. Mas o monitoramento por si só não é suficiente. Você precisa de registros detalhados que registrem cada evento, erro e ação no pipeline. Juntos, o monitoramento e o registro fornecem uma visão abrangente da integridade e do desempenho do pipeline, permitindo que você detecte e resolva problemas rapidamente. Monitoramento em tempo real para uma resposta mais rápida a incidentes. As ferramentas de monitoramento fornecem visibilidade em tempo real do desempenho do seu pipeline CICD Essas ferramentas permitem que você acompanhe as principais métricas, como tempo de construção, taxas de erro e uso de recursos. Se surgir um problema, como uma falha na compilação ou uma implantação lenta, você poderá ser alertado imediatamente E responda antes que o problema se agrave. Por exemplo, uma instituição financeira usa o IBM Omega moon para monitorar seu pipeline CICD de mainframe Ao configurar alertas para alto uso de recursos durante as implantações, a instituição conseguiu resolver gargalos em tempo real e garantir Registro detalhado para solução de problemas e conformidade. Os registros são essenciais para a solução de problemas, fornecendo um histórico completo dos eventos em seu pipeline. Se você está depurando uma implantação com falha ou investigando violações de segurança, os registros servem como fonte de prova para entender o prova Eles também desempenham um papel fundamental na garantia conformidade com as regulamentações do setor, como HIPAA ou SOC Que geralmente exigem trilhas de auditoria ou atividades do sistema. Por exemplo, um profissional de saúde precisava estar em conformidade com as hiperregulamentações mantendo registros detalhados de todas as atualizações de aplicativos de mainframe Usando o Splunk para gerenciamento de registros, eles criaram uma trilha de auditoria de cada implantação, garantindo que atendessem aos requisitos legais e, ao mesmo tempo resolvessem rapidamente quaisquer problemas identificados durante as atualizações Alertas. Garanta que você seja notificado sobre falhas críticas, permitindo uma correção rápida Ferramentas para monitorar e registrar implantações de mainframe. Há uma variedade de ferramentas disponíveis para monitoramento e registro, cada uma adequada a diferentes ambientes e necessidades. Aqui estão algumas das principais ferramentas comumente usadas em ambientes de mainframe. IBM Omegamon. O IBM Omegamon é uma ferramenta abrangente projetada especificamente para monitorar sistemas de mainframe Ele fornece informações em tempo real desempenho do sistema, o uso de recursos e a integridade do aplicativo, tornando-o ideal para gerenciar cargas de trabalho críticas de mainframe principais recursos incluem monitorar o uso da CPU, memória, disco e rede, tempos de resposta das transações e o desempenho dos aplicativos. Fornece alertas para condições anormais permitindo uma intervenção rápida Por exemplo, uma empresa de telecomunicações que gerencia sistemas de cobrança em um mainframe usa o IBM Omegamon para A empresa configurou alertas para o alto uso da CPU, que ajudam a identificar ineficiências no aplicativo de cobrança e otimizar a alocação de recursos durante períodos de faturamento de alto volume alto Splunk. O Splunk é uma plataforma de registro e monitoramento amplamente usada que se destaca na coleta, indexação e visualização de dados de log de uma variedade de sistemas Splunk pode ser configurado para agregar registros de várias ferramentas CICD, fornecendo uma visão centralizada principais recursos incluem coleta de registros de várias fontes, como aplicativos, servidores e outros, fornece pesquisa e visualização em tempo real de dados de log, suporte a painéis e relatórios personalizados para Por exemplo, uma grande empresa de serviços financeiros usa o Plank para monitorar seu pipeline CICD de mainframe Ao agregar registros para vários estágios como compilações, testes e implantações, eles são capazes de detectar anomalias no processo de implantação e usar os poderosos recursos de pesquisa do Plank para no processo de implantação e usar os poderosos recursos de pesquisa do Plank , como compilações, testes e implantações, eles são capazes de detectar anomalias no processo de implantação e usar os poderosos recursos de pesquisa do Plank para investigar rapidamente falhas nas implantações. Três Grafana e Prometeu. Essas ferramentas de código aberto são frequentemente usadas conjunto para monitorar os pipelines do CICD O Prometheus coleta e armazena dados de séries temporais, por exemplo, tempos de faturamento ou taxas de erro, enquanto o Grafana cria painéis visuais para monitorar a integridade do pipeline principais recursos incluem monitoramento em tempo real das principais métricas de desempenho, sistema de alerta para anomalias Painéis personalizáveis para exibir métricas de funil. Por exemplo, uma empresa de comércio eletrônico usa Prometheus e o Grafana para monitorar seu principal O sistema fornece gráficos em tempo real duração da construção, dos resultados dos testes e das taxas de sucesso da implantação, permitindo que a equipe identifique e resolva problemas rapidamente Configurando registros e alertas para estágios críticos do pipeline. Agora que abordamos as ferramentas, vamos ver como configurar registros e alertas para os estágios críticos do seu pipeline de CICD Esses são os principais estágios em que é mais provável que surjam problemas. Por isso, é importante ter registros e alertas adequados. Crie um registro de estado. Durante o estágio de construção, você deve registrar todas as ações, incluindo os horários de início e término das compilações, saídas do compilador ou qualquer erro Isso fornece uma visão clara do que deu errado no caso de uma compilação com falha. Práticas recomendadas. Registre os horários de início e conclusão da construção. Capture avisos e erros do compilador. Configure alertas para falhas de compilação permitindo que você aja rapidamente. Por exemplo, uma empresa de varejo usa prancha para registrar os processos de construção Cada compilação com falha aciona um alerta automático para a equipe de desenvolvimento, reduzindo o tempo de inatividade e garantindo que os problemas sejam resolvidos imediatamente Registro do estágio de teste. O estágio de teste é onde você detecta a maioria dos erros em seu código. Os resultados do teste de registro são cruciais. Quer se trate de testes unitários, testes de integração ou testes de segurança, registrar o resultado de cada teste executado garante transparência e responsabilidade Melhores práticas, registre os resultados dos testes, incluindo testes anteriores e reprovados. Registre qualquer tempo limite ou erro na execução do teste. Configure alertas para testes com falha para evitar que o código avance para o próximo estágio Por exemplo, um provedor de serviços de saúde registra todos os resultados dos testes de seu mainframe, o pipeline ICD no IBM Omega moon Quando um teste de segurança falha, um alerta é acionado para a equipe de segurança para remediação imediata, garantindo que os dados do paciente permaneçam seguros Registro do estágio de implantação. O estágio de implantação é fundamental porque qualquer problema aqui pode levar ao tempo de inatividade da produção É essencial amar cada ação de implantação, incluindo configurações de servidor, variáveis de ambiente e tentativas de reversão Práticas recomendadas, adoro todas as atividades de implantação, incluindo configurações e parâmetros, sucesso e falhas de implantações com Configure alertas para falhas na implantação, incluindo acionadores de reversão se uma implantação precisar ser Por exemplo, uma empresa de telecomunicações registra todas as atividades de implantação no Prometheus e no Grafana, Os alertas são configurados para qualquer falha na implantação, solicitando procedimentos de reversão, se necessário Principais conclusões desta lição. Um monitoramento em tempo real ajuda a detectar problemas de tubulação antes que eles aumentem, permitindo uma resposta mais rápida a incidentes Segundo, o registro detalhado é essencial para solucionar problemas e manter a conformidade, fornecendo um histórico completo dos eventos. Três, ferramentas como IBM Omegamon, Splunk e Prometheus fornecem recursos poderosos de monitoramento e registro Ou configure plugues e alertas para estágios críticos do pipeline, como construção, teste e implantação, para garantir que cada problema seja capturado e resolvido com eficiência Atividade de aprendizagem. Apenas uma ferramenta de monitoramento, por exemplo, IBM Omega moon, Splunk ou Prometheus, e configure-a para monitorar seu pipeline CICD principal Configure registros para os estágios de construção, teste e implantação, garantindo que todos os erros e atividades importantes sejam registrados. Configure alertas para falhas críticas, como falhas de compilação ou erros de implantação, para que você possa responder rapidamente. O que vem a seguir? Na próxima lição, vamos nos concentrar na solução de problemas e na depuração Você aprende a identificar problemas comuns do pipeline, solucionar erros e implementar as melhores práticas para depurar e 32. Aula 3: solução de problemas e depuração de pipelines de CI/CD: Lição três, solução de problemas e depuração de pipelines CICD. Bem-vindo à lição três do Módulo oito. Nesta lição, vamos explorar os problemas comuns que podem ocorrer em seu pipeline de CICD e como solucioná-los e resolvê-los de Todo pipeline do CICD, especialmente em ambientes de mainframe, enfrentará desafios em algum momento, seja uma compilação com falha, um teste interrompido ou uma implantação que não saiu conforme o planejado Aprender a solucionar e depurar esses problemas rapidamente é essencial para manter a confiabilidade do seu pipeline Ao final desta lição, você estará equipado com o conhecimento e as melhores práticas para solucionar problemas e depurar seu pipeline com eficiência, minimizando o tempo de inatividade e Vamos mergulhar. Problemas comuns do pipeline do CICD. pipelines do CICD são compostos por vários processos interconectados Então, quando as coisas dão errado, identificar a causa exata às vezes pode ser complicado Vamos analisar alguns dos problemas mais comuns que você pode encontrar em um pipeline CICD de mainframe e como solucioná-los Compilações com falha. Uma falha na compilação é um dos problemas mais comuns em qualquer pipeline do CICD As falhas de compilação podem ser causadas por qualquer coisa, desde erros de sintaxe no código, dependências ausentes ou scripts de compilação mal configurados Etapas de solução de problemas Verifique os registros de compilação. Os registros de compilação geralmente fornecem uma indicação clara do que deu errado, seja um erro do compilador, uma dependência ausente ou uma falha no script Teste localmente. Se você não conseguir identificar imediatamente o problema, tente replicar o processo de criação em seu ambiente local para ver se o problema persiste Verifique o ambiente construído. Certifique-se de que o ambiente construído esteja configurado corretamente. Às vezes, uma falha de compilação é causada por diferenças entre o ambiente local e o ambiente de CI. Por exemplo, uma empresa de serviços financeiros encontrou repetidas falhas de compilação devido a variáveis de ambiente não serem definidas corretamente na configuração de compilação do Jenkins Ao analisar os registros criados e comparar os ambientes locais e de CI, eles identificaram as variáveis ausentes e atualizaram a configuração criada para resolver o problema Testes reprovados. Falhas nos testes são outro problema comum do pipeline, especialmente à medida que seus testes aumentam em complexidade. falha nos testes pode ser causada por qualquer coisa, desde casos de teste incorretos até alterações na base de código que interrompem a funcionalidade Etapas de solução de problemas Analise os registros de teste. Comece analisando os registros de teste para entender quais casos de teste falharam e por quê Execute testes localmente. Executamos os testes de falha em seu ambiente local para confirmar se eles são aprovados ou reprovados Isso ajuda a determinar se é um problema de código ou de ambiente de CI. Verifique se há alterações recentes no código. Às vezes, as falhas de teste são causadas por mudanças recentes no código que não foram devidamente contabilizadas nos casos de teste Se for esse o caso, atualize os casos de teste adequadamente. Por exemplo, uma empresa de telecomunicações enfrentou repetidas falhas de teste em um pipeline de CICD para seus aplicativos de mainframe Ao analisar os registros de teste, eles percebem que o problema resultou de mudanças recentes em um serviço que não foram refletidas na Atualizando os casos de teste para considerar essas mudanças, resolvemos o problema. Falhas na implantação. Falhas na implantação podem ter um impacto significativo, especialmente em ambientes de produção. Essas falhas podem ser causadas por problemas como ambientes mal configurados, falhas de rede ou problemas com os scripts de implantação Etapas de solução de problemas Verifique os registros de implantação. Os registros de implantação fornecerão informações detalhadas sobre o que deu errado. Verifique se há variáveis de ambiente configuradas incorretamente, erros de script ou conectividade de rede Reversão. Se uma implantação falhar na produção, inicie uma reversão para a versão estável anterior para minimizar o tempo Teste primeiro na fase. Sempre teste as implantações em um ambiente de teste antes de começar a produção. Isso ajuda a detectar quaisquer problemas precocemente e reduz o risco de falhas no ambiente ao vivo. Por exemplo, uma empresa de saúde encontra falhas de implantação durante as atualizações de seus aplicativos de mainframe devido a variáveis de ambiente incorretas no ambiente de produção Ao analisar os registros de implantação, eles identificam o erro, corrigem a configuração e implantam o aplicativo com êxito Longos tempos de construção. Longos tempos de construção podem desacelerar todo o pipeline do CICD e atrasar a entrega Esse problema geralmente é causado por ineficiências no processo de criação, como tarefas redundantes, grandes bases de código ou dependências desatualizadas Etapas de solução de problemas, revise os estágios de construção. Divida os estágios de construção e identifique onde a maior parte do tempo está sendo gasta. Procure tarefas que sejam redundantes ou desnecessárias. Código otimizado. Refatore partes da base de código que estão causando compilações lentas, como grandes tarefas de compilação ou Dependências de cache. Use mecanismos de armazenamento em cache para evitar o download das mesmas dependências em cada compilação Por exemplo, uma plataforma de comércio eletrônico percebeu que suas faturas de aplicativos de mainframe estavam demorando muito mais do que Ao analisar os estágios de compilação, eles perceberam que estavam baixando novamente as dependências de cada compilação Ao implementar o armazenamento em cache, eles reduziram o tempo de construção em 40% Práticas recomendadas para depuração e resolução de falhas de tubulação e resolução de falhas de tubulação A depuração de falhas de tubulação requer uma Aqui estão algumas das melhores práticas a serem seguidas. Sempre verifique o registro primeiro. Os registros são sua primeira linha de defesa ao depurar uma Seja uma falha na compilação, melhor falha ou na implantação, os registros fornecerão informações detalhadas sobre o que deu errado e onde. Dica prática Certifique-se de que sua ferramenta CICD esteja configurada para gerar registros abrangentes em cada estágio do pipeline Reproduza o problema localmente. Se você não tiver certeza do que causou a falha, tente reproduzir o problema em seu ambiente de desenvolvimento local Isso ajudará você a determinar se o problema está relacionado ao seu código, ao ambiente de CI ou um fator externo. Dica prática Use localmente as mesmas ferramentas e configurações que usei no pipeline do CICD para garantir a consistência. Isole o problema. Depois de identificar o ponto de falha, isole o problema concentrando-se na parte da tubulação em que a falha ocorreu Evite mudar muitas coisas ao mesmo tempo. Em vez disso, faça alterações incrementais e execute novamente o pipeline para ver se o problema o pipeline para ver se o problema foi resolvido. Dica prática Use o controle de versão para rastrear as alterações e revertê-las facilmente se o problema persistir após os efeitos. Implemente verificações de integridade do pipeline. Configure verificações de saúde em seu pipeline para monitorar métricas importantes, como tempo de construção, taxas de erro e taxas de sucesso de testes. Se alguma dessas métricas começar a se degradar, pode ser um sinal de um problema subjacente que precisa de atenção Dica prática. Use ferramentas de monitoramento como Prometheus ou IBM Omega moon para acompanhar o desempenho do pipeline em principais conclusões desta primeira lição são: falhas em compilações, falhas em testes e problemas de implantação são comuns nos pipelines do CICD, e problemas de implantação são comuns nos pipelines do CICD, mas podem ser resolvidos de forma eficiente com As principais conclusões desta primeira lição são: falhas em compilações, falhas em testes e problemas de implantação são comuns nos pipelines do CICD, mas podem ser resolvidos de forma eficiente com a solução de problemas sistemática. Segundo, sempre verifique os registros primeiro ao depurar problemas. Os registros fornecem informações detalhadas sobre o que deu errado e ajudam a orientar seus esforços de solução de problemas. terceiro lugar, produzimos o problema em seu ambiente local para determinar se o problema está relacionado à base de código ou ao ambiente do pipeline. Quatro, siga as melhores práticas, como isolar o problema, fazer alterações incrementais e monitorar a integridade do pipeline para garantir operações tranquilas e integridade do pipeline para garantir minimizar Atividade de ganho. Identifique uma falha recente em seu pipeline de CICD, seja um teste de construção ou uma falha de implantação, e analise os registros para entender o que a causou Produzimos o problema em seu ambiente local e trabalhamos nas etapas de solução de problemas para resolvê-lo. Documente as etapas que você tomou para resolver o problema e implemente uma solução de monitoramento para detectar problemas semelhantes no início do futuro. O que vem a seguir? Na próxima lição, exploraremos como usar ciclos de feedback para otimizar os pipelines Você aprende a analisar os dados de desempenho do pipeline, identificar gargalos e implementar estratégias de melhoria contínua para refinar seu pipeline do CICD ao refinar seu pipeline do CICD 33. Aula 4: usando loops de feedback para otimizar pipelines: Lição quatro, usando ciclos de feedback para otimizar os pipelines. Bem-vindo à lição quatro do módulo oito. Nesta lição final, vamos nos concentrar em como usar ciclos de feedback para otimizar seu pipeline de CICD ao longo Ao analisar continuamente os dados produzidos pelo seu pipeline e coletar feedback, você pode refinar processos, remover ineficiências e garantir que seu pipeline forneça resultados mais rápidos e confiáveis Ao final desta lição, você saberá como aproveitar os dados para identificar gargalos, implementar estratégias de melhoria contínua e estabelecer um ciclo de feedback que mantenha seu Vamos começar. O que são ciclos de feedback nos pipelines do CICD Um ciclo de feedback é um processo que as informações coletadas no desempenho do pipeline são usadas para fazer ajustes e melhorias ao longo do tempo. Isso significa analisar continuamente os dados do pipeline e agir com base neles para otimizar o desempenho, eliminar gargalos e garantir que o Por que os ciclos de feedback são importantes? ciclos de feedback ajudam a garantir que seu pipeline de CICD esteja sempre melhorando à medida que surgem novos desafios, como tempos de construção mais longos, falhas de teste ou atrasos na implantação ciclos de feedback permitem que você faça melhorias incrementais para que seu pipeline se torne Por exemplo, uma empresa de serviços financeiros percebeu que sua suíte de testes estava demorando muito para ser concluída durante os períodos de pico. Ao analisar os dados do pipeline e coletar feedback das equipes de implantação, eles identificaram testes que poderiam ser executados em paralelo, reduzindo os tempos de teste pela metade e acelerando a entrega Monitoramento contínuo como base. Os ciclos de feedback eficazes são construídos com base no monitoramento contínuo Você precisa monitorar regularmente métricas, como tempos de construção, taxas de sucesso de testes e frequências de implantação. Sem esses dados, você não saberá quais áreas do pipeline precisam de atenção. Por exemplo, uma plataforma de comércio eletrônico acompanhou o tempo de construção do pipeline ao longo de vários meses Ao monitorar esses dados, eles notaram um aumento gradual na duração da construção e identificaram várias tarefas redundantes que estavam retardando o Ao remover essas tarefas, eles reduzem o tempo de construção em 20%. Uh, hum, analisando dados de desempenho do pipeline para identificar Depois de instalar suas ferramentas de monitoramento e monitorar as métricas corretas, a próxima etapa é analisar os dados e identificar gargalos no pipeline Um gargalo é qualquer estágio do pipeline que demore mais do que o esperado ou cause Principais métricas a serem monitoradas. Para identificar gargalos, concentre-se nas principais métricas. Tempo de compilação, quanto tempo é necessário para compilar e criar o código Taxa de sucesso do teste, a porcentagem de testes aprovados na primeira tentativa. Duração do gasoduto. O tempo total necessário para o código passe da confirmação à implantação. Frequência de erro. Com que frequência ocorrem erros em compilações, testes e implantações? Analisando gargalos. Depois de coletar esses dados, você pode começar a procurar padrões. Certas contas são sempre mais baixas? Os testes geralmente falham em um estágio específico. As implantações estão atrasadas devido aos processos manuais? Por exemplo, uma empresa de telecomunicações que gerencia aplicativos de mainframe de grande escala percebeu que seus testes de integração estavam demorando mais do que Ao analisar os registros de teste e os dados de temporização, eles identificaram um problema de configuração do ambiente de teste que estava causando atrasos Depois de corrigirem a configuração, tempos de teste caíram 30%. Ferramentas para ajudar na análise. Há várias ferramentas que podem ajudar você a analisar os dados de desempenho do pipeline e identificar gargalos Grafana para visualizar as métricas do pipeline em tempo real. Splunk para analisar registros e métricas. IBM Omega moon para monitorar o desempenho do sistema mainframe e identificar Estratégias de melhoria contínua para refinar oleodutos. Depois de identificar os gargalos, a próxima etapa é implementar melhoria contínua Essas estratégias ajudam você a refinar seu pipeline de CICD ao longo do tempo, garantindo que ele permaneça otimizado à medida que surgem novos desafios Otimize os estágios de construção e teste. Se as compilações ou os testes demorarem muito, considere o seguinte. Paralelização Execute várias compilações ou teste em paralelo para reduzir o tempo geral. as dependências em cache para que elas não precisem ser baixadas novamente todas as vezes Teste a segmentação, divida os testes em segmentos menores e execute-os de forma incremental. Por exemplo, um profissional de saúde divide seu grande conjunto de testes de integração em seções menores e mais gerenciáveis e as paraleliza Isso reduz o tempo geral do teste em 40%. Automatize os processos manuais. Processos manuais, especialmente em implantações, podem introduzir atrasos e erros A automação desses processos ajudará a agilizar Por exemplo, uma instituição bancária implementou scripts de implantação automatizados para seus aplicativos de mainframe Isso eliminou erros de implantação manual e reduziu o tempo de implantação em 50%. Revise e repita regularmente. Otimizar um pipeline não é uma tarefa única. Estabeleça um ritmo regular para analisar o desempenho do pipeline, coletar feedback e iterar melhorias Crie um feedback em que os dados sejam continuamente coletados, revisados e usados para melhorar o pipeline. Principais conclusões desta lição. Primeiro, os ciclos de feedback são essenciais para melhorar continuamente seu pipeline de CICD. Use dados de desempenho para refinar e otimizar cada estágio do pipeline Segundo, acompanhe regularmente métricas como tempo de construção, taxa de sucesso do teste e duração do pipeline para identificar gargalos e áreas Três, implemente estratégias como paralelização, segmentação de testes e automação para Quatro: coletar continuamente feedback de um pipeline e de equipes para garantir melhorias contínuas. Atividade de aprendizagem. Analise as métricas de desempenho do seu pipeline CICD atual usando uma ferramenta de monitoramento como o Krafana ou o IBM Identifique um gargalo em seu pipeline, por exemplo, tempo de construção lento ou falhas frequentes em testes Implemente uma das estratégias de melhoria contínua discutidas. Experimente o teste de paralelização ou automatize o teste de implantação manual e documente implantação manual e documente Parabéns. Você concluiu o curso. Você chegou ao fim da modernização do mainframe, CICD Parabéns por concluir o curso. Nas últimas aulas, você aprendeu como implementar e otimizar um pipeline de CICD para mainframes desde o básico do CICD até a automação de testes, implantação e monitoramento Agora que você adquiriu essas habilidades essenciais, é hora de colocá-las em prática. Comece revisando seu pipeline atual do CICD, identificando áreas de melhoria e implementando as estratégias que você aprendeu ao longo deste Se você está trabalhando em desenvolvimento, operações ou DiVobs, os conceitos e as ferramentas que você domina o ajudarão a fornecer software mais rápido, mais confiável e mais Próxima etapa. Continue sua jornada na modernização do mainframe O aprendizado não para por aqui. Para continuar desenvolvendo sua experiência em modernização de mainframe, considere se matricular em um de nossos Por exemplo, migrar cargas de trabalho de mainframe para a nuvem, melhores práticas Aqui, você aprenderá estratégias para mover com segurança cargas de trabalho de missão crítica de mainframes para ambientes em nuvem, garantindo segurança, desempenho e conformidade durante a Outra são as APIs e microsserviços, que modernizam Aqui, você descobrirá como aproveitar APIs e microsserviços para modernizar e microsserviços para modernizar e ampliar a funcionalidade do aplicativo de mainframe legado, ajudando você a se integrar com modernas Ao continuar seus estudos, você permanecerá na vanguarda da modernização do sistema de mainframe e ajudará sua organização a prosperar em um cenário de TI cada vez mais híbrido e baseado em nuvem Obrigado por participar dessa jornada e esperamos vê-lo em cursos futuros.