| Bellacosa Mainframe e o laboratorio pratico em CI/CD para mainframers |
☕ Um Café no Bellacosa Mainframe
Laboratório CI/CD para Coboleiros Padawans
Bem-vindo ao laboratório CI/CD para Coboleiros Padawans, uma jornada prática criada para mostrar que Continuous Integration e Continuous Delivery não são conceitos exclusivos do mundo distribuído, mas práticas cada vez mais presentes no ecossistema IBM Z. O objetivo deste treinamento é capacitar o desenvolvedor COBOL Jr a compreender como Git, pipelines, automação, testes, Docker, Jenkins, Zowe e ferramentas modernas trabalham em conjunto para entregar aplicações com mais qualidade, velocidade e segurança.
A metodologia é baseada em aprendizado progressivo (Learning by Doing). Cada laboratório apresenta um desafio prático, seguido de sua solução comentada e de uma explicação relacionando os conceitos modernos ao cotidiano do desenvolvedor mainframe. A cada etapa, o aluno evolui do entendimento dos fundamentos de versionamento até a construção de pipelines completos semelhantes aos utilizados em bancos, seguradoras e grandes corporações.
Durante os exercícios, o participante será incentivado a experimentar, cometer erros, interpretar logs, analisar falhas de compilação, resolver conflitos de merge e compreender o impacto das alterações em programas COBOL, COPYBOOKs, JCLs e ambientes de desenvolvimento. Afinal, falhas fazem parte do processo de aprendizado e representam oportunidades para desenvolver habilidades de diagnóstico e resolução de problemas.
Como ponto de atenção, este laboratório não pretende substituir os processos específicos adotados por cada empresa. Cada organização possui suas próprias ferramentas, políticas de aprovação, padrões de desenvolvimento e modelos de implantação. O foco está em desenvolver uma mentalidade DevOps aplicada ao Mainframe, permitindo que o aluno compreenda os princípios por trás das ferramentas e consiga adaptar esse conhecimento a qualquer ambiente IBM Z moderno. O objetivo final é formar profissionais capazes de integrar a tradição e a robustez do COBOL com as práticas contemporâneas de engenharia de software.
20 Labs para levar um Desenvolvedor COBOL Jr do "DISPLAY 'HELLO'" até um Pipeline Enterprise IBM Z
"Ninguém aprende CI/CD lendo slides. Aprende quebrando pipelines, corrigindo builds e descobrindo por que um simples COPYBOOK pode parar uma esteira inteira."
Este laboratório foi pensado para quem conhece COBOL, JCL e o mundo IBM Z, mas nunca trabalhou com DevOps, Git, Docker ou CI/CD. A ideia é evoluir passo a passo, sempre fazendo analogias com o ambiente mainframe.
Filosofia
Cada laboratório possui:
🎯 Objetivo
📚 Conceitos
🔨 Exercício
✅ Solução
⭐ Nível
Ao final dos 20 laboratórios o aluno terá contato com praticamente todo o ciclo moderno de desenvolvimento envolvendo aplicações COBOL.
LAB 01 — O que é um Pipeline?
Nível
⭐
Objetivo
Entender visualmente um Pipeline.
Exercício
Desenhe um fluxo para um programa COBOL.
Fonte COBOL
↓
Compilação
↓
LinkEdit
↓
Testes
↓
Homologação
↓
Produção
Solução
O aluno percebe que um Pipeline nada mais é que uma sequência automatizada de etapas.
LAB 02 — Git é o novo PDS
⭐
Objetivo
Entender Git usando conceitos de Mainframe.
Exercício
Compare:
PDS
Git Repository
Membro
Arquivo
Backup
Commit
Solução
O aluno entende que Git é um versionador e não um diretório de arquivos.
LAB 03 — Primeiro Commit
⭐
Criar um repositório.
git init
Adicionar
HELLO.CBL
Executar
git add .
git commit
Solução
Criado o primeiro histórico.
LAB 04 — Branch é igual ambiente paralelo
⭐⭐
Criar
feature/cartao
Modificar o programa.
Fazer Merge.
Solução
Entender desenvolvimento paralelo.
LAB 05 — Conflito de COPYBOOK
⭐⭐
Dois alunos alteram
CLIENTE.CPY
Realizar Merge.
Resolver conflito.
Solução
Aprender Merge Conflict.
LAB 06 — O Build Manual
⭐⭐
Criar um fluxo.
Compila
↓
Link
↓
Executa
↓
Testa
Executar manualmente.
Solução
Perceber quanto trabalho existe.
LAB 07 — Automatizando o Build
⭐⭐
Criar um script.
build.sh
que execute todas as etapas.
Solução
Primeira automação.
LAB 08 — Docker para Coboleiros
⭐⭐
Criar um container Ubuntu.
Entrar.
Instalar Git.
Executar scripts.
Solução
Entender Container.
Easter Egg:
Container lembra JOB Batch.
LAB 09 — Criando uma Docker Image
⭐⭐⭐
Criar
Dockerfile
Adicionar
Git
Java
Python
Construir.
Solução
Image pronta para Pipeline.
LAB 10 — Jenkins faz o JCL Moderno
⭐⭐⭐
Criar um Job.
Sempre que ocorrer
git push
executar
build.sh
Solução
Primeiro Pipeline.
LAB 11 — Pipeline com Erro
⭐⭐⭐
Inserir erro proposital.
DISPLAY "OI"
remover ponto.
Pipeline deve falhar.
Solução
Aprender Build Failed.
LAB 12 — Quality Gate
⭐⭐⭐
Executar análise estática.
Encontrar
variáveis mortas
código duplicado
GO TO desnecessário
Solução
Entender qualidade.
LAB 13 — Testes Automatizados
⭐⭐⭐⭐
Criar casos.
Entrada
100
Saída
Juros
Executar automaticamente.
Solução
Pipeline não depende do usuário.
LAB 14 — Integração com Banco
⭐⭐⭐⭐
Criar ambiente.
Docker
↓
Db2 Simulado
↓
Programa
Executar testes.
Solução
Primeiro teste integrado.
LAB 15 — Deploy Automatizado
⭐⭐⭐⭐
Pipeline publica automaticamente.
DEV
↓
QA
Solução
Entrega contínua.
LAB 16 — Rollback
⭐⭐⭐⭐
Deploy gera erro.
Voltar versão anterior.
Solução
Rollback automático.
LAB 17 — Pipeline Enterprise IBM Z
⭐⭐⭐⭐⭐
Adicionar
Git
↓
Jenkins
↓
DBB
↓
Compile
↓
Link
↓
Bind
↓
Deploy
Solução
Pipeline semelhante ao de grandes bancos.
LAB 18 — Pipeline Híbrido
⭐⭐⭐⭐⭐
Frontend
Docker
↓
API
↓
MQ
↓
COBOL
↓
Db2
Solução
Mostrar que o Mainframe faz parte do Pipeline.
Não está isolado.
LAB 19 — Pipeline Completo
⭐⭐⭐⭐⭐
Fluxo
Git Push
↓
Build
↓
Docker
↓
Sonar
↓
Testes
↓
Artifact
↓
Deploy DEV
↓
Deploy QA
↓
Aprovação
↓
Produção
Solução
Pipeline Enterprise.
LAB 20 — Missão Final
⭐⭐⭐⭐⭐
Criar um Pipeline completo.
Projeto:
Sistema Bancário.
Alterar
CLIENTE.CBL
Executar
Build
Testes
Merge
Docker
Jenkins
Publicação
Rollback
Documentar tudo.
Solução
O aluno entrega um Pipeline funcional semelhante ao utilizado em grandes instituições financeiras.
🏆 Desafio Bônus 1 — O Pipeline Quebrado
O instrutor entrega um pipeline com cinco falhas escondidas:
branch incorreta;
variável de ambiente ausente;
caminho inválido para um COPYBOOK;
etapa de testes desabilitada;
deploy apontando para o ambiente errado.
O objetivo é investigar logs, identificar a causa e restaurar a execução.
Competências desenvolvidas: leitura de logs, troubleshooting e análise de causa raiz.
🏆 Desafio Bônus 2 — O Detetive do COPYBOOK
Um único COPYBOOK foi alterado.
O aluno deve identificar:
quais programas precisam ser recompilados;
quais JCLs podem ser impactados;
quais testes devem ser executados.
Competências desenvolvidas: análise de dependências e impacto.
🏆 Desafio Bônus 3 — Pipeline Seguro
Adicionar ao pipeline:
aprovação obrigatória antes da produção;
Quality Gate mínimo (ex.: 80%);
bloqueio de merge se houver falha nos testes;
geração automática de relatório.
O objetivo é entender que CI/CD também envolve governança.
🎓 Projeto Final — O Banco Bellacosa
Ao final do curso, o aluno recebe uma aplicação COBOL composta por:
12 programas COBOL;
8 COPYBOOKs;
6 JCLs;
2 tabelas Db2;
1 transação CICS;
repositório Git inicial.
A missão é modernizar o processo de entrega criando um pipeline completo que:
utilize Git com branches (
main,developefeature/*);automatize build e testes;
execute análise de qualidade;
gere artefatos versionados;
promova automaticamente para DEV e QA;
exija aprovação para produção;
implemente rollback para a última versão estável;
documente toda a esteira.
Ao concluir esse projeto, o COBOL Jr terá percorrido uma jornada que começa com um simples git init e termina entendendo como grandes bancos entregam software crítico no IBM Z. Mais importante do que decorar comandos, ele terá desenvolvido a mentalidade de engenharia de software moderna, percebendo que, no universo Bellacosa Mainframe, o programa COBOL é apenas uma peça de uma engrenagem muito maior: uma esteira automatizada que garante qualidade, rastreabilidade e segurança do primeiro commit até a produção.
Sem comentários:
Enviar um comentário