Translate

Mostrar mensagens com a etiqueta tekton. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta tekton. Mostrar todas as mensagens

segunda-feira, 20 de julho de 2026

CI/CD : Quando Batman, Robin, GitHub Actions e Tekton Descobriram que um JOB JCL Também Pode Vestir uma Capa

 

Bellacosa Mainframe e o ci/cd para iniciantes, uma santa charada

☕ Um Café no Bellacosa Mainframe

CI/CD sem Mistérios para Programadores COBOL

Quando Batman, Robin, GitHub Actions e Tekton Descobriram que um JOB JCL Também Pode Vestir uma Capa

"POW!"
"BAM!"
"ZAP!"

Imagine que você entrou em um Data Center da IBM em 1978.

De repente, a porta explode.

Surge Batman correndo pelos corredores do CPD.

Robin grita:

"Santo Pipeline, Batman! Alguém fez um deploy direto em produção!"

Batman olha para o console 3270.

Na tela aparece:

ABEND=S0C7

Batman suspira.

— Robin... alguém ignorou o CI.

Robin responde:

— E também esqueceu o CD...

Batman abaixa a cabeça.

— Chamem o Comissário Gordon.

Só que o Comissário Gordon, em 2026, atende pelo nome de GitHub Actions.


O verdadeiro vilão nunca foi o Git

Durante anos muitos programadores COBOL acreditaram que aprender Git era o grande desafio.

Depois vieram Docker.

Depois Kubernetes.

Depois YAML.

Depois Tekton.

Depois GitHub Actions.

Até que descobriram uma verdade curiosa.

Nenhuma dessas ferramentas é realmente difícil.

O difícil é entender como elas conversam entre si.

É exatamente isso que aprendemos ao longo do curso de Continuous Integration and Continuous Delivery (CI/CD).

E curiosamente...

Tudo faz muito sentido para quem já viveu dentro de um mainframe.


CI é apenas um JCL moderno

Essa frase costuma assustar desenvolvedores web.

Mas para quem programa COBOL...

Ela faz todo sentido.

Imagine um JOB.

STEP001
STEP002
STEP003
STEP004

Cada STEP depende do anterior.

Se um falha...

O JOB termina.

Agora troque:

STEP001 → Checkout

STEP002 → Compile

STEP003 → Teste

STEP004 → Deploy

Parabéns.

Você acabou de entender um Pipeline.


GitHub Actions é o novo JES2

No curso inteiro existe uma ferramenta protagonista.

GitHub Actions.

Ela observa o repositório.

Sempre que alguém faz:

git push

Ela acorda.

Como o JES2 recebendo um JOB.

Ela pega um arquivo chamado:

.github/workflows/workflow.yml

E executa exatamente o que está escrito ali.

Não pensa.

Não interpreta.

Não improvisa.

Ela apenas executa.

Como qualquer bom scheduler.


O Workflow

No curso aprendemos que todo Workflow precisa de quatro partes.

Evento

push

ou

pull_request

É o equivalente ao operador apertando ENTER.


Runner

ubuntu-latest

É a máquina onde tudo acontece.

Pense nela como um LPAR temporário.


Steps

Cada Step é um mini programa.

Exemplo:

Checkout

↓

Setup Node

↓

npm install

↓

ESLint

↓

Jest

No mainframe seria quase:

IEFBR14

↓

COBOL

↓

LINKEDIT

↓

TESTE

↓

EXECUÇÃO

O primeiro inimigo

Durante nosso projeto apareceu um erro curioso.

Recebemos nota zero.

Mas...

O CI estava verde.

Como isso era possível?

Batman chamou Alfred.

Alfred olhou cuidadosamente.

E respondeu:

"Mestre Bruce...

o problema não era o código.

Era o link."

Exatamente isso.

O Coursera esperava:

.github/workflows/workflow.yml

Nós enviamos:

workflow/

Resultado:

Zero.

Moral da história?

No mundo DevOps...

Caminhos importam.

Muito.


O AI Grader é como um compilador COBOL

Essa foi provavelmente a maior descoberta.

O avaliador automático não "entende" intenção.

Ele faz matching.

Se procura:

SERVICERUNNING

e você escreveu:

SERVICE RUNNING

Você perde ponto.

Mesmo estando correto.

Lembra bastante um compilador COBOL.

MOVE ZERO TO WS-TOTAL

é diferente de

MOVE ZEROS TO WS-TOTAL

Um detalhe muda tudo.


A importância dos Logs

Outro erro clássico.

Mandamos o log do GitHub Actions.

Mas a questão queria:

oc logs

Ou seja...

Logs da aplicação.

Não do pipeline.

Batman diria:

"Robin...

não investigue o Batmóvel quando o crime aconteceu dentro do Banco de Gotham."


O mistério do PVC

Durante o laboratório apareceu outro personagem.

pipeline-pvc

Muita gente acha que é apenas um volume.

Mas ele é muito mais.

É o HD temporário do Pipeline.

Imagine um SORT usando um dataset intermediário.

Sem ele...

O STEP seguinte não encontra nada.

No Tekton acontece igual.

Cada Task compartilha arquivos usando Workspaces.

E quem sustenta isso?

O PVC.


Tekton

Se GitHub Actions faz CI...

Tekton faz CD.

Ele possui três personagens.

Task

Uma única ação.

Como:

Lint

ou

Test

Pipeline

O roteiro completo.

Cleanup

↓

Git Clone

↓

ESLint

↓

Jest

↓

Buildah

↓

Deploy

PipelineRun

A execução.

Pense nela como:

SUBMIT JOB

Buildah

Muitos imaginam que Buildah é parecido com Docker.

Na prática...

Ele fabrica imagens OCI.

No curso ele aparece depois do Jest.

Porque primeiro validamos.

Depois construímos.

Nunca o contrário.


Deploy

A última etapa.

oc set image

troca a imagem do Deployment.

É o equivalente moderno do:

NEW LOAD MODULE

no mainframe.


Plano de Estudos para um Programador COBOL Júnior

Semana 1 — Git e GitHub

Objetivo:

  • Repositórios

  • Branches

  • Commits

  • Pull Requests

Prática:

  • Criar um repositório de exemplo.

  • Fazer commits pequenos e descritivos.

  • Aprender a resolver conflitos simples.


Semana 2 — GitHub Actions

Objetivo:

  • Workflow

  • Runner

  • Jobs

  • Steps

Exercício:

Criar um Workflow que execute:

npm install

↓

npm run lint

↓

npm test

Analogia mainframe:

  • Cada Step é como um EXEC em um JOB JCL.


Semana 3 — Testes Automatizados

Objetivo:

  • Jest

  • Cobertura

  • Qualidade

Prática:

  • Escrever testes para funções simples.

  • Corrigir falhas até obter pipeline verde.


Semana 4 — YAML

Objetivo:

  • Sintaxe

  • Indentação

  • Estruturas

Dica:

YAML não perdoa espaços errados.

Assim como JCL não perdoa colunas erradas.


Semana 5 — OpenShift

Objetivo:

  • Projetos (Namespaces)

  • Pods

  • Deployments

  • Services

  • Routes

Prática:

  • Implantar uma aplicação simples.

  • Consultar logs com oc logs.

  • Explorar recursos com oc get e oc describe.


Semana 6 — Tekton

Criar:

✔ Task

✔ Pipeline

✔ PipelineRun

Depois:

Cleanup

↓

Clone

↓

Lint

↓

Test

↓

Build

↓

Deploy

Semana 7 — Observabilidade

Aprender:

oc logs

oc describe

oc get pods

oc get pvc

oc get pipelineruns

Um bom DevOps passa mais tempo lendo logs do que escrevendo YAML.


Semana 8 — Projeto Final

Monte seu próprio pipeline.

Colete evidências.

Revise links.

Valide nomes de arquivos.

Simule a submissão.

E só então envie.


Dicas de Ouro

  • Faça commits pequenos e frequentes.

  • Nunca envie um pipeline sem executá-lo.

  • Leia cuidadosamente o texto das questões: muitas reprovações acontecem por responder com um link quando era pedido um log, ou vice-versa.

  • Use nomes consistentes para arquivos e Tasks.

  • Guarde capturas de tela e saídas de terminal conforme o laboratório exige.


Easter Eggs Bellacosa Mainframe

  • Bat-Sinal = GitHub Actions: quando há um push, o sinal acende e o pipeline entra em ação.

  • Robin = Jest: sempre conferindo se Batman não esqueceu de testar.

  • Alfred = ESLint: discreto, elegante e sempre apontando os pequenos defeitos antes que virem um desastre.

  • Comissário Gordon = OpenShift Console: mostra a situação da cidade (ou do cluster) em tempo real.

  • Batmóvel = PipelineRun: é ele que coloca toda a operação em movimento.

  • Caverna do Batman = Data Center: cheia de equipamentos, monitores e automação.

  • Coringa = Deploy direto em produção sem testes: divertido por alguns segundos... até tudo explodir.



A Grande Lição

O curso de CI/CD ensina ferramentas, mas a verdadeira habilidade adquirida é pensar em automação, repetibilidade e qualidade.

Para um programador COBOL, isso não é um mundo totalmente novo. É uma evolução natural de conceitos que já existem há décadas em ambientes corporativos: execução em etapas, validações, logs, artefatos, controle de versões e disciplina operacional.

Quando você percebe isso, GitHub Actions deixa de ser uma novidade assustadora. Tekton deixa de parecer um enigma. YAML deixa de ser apenas uma linguagem cheia de espaços.

Você passa a enxergar que, por trás das tecnologias modernas, continuam existindo os mesmos princípios que fizeram o mainframe sobreviver por mais de sessenta anos: planejamento, confiabilidade, automação e controle.

E talvez seja esse o maior "POW!", "BAM!" e "ZAP!" desta aventura: descobrir que o herói nunca foi a ferramenta. O verdadeiro herói sempre foi o profissional que entende o processo inteiro e faz com que ele funcione de forma previsível, segura e elegante — seja em um terminal 3270, em um pipeline do GitHub Actions ou em um cluster OpenShift.


quinta-feira, 17 de julho de 2014

🚀 CI/CD & DevOps

 

Bellacosa Mainframe apresenta CI CD e DEVOPS 

🚀 CI/CD & DevOps

Uma análise Bellacosa Mainframe (com história, bastidores e verdades inconvenientes)

“Automatize tudo. O que sobrar, automatize de novo.”
— Filosofia não oficial do DevOps

CI/CD não é moda, não é ferramenta, não é YAML bonito no GitHub.
É mudança cultural, redução de sofrimento humano e, principalmente, fim do deploy manual de sexta-feira às 18h.


🧠 CI e CD: irmãos, não gêmeos

🔁 Continuous Integration (CI)

CI nasceu para resolver um problema clássico:

“Funciona na minha máquina.”

CI é integração contínua de código, feita com:

  • branches curtas

  • commits frequentes

  • pull requests pequenos

  • testes automáticos

👉 Resultado?
Menos conflito, menos retrabalho e menos ódio entre desenvolvedores.

📌 Fases clássicas da CI

  • Plan – o que vamos fazer

  • Code – escrever o código

  • Build – compilar / empacotar

  • Test – validar automaticamente

💡 Dica Bellacosa:
Se seu pipeline de CI demora mais que um café passado na hora… algo está errado


🚚 Continuous Delivery (CD)

CD entra depois da CI, quando o código já funciona.

CD garante que:

  • o software esteja sempre pronto para produção

  • o deploy seja repetível, confiável e sem drama

  • humanos não fiquem clicando “Next, Next, Finish”

📌 Fases clássicas da CD

  • Release – versionamento

  • Deploy – entrega automatizada

  • Operate – operação e monitoramento

⚠️ Atenção:
CD ≠ Continuous Deployment

  • Delivery: pronto para produção

  • Deployment: vai direto para produção (sem pedir bênção)


🧬 CI/CD como código: o YAML que manda na sua vida

Quando pipelines viram código:

  • versionamento acontece

  • rollback fica fácil

  • auditoria fica feliz

🧾 GitHub Actions

📅 Lançamento: novembro de 2019

  • Já vem em todo repositório GitHub

  • Usa YAML

  • Marketplace recheado de actions prontas

📂 Estrutura clássica:

.github/ └── workflows/ └── pipeline.yml

💬 Comentário Bellacosa:
“Pipeline que não está versionado é script secreto de sysadmin disfarçado.”


🧑‍🤝‍🧑 Social Coding: menos ego, mais qualidade

CI/CD só funciona bem quando:

  • pull requests são pequenos

  • revisão é colaborativa

  • erro vira aprendizado, não caça às bruxas

📈 Benefícios reais:

  • código melhor

  • menos bugs em produção

  • mais confiança no deploy

🧠 Curiosidade:
Empresas que adotam CI de verdade fazem deploy dezenas de vezes por dia.
Quem não adota… faz change freeze 😬


🧱 Infraestrutura como Código (IaC)

📅 Conceito popularizado: ~2011 (com Puppet, Chef, depois Terraform)

IaC permite:

  • subir ambientes em minutos

  • destruir tudo e recriar sem chorar

  • versionar infraestrutura

💡 Dica de ouro:
Se você não consegue recriar seu ambiente do zero… você não controla seu ambiente.


⚙️ Tekton: CI/CD raiz, Kubernetes feelings

📅 Lançamento: 2018 (Knative Build → Tekton)

Tekton é:

  • CI/CD nativo Kubernetes

  • Declarativo

  • Baseado em CRDs

🧩 Conceitos-chave

  • Task – unidade de trabalho

  • Pipeline – encadeamento

  • Step – comando

  • Trigger – evento externo

  • PipelineRun – execução real

💬 Fofoquinha técnica:
Tekton é poderoso, mas não é para iniciantes.
Quem aprende… vira referência. Quem não aprende… chama de “complicado demais”.


🔄 GitOps & Argo CD: Git manda, cluster obedece

📅 Argo CD: 2018

GitOps segue um princípio simples:

“Se não está no Git, não existe.”

Argo CD:

  • observa o Git

  • compara com o cluster

  • reconcilia automaticamente

🔥 Easter Egg GitOps:
Deletou algo no cluster manualmente?
O Argo recria… sem pedir desculpa 😈


☁️ OpenShift Pipelines & GitOps

OpenShift:

  • integra Tekton nativamente

  • facilita CI/CD corporativo

  • conversa bem com Argo CD

📌 Padrões GitOps suportados:

  • On-Cluster Reconciler

  • External Reconciler

💬 Comentário Bellacosa:
Mainframe tinha controle, rastreabilidade e auditoria antes de ser cool.
DevOps só deu nome bonito.


🔐 Compliance contínua: segurança sem freio de mão

Pipeline moderno inclui:

  • scan de código

  • scan de imagem

  • gestão de segredos

  • trilha de auditoria

💡 Dica de sobrevivência:
Segurança manual não escala.
Compliance contínua sim.


🧨 Verdades inconvenientes (Bellacosa Edition)

  • Ferramenta não salva cultura ruim

  • CI quebrado diariamente não é CI

  • Pipeline lento é gargalo oculto

  • Deploy manual é dívida técnica

  • YAML sem comentário é armadilha futura


🧠 Conclusão Bellacosa Mainframe

CI/CD não é sobre:
❌ Jenkins
❌ GitHub Actions
❌ Tekton
❌ Argo CD

É sobre:
✅ previsibilidade
✅ automação
✅ qualidade
✅ confiança
✅ dormir tranquilo após o deploy

“O melhor deploy é aquele que ninguém percebe.”



Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...