SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Jocsa Rosendo
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao DockerRafael Dutra
 
Introdução ao Flyway
Introdução ao FlywayIntrodução ao Flyway
Introdução ao FlywayJadson Santos
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeRafael Benevides
 
Evoluindo bancos de dados com Flyway
Evoluindo bancos de dados com FlywayEvoluindo bancos de dados com Flyway
Evoluindo bancos de dados com FlywayVitor Albuquerque
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerStefan Teixeira
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 

Tendances (15)

Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao Docker
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Introdução ao Flyway
Introdução ao FlywayIntrodução ao Flyway
Introdução ao Flyway
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpike
 
Gradle
GradleGradle
Gradle
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
Evoluindo bancos de dados com Flyway
Evoluindo bancos de dados com FlywayEvoluindo bancos de dados com Flyway
Evoluindo bancos de dados com Flyway
 
Maven 2
Maven 2Maven 2
Maven 2
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 

Similaire à Jenkins 2, de onde veio e para onde vai

Jenkins por dentro e por fora
Jenkins por dentro e por fora Jenkins por dentro e por fora
Jenkins por dentro e por fora Fernando Boaglio
 
Modernizando projetos legados usando APIs
Modernizando projetos legados usando APIsModernizando projetos legados usando APIs
Modernizando projetos legados usando APIsElton Minetto
 
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Fernando Boaglio
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com JenkinsAécio Pires
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoRegis Magalhães
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresCarlos Andre Fernandes
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo JavaTI Infnet
 
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Bruno Grange
 
Introdução ao Java_14Agosto2012.pdf
Introdução ao Java_14Agosto2012.pdfIntrodução ao Java_14Agosto2012.pdf
Introdução ao Java_14Agosto2012.pdfRubenManhia
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes Rhuan Karlus Silva
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispors4nx
 
SVN Básico
SVN BásicoSVN Básico
SVN BásicoCJR, UnB
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: IntroduçãoJugVale
 

Similaire à Jenkins 2, de onde veio e para onde vai (20)

Jenkins por dentro e por fora
Jenkins por dentro e por fora Jenkins por dentro e por fora
Jenkins por dentro e por fora
 
Modernizando projetos legados usando APIs
Modernizando projetos legados usando APIsModernizando projetos legados usando APIs
Modernizando projetos legados usando APIs
 
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Docker
DockerDocker
Docker
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral Resumo
 
Workshop - Jenkins
Workshop - JenkinsWorkshop - Jenkins
Workshop - Jenkins
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhores
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
 
Node JS - Parte 1
Node JS - Parte 1Node JS - Parte 1
Node JS - Parte 1
 
Introdução ao Java_14Agosto2012.pdf
Introdução ao Java_14Agosto2012.pdfIntrodução ao Java_14Agosto2012.pdf
Introdução ao Java_14Agosto2012.pdf
 
Apresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache MavenApresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache Maven
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispor
 
SVN Básico
SVN BásicoSVN Básico
SVN Básico
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: Introdução
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
 

Plus de Fernando Boaglio

O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway Fernando Boaglio
 
Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Fernando Boaglio
 
3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhorFernando Boaglio
 
Nao perca tempo com bancos de dados relacionais, use mongo db
Nao perca tempo com bancos de dados relacionais,   use mongo dbNao perca tempo com bancos de dados relacionais,   use mongo db
Nao perca tempo com bancos de dados relacionais, use mongo dbFernando Boaglio
 
6 mitos de projetos open source para Java
6 mitos de projetos open source para Java6 mitos de projetos open source para Java
6 mitos de projetos open source para JavaFernando Boaglio
 
MongoDB com Java - GUOB 2018
MongoDB com Java  - GUOB  2018MongoDB com Java  - GUOB  2018
MongoDB com Java - GUOB 2018Fernando Boaglio
 
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC20185 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018Fernando Boaglio
 
Katalon,o Selenium fácil
Katalon,o Selenium fácil Katalon,o Selenium fácil
Katalon,o Selenium fácil Fernando Boaglio
 
SAP Hybris e SAP HANA - o que dá para usar?
 SAP Hybris e SAP HANA - o que dá para usar?  SAP Hybris e SAP HANA - o que dá para usar?
SAP Hybris e SAP HANA - o que dá para usar? Fernando Boaglio
 
MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJavaFernando Boaglio
 
Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Fernando Boaglio
 
Aumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootAumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootFernando Boaglio
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaFernando Boaglio
 

Plus de Fernando Boaglio (20)

Rinha de Back-end 2023
Rinha de Back-end 2023Rinha de Back-end 2023
Rinha de Back-end 2023
 
Java Meetup SP
Java Meetup SP Java Meetup SP
Java Meetup SP
 
Testando jwebserver
Testando jwebserver Testando jwebserver
Testando jwebserver
 
Novidades Spring 2021
Novidades Spring 2021Novidades Spring 2021
Novidades Spring 2021
 
O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway
 
Retrospectiva Java 2019
Retrospectiva Java 2019Retrospectiva Java 2019
Retrospectiva Java 2019
 
Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019
 
3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor
 
Java Meetup SP intro
Java Meetup SP  introJava Meetup SP  intro
Java Meetup SP intro
 
Nao perca tempo com bancos de dados relacionais, use mongo db
Nao perca tempo com bancos de dados relacionais,   use mongo dbNao perca tempo com bancos de dados relacionais,   use mongo db
Nao perca tempo com bancos de dados relacionais, use mongo db
 
6 mitos de projetos open source para Java
6 mitos de projetos open source para Java6 mitos de projetos open source para Java
6 mitos de projetos open source para Java
 
Java Meetup SP intro
Java Meetup SP introJava Meetup SP intro
Java Meetup SP intro
 
MongoDB com Java - GUOB 2018
MongoDB com Java  - GUOB  2018MongoDB com Java  - GUOB  2018
MongoDB com Java - GUOB 2018
 
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC20185 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
 
Katalon,o Selenium fácil
Katalon,o Selenium fácil Katalon,o Selenium fácil
Katalon,o Selenium fácil
 
SAP Hybris e SAP HANA - o que dá para usar?
 SAP Hybris e SAP HANA - o que dá para usar?  SAP Hybris e SAP HANA - o que dá para usar?
SAP Hybris e SAP HANA - o que dá para usar?
 
MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJava
 
Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio
 
Aumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootAumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring Boot
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do Java
 

Jenkins 2, de onde veio e para onde vai