Jenkins 2, de onde veio e
para onde vai
Fernando Boaglio
@boaglio
Quem é Fernando Boaglio?
Passado (2004)
Quem é Kohsuke Kawaguchi ?
- Funcionário da Sun
- Gostava de Lego
- Programava em Java
- Queria programar em Java EE
- Gostava de programar projeto Open
Source
- No seu dia dia tinha um problema... @kohsukekawa
O dia a dia do programador...
O problema...
Kohsuke era o cara que quebrava o build toda hora !
O desafio...
E queria escrever um programa que descobrisse que o build
estava quebrado antes dos colegas dele!
Nasce o projeto Hudson em 2004
Hudson introduz alguns conceitos
Job – tarefa configurada no Jenkins
(app web)
Build – a execução de uma tarefa (gerar pacote)
Artefato – é o resultado de um build (o pacote WAR)
Executor – são as threads que rodam os jobs
Workspace – área de trabalho de cada job (arquivos)
Slaves – serviços remotos que se integram ao
Hudsdon
Hudson controlando builds
Hudson ganha prêmios (2008)
Oracle compra Sun em 2009
Hudson como marca registrada
(2011)
Jenkins 1.x
Jenkins 1.x
●
existe há mais de 15 anos no mercado
●
1000+ plugins para suportar construção
●
build e testes de “qualquer” tipo de projeto
●
2011 Kohsuke Kawaguchi recebeu o prêmio
Google-O'Reilly Open Source Award.
Pipelines no Jenkins 1.x
●
Gera pacote WAR
●
Armazena no Artifactory
●
Atualiza base de dados aceite (flyway)
●
Deploy em aceite
●
Atualiza base de dados produção (flyway)
●
Deploy em produção
Meetups de Jenkins
Livros de Jenkins
Mas o Jenkins 1.x tinha problemas
●
Instalação inicial complicada
●
Muito trabalhoso duplicar pipeline
●
Segurança padrão muito “aberta”
Presente
Jenkins 2.x
●
100% compatível com
Jenkins 1.x
●
Interface melhorada
●
Suporte nativo ao pipeline
●
Pipeline como código -
Jenkinsfile
Jenkins 2.x – exemplo de pipeline
E para criar um plugin no Jenkins ?
Jenkins não usa banco de dados
Passo 1 de 3 – criar de um template
Passo 2 de 3 – Desenhe a tela
- Jelly transforma um XML em um código executável (Jelly)
- XML cuidará do input de dados
Passo 3 de 3 – Codifique a lógica
- Use a API do Jenkins
- E finalmente publique na conta do Github do Jenkins
Como criei um novo plugin
https://github.com/jenkinsci/sqlplus-script-runner-plugin
●
Dos mais de 1000 plugins existentes, não tinha
nenhum que suportasse o Oracle SQL*Plus
●
Facilidade de implementação
●
Depois de criado, o plugin foi incorporado ao
projeto Jenkins CI
SQLPlus Script Runner Plugin
SQLPlus Script Runner Plugin
SQLPlus Script Runner Plugin
https://plugins.jenkins.io/sqlplus-script-runner
E o futuro ?
Futuro - Projeto Blue Ocean
Futuro - Projeto Blue Ocean
Teste o Blue Ocean instalando o seu plugin
Futuro - Projeto Jenkins X
Jenkins com Kubernetes
focado em cloud
https://jenkins-x.io
Futuro - Projeto Jenkins X
https://jenkins-x.io
Futuro - Projeto Jenkins X
https://jenkins-x.io
Futuro – perguntei ao mestre!
Futuro - Machine Learning
“Jenkins pode ser útil para
treinar um modelo”
Obrigado!
@boaglio
http://boaglio.com
https://www.casadocodigo.com.br/products/livro-jenkins

Jenkins, de onde veio e para onde vai