SlideShare a Scribd company logo
1 of 33
Download to read offline
Integração
e Entrega
Contínua
com... Aécio Pires
2
Sobre mim...
http://aeciopires.com
●
Analista de suporte
●
Mestrando em Tecnologia da Informação – IFPB
● Autor nos livros:
A cultura
Palestra: A relação entre o ágil e o DevOps
Marcell Castelo Branco https://www.youtube.com/watch?v=XrRrc37lUzk
Palestra: O poder da abstração: desafios técnicos e culturais do “Ops” para o DevOps
Daniel Requena https://t.co/soyugYTeC3
3
O que é Continuos Integration?
4
“É uma prática que consiste em integrar o
código com maior frequencia, identificar
problemas de integração do código e corrigí-los
mais rapidamente, resultando em menos bugs,
automatização de testes, feedbacks mais
frequentes e entrega mais rápida e confiável do
software.”
John Fergurson Smart
http://shop.oreilly.com/product/0636920010326.do
O que é Continuos Delivery?
5
“É a capacidade de obter alterações de todos os
tipos - incluindo novos recursos, alterações de
configuração, correções de bugs e experimentos
- no ambiente de produção com segurança e
rapidez, de maneira sustentável.”
Jez Humble
https://tinyurl.com/hyqzxve
O que é Continuos Deploy?
6
Pode ser entendido como a
Implantação (Deploy) Contínua
de novas versões do software
no ambiente de produção,
resultante da Integração
Contínua.
A relação entre as etapas...
7
O Continuos Integration e o Continuos
Delivery englobam as etapas envolvidas
desde um commit até a geração da versão
estável e candidata a ser implantada no
ambiente de produção.
O Continuos Deployment requer o pleno
funcionamento do Continuos Integration e
Continuos Delivery.
A relação entre as etapas...
8
ContinuosContinuos
DeliveryDelivery
ContinuosContinuos
IntegrationIntegration
ContinuosContinuos
DeployDeploy
Fonte: https://goo.gl/1Y9NJu
Processo
O que o Jenkins pretende modificar
9
Fonte: https://goo.gl/1Y9NJu
O que é ?
10
É uma ferramenta de Integração Contínua
de código fonte aberto e desenvolvido em
Java.
Pode ser usado para realizar a Integração
Contínua em projetos de diversos
tamanhos e com linguagens e tecnologias
variadas, tais como: .NET, Ruby, Groovy,
Grails, PHP, Python, Java e muito mais.
Características
11
●
Disponível nas versões Release (semanal) e LTS (a cada 12
semanas);
●
Licença MIT e código aberto https://github.com/jenkinsci/jenkins;
●
Mais de 1600 plugins https://plugins.jenkins.io
●
Suporte a Pipeline como código
●
Fácil customização
●
Vários temas disponíveis http://afonsof.com/jenkins-material-theme
●
Documentação: https://jenkins.io/doc
●
Gerencia credenciais de integração com outros sistemas
●
Suporte a Active Directory, LDAP
●
Fácil instalação em várias plataformas https://jenkins.io/download
●
Gratuito
●
Suporte a múltiplos nodes
●
Suporte a múltiplas branches
●
Suporte a linguagem Groovy
●
E muito mais...
●
Mantido pela Cloudbees https://www.cloudbees.com e pela
comunidade de desenvolvedores.
História
12
●
O Jenkins era conhecido pelo nome de Hudson.
●
Foi desenvolvido como um hobby por Kohsuke
Kawaguchi em 2004, quando trabalhava na Sun.
●
Quando a Oracle comprou a Sun em 2009, acabou
herdando a base de código do Hudson.
●
No início de 2011, as tensões entre a Oracle e a
comunidade de desenvolvedores aumentaram e houve
uma ruptura.
●
O projeto foi dividido em dois: o Jenkins, administrado
pela maioria dos desenvolvedores iniciais, e o próprio
Hudson, que permaneceu sob o controle do Oracle.
Configuration as Code - CasC
13
●
Código fonte aberto
https://github.com/jenkinsci/configuration-as-code-plugin
●
Plugin usado para configurar o Jenkins como código, utilizando o padrão
YAML https://pt.wikipedia.org/wiki/YAML
●
Iniciado Set/2017 por Ewelina Wilkosz e mantido também engenheiros de
software da CloudBees e comunidade.
●
Primeira release estável lançada em Set/2018.
●
Mais informações em:
https://goo.gl/S7M7oB
https://www.praqma.com/stories/jenkins-configuration-as-code
https://goo.gl/HM3iur
https://wiki.jenkins.io/display/JENKINS/Configuration+as+Code+Plugin
https://www.cloudbees.com/blog/jenkins-configuration-code-look-ma-no-hand
s
https://www.cloudbees.com/blog/jenkins-configuration-code-migration
https://www.cloudbees.com/blog/jenkins-configuration-code-documentation
https://www.cloudbees.com/blog/jenkins-configuration-code-plugins
https://www.cloudbees.com/blog/jenkins-configuration-code-sensitive-data
https://www.cloudbees.com/blog/jenkins-configuration-code-need-speed
14
Configuration as Code - CasC
Blue Ocean
15
●
Plugin que adiciona dashboards e recursos visuais deixando a
visualização, edição e execução do pipeline mais intuitiva e
elegante.
https://jenkins.io/projects/blueocean
●
Visualizações sofisticadas dos pipelines
●
Editor de pipeline
●
Personalização para atender às necessidades baseadas em
funções de cada membro da equipe de desenvolvimento.
●
Identificação precisa de quando há necessidade de
intervenção ou quando surgem problemas na execução do
pipeline.
●
Integração nativa a branches e pull request
●
A intenção da comunidade do Jenkins e desenvolvedores do
plugin Blue Ocean é que ele ganhe mais melhorias e
funcionalidades para paulatinamente substituir a interface
clássica do Jenkins
●
Documentação: https://jenkins.io/doc/book/blueocean
Blue Ocean
16
Pipeline no Jenkins
17
●
É uma sequência de tarefas automatizadas que podem ser divididas
em etapas e representa uma parte do processo de compilação,
teste, verificação da qualidade do código e entrega do software.
●
Plugin criado em 2017 que permite criar e executar o pipeline como
código.
●
Agrupamento de tarefas em stages
●
Todos os aspectos do processo são visualizados graficamente
●
Feedback: os membros da equipe aprendem sobre qualquer
problema assim que ocorrem
●
Consiste em dois tipos de elementos básicos: stage e step
●
Usa uma sintaxe declarativa simples e compreensível (Jenkinsfile).
●
Documentação:
https://jenkins.io/doc/book/pipeline
https://jenkins.io/doc/book/pipeline/syntax
https://jenkins.io/doc/book/pipeline/jenkinsfile
https://jenkins.io/doc/pipeline/steps
https://jenkins.io/doc/book/pipeline/docker
https://tinyurl.com/y8kgqwl8
Pipeline no Jenkins
18
pipeline {
agent any
stages {
stage('Primeiro stage') {
steps {
echo 'Step 1. Hello
Universe'
}
}
stage('Segundo Stage') {
steps {
echo 'Step 1. Hello World'
echo 'Step 2. Hello Brazil'
}
}
}
}
Pipeline no Jenkins
19
Um caso de uso
Ferramentas usadas no pipeline
20
Sobre o Gogs …
21
“É um sistema web capaz de gerenciar inúmeros repositórios
git para fazer o controle de versão do código fonte de
softwares, semelhante ao GitHub, Gitlab e Bitbucket, mas que
mais simples e leve.“
●
No pipeline, o Gogs é usado para armazenar uma cópia de
todos os códigos usados fontes da aplicação, dockerfiles e
jenkinsfile.
●
O Gogs também envia notificações ao Jenkins sempre que
houver um push, geração de tag ou solicitação de merge
numa determinada branch.
●
A partir dessas notificações, o Jenkins inicia a execução de
uma série de jobs para implementar a integração contínua.
●
Mais informações em: https://gogs.io
Sobre e
22
●
O Apache Maven https://maven.apache.org é
importante para compilar uma aplicação Java,
gerenciando uma série de dependências de pacotes.
●
No pipeline, o Maven é gerado para gerar o pacote da
aplicação Java a ser encapsulado numa imagem Docker.
●
O Sonatype Nexus
https://www.sonatype.com/nexus-repository-oss é um
dos muitos repositórios de pacotes de software, que
serve para armazenar organizadamente cada arquivo
gerado para cada versão da aplicação.
●
No pipeline, o Nexus é usado para armazenar uma cópia
de todos os artefatos gerados com o uso do Apache
Maven.
Sobre o ...
23
●
O SonarQube https://www.sonarqube.org é
sistema de código fonte aberto usado para fazer
a análise contínua da qualidade do código fonte
de uma aplicação. Tem suporte a Java, PHP,
Python, Ruby, C e muitas outras linguagens de
programação.
●
No pipeline, o SonarQube é integrado ao maven
para analisar a qualidade do código fonte e a
cobertura de testes unitários de uma aplicação
web desenvolvida em Java.
Sobre o ...
24
“Platarforma de software que provê o gerenciamento de
conteineres, que encapsulam as dependências
necessárias para executar uma aplicação.”
●
Mais informações em:
http://docker.com
http://blog.aeciopires.com/primeiros-passos-com-docker
●
No pipeline, o Docker é usado para gerar as imagens
Docker, contendo a aplicação web, arquivos de
configuração, script de inicialização e dependências de
software.
●
Além disso, o DockerHub ou Docker Registry pode ser
usado para armazenar as imagens Docker a serem
executadas como conteineres nos ambientes de teste,
homologação e produção.
Sobre o ...
25
“É uma ferramenta que gerencia a infraestrutura como
código provisionando um ambiente completo para
que uma aplicação funcione, seja numa nuvem pública,
privada ou outro serviço externo.”
●
Código fonte aberto:
https://github.com/hashicorp/terraform
●
Suporte a Windows, Linux, MacOS, Solaris, FreeBSD,
OpenBSD.
●
Disponível nas versões Open Source e Enterprise
●
Mais informações em: https://www.terraform.io/docs
A aplicação web
26
●
Desenvolvida em Java, usando SpringBoot e Thymeleaf
●
Um CRUD (Create, Read, Update, Delete)
●
Um formulário simples que recebe e exibe informações do
usuário
●
Desenvolvida por Janaína Militão
https://github.com/janainamilitao/applivro-jenkins
Ciclo da execução do Pipeline
Interações entre aplicações e VMs
27
Jenkins
Master
Node
Slave Prod
Interações entre as VMs
Algumas imagens...
28
Algumas imagens...
29
Algumas imagens...
30
Suporte e Documentação do Jenkins
31
●
Suporte comercial realizado através da CloudBees
https://www.cloudbees.com
●
No Brasil, a Instruct http://instruct.com.br é parceira da CloudBees.
●
Documentação do Jenkins https://jenkins.io/doc
●
Wiki Jenkins https://wiki.jenkins.io
●
Plugins do Jenkins https://plugins.jenkins.io
●
Comunidade JenkinsCI-BR – https://tinyurl.com/bqkbbuw
●
Canais de interação na comunidade internacional:
●
https://jenkins.io/participate
●
https://jenkins.io/chat
●
https://jenkins.io/mailing-lists
●
Jenkins Style Guide https://tinyurl.com/y8kgqwl8
Referências
32
●
Suzie Prince - The Product Managers’ Guide to Continuous Delivery and DevOps
https://goo.gl/1Y9NJu
Obrigado!
33

More Related Content

What's hot

Multi-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with VeleroMulti-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with VeleroKublr
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep diveWinton Winton
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformKangaroot
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformDevOps.com
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSAVMware Tanzu Korea
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployNatale Vinto
 
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...Jitendra Bafna
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys MeetupsVPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys MeetupsAngel Alberici
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefitsAmit Manwade
 
Introduction to Kubernetes and GKE
Introduction to Kubernetes and GKEIntroduction to Kubernetes and GKE
Introduction to Kubernetes and GKEOpsta
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesGabriel Carro
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
Building Repeatable Infrastructure using Terraform
Building Repeatable Infrastructure using TerraformBuilding Repeatable Infrastructure using Terraform
Building Repeatable Infrastructure using TerraformJeeva Chelladhurai
 

What's hot (20)

Multi-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with VeleroMulti-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with Velero
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
OCI_Icons.pptx
OCI_Icons.pptxOCI_Icons.pptx
OCI_Icons.pptx
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
 
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
 
Terraform
TerraformTerraform
Terraform
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Terraform
TerraformTerraform
Terraform
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys MeetupsVPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
 
Introduction to Kubernetes and GKE
Introduction to Kubernetes and GKEIntroduction to Kubernetes and GKE
Introduction to Kubernetes and GKE
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
Dockerfile
Dockerfile Dockerfile
Dockerfile
 
Building Repeatable Infrastructure using Terraform
Building Repeatable Infrastructure using TerraformBuilding Repeatable Infrastructure using Terraform
Building Repeatable Infrastructure using Terraform
 

Similar to Integração contínua com Jenkins

Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...Perforce
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020prafulIQBusiness
 
Devops CI-CD pipeline with Containers
Devops CI-CD pipeline with ContainersDevops CI-CD pipeline with Containers
Devops CI-CD pipeline with ContainersNuSpace
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)yalini97
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayaka V Ladwa
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source John Willis
 
Continous Integration.pptx
Continous Integration.pptxContinous Integration.pptx
Continous Integration.pptxAnuj Sharma
 
Muraliupdatedpersona150716
Muraliupdatedpersona150716Muraliupdatedpersona150716
Muraliupdatedpersona150716Murali Krishna R
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptxVgPolampalli
 
DevSecOps - Security in DevOps
DevSecOps - Security in DevOpsDevSecOps - Security in DevOps
DevSecOps - Security in DevOpsAarno Aukia
 
Pyfest Tunisia 2015 - Python & DevOps
Pyfest Tunisia 2015 - Python & DevOpsPyfest Tunisia 2015 - Python & DevOps
Pyfest Tunisia 2015 - Python & DevOpsAhmed Bessifi
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with DockerAnton Egorov
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07Jorge Hidalgo
 
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...PranavPatil822557
 
CICD_BestPractices.pdf
CICD_BestPractices.pdfCICD_BestPractices.pdf
CICD_BestPractices.pdfmotupalli2
 

Similar to Integração contínua com Jenkins (20)

Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020
 
Devops CI-CD pipeline with Containers
Devops CI-CD pipeline with ContainersDevops CI-CD pipeline with Containers
Devops CI-CD pipeline with Containers
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_years
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
 
Continous Integration.pptx
Continous Integration.pptxContinous Integration.pptx
Continous Integration.pptx
 
Muraliupdatedpersona150716
Muraliupdatedpersona150716Muraliupdatedpersona150716
Muraliupdatedpersona150716
 
Jenkins.pdf
Jenkins.pdfJenkins.pdf
Jenkins.pdf
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptx
 
DevSecOps - Security in DevOps
DevSecOps - Security in DevOpsDevSecOps - Security in DevOps
DevSecOps - Security in DevOps
 
Pyfest Tunisia 2015 - Python & DevOps
Pyfest Tunisia 2015 - Python & DevOpsPyfest Tunisia 2015 - Python & DevOps
Pyfest Tunisia 2015 - Python & DevOps
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with Docker
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
 
Agile Software Development & Tools
Agile Software Development & ToolsAgile Software Development & Tools
Agile Software Development & Tools
 
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
 
KumarDevOpsEngineer
KumarDevOpsEngineerKumarDevOpsEngineer
KumarDevOpsEngineer
 
DevOps-Ebook
DevOps-EbookDevOps-Ebook
DevOps-Ebook
 
CICD_BestPractices.pdf
CICD_BestPractices.pdfCICD_BestPractices.pdf
CICD_BestPractices.pdf
 

More from Aécio Pires

Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasAécio Pires
 
Configuração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeConfiguração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeAécio Pires
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackAécio Pires
 
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
 
Zabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerZabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerAécio Pires
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackAécio Pires
 
Management Zabbix with Terraform
Management Zabbix with TerraformManagement Zabbix with Terraform
Management Zabbix with TerraformAécio Pires
 
Salada mista com: Zabbix, Puppet e Docker
Salada mista com: Zabbix, Puppet e DockerSalada mista com: Zabbix, Puppet e Docker
Salada mista com: Zabbix, Puppet e DockerAécio Pires
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
Monitoring Cast 1: Puppet & Zabbix
Monitoring Cast 1: Puppet & ZabbixMonitoring Cast 1: Puppet & Zabbix
Monitoring Cast 1: Puppet & ZabbixAécio Pires
 
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetGerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetAécio Pires
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com GrafanaAécio Pires
 
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IZabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IAécio Pires
 
Lançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBLançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBAécio Pires
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Aécio Pires
 
Artigo: Aplicando recomendações de segurança na instalação do Zabbix
Artigo: Aplicando recomendações de segurança na instalação do ZabbixArtigo: Aplicando recomendações de segurança na instalação do Zabbix
Artigo: Aplicando recomendações de segurança na instalação do ZabbixAécio Pires
 
Zabbix 2.0: o que ele pode monitorar na sua rede?
Zabbix 2.0: o que ele pode monitorar na sua rede?Zabbix 2.0: o que ele pode monitorar na sua rede?
Zabbix 2.0: o que ele pode monitorar na sua rede?Aécio Pires
 
Apresentação sobre Zabbix na iDEZ 2012
Apresentação sobre Zabbix na iDEZ 2012Apresentação sobre Zabbix na iDEZ 2012
Apresentação sobre Zabbix na iDEZ 2012Aécio Pires
 

More from Aécio Pires (20)

Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps Campinas
 
Configuração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeConfiguração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as code
 
Zabbix BR 2020
Zabbix BR 2020Zabbix BR 2020
Zabbix BR 2020
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStack
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Zabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerZabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres Docker
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStack
 
Management Zabbix with Terraform
Management Zabbix with TerraformManagement Zabbix with Terraform
Management Zabbix with Terraform
 
Salada mista com: Zabbix, Puppet e Docker
Salada mista com: Zabbix, Puppet e DockerSalada mista com: Zabbix, Puppet e Docker
Salada mista com: Zabbix, Puppet e Docker
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Monitoring Cast 1: Puppet & Zabbix
Monitoring Cast 1: Puppet & ZabbixMonitoring Cast 1: Puppet & Zabbix
Monitoring Cast 1: Puppet & Zabbix
 
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetGerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com Grafana
 
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IZabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
 
Lançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBLançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPB
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
 
Artigo: Aplicando recomendações de segurança na instalação do Zabbix
Artigo: Aplicando recomendações de segurança na instalação do ZabbixArtigo: Aplicando recomendações de segurança na instalação do Zabbix
Artigo: Aplicando recomendações de segurança na instalação do Zabbix
 
Zabbix 2.0: o que ele pode monitorar na sua rede?
Zabbix 2.0: o que ele pode monitorar na sua rede?Zabbix 2.0: o que ele pode monitorar na sua rede?
Zabbix 2.0: o que ele pode monitorar na sua rede?
 
Apresentação sobre Zabbix na iDEZ 2012
Apresentação sobre Zabbix na iDEZ 2012Apresentação sobre Zabbix na iDEZ 2012
Apresentação sobre Zabbix na iDEZ 2012
 

Recently uploaded

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Recently uploaded (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

Integração contínua com Jenkins

  • 2. 2 Sobre mim... http://aeciopires.com ● Analista de suporte ● Mestrando em Tecnologia da Informação – IFPB ● Autor nos livros:
  • 3. A cultura Palestra: A relação entre o ágil e o DevOps Marcell Castelo Branco https://www.youtube.com/watch?v=XrRrc37lUzk Palestra: O poder da abstração: desafios técnicos e culturais do “Ops” para o DevOps Daniel Requena https://t.co/soyugYTeC3 3
  • 4. O que é Continuos Integration? 4 “É uma prática que consiste em integrar o código com maior frequencia, identificar problemas de integração do código e corrigí-los mais rapidamente, resultando em menos bugs, automatização de testes, feedbacks mais frequentes e entrega mais rápida e confiável do software.” John Fergurson Smart http://shop.oreilly.com/product/0636920010326.do
  • 5. O que é Continuos Delivery? 5 “É a capacidade de obter alterações de todos os tipos - incluindo novos recursos, alterações de configuração, correções de bugs e experimentos - no ambiente de produção com segurança e rapidez, de maneira sustentável.” Jez Humble https://tinyurl.com/hyqzxve
  • 6. O que é Continuos Deploy? 6 Pode ser entendido como a Implantação (Deploy) Contínua de novas versões do software no ambiente de produção, resultante da Integração Contínua.
  • 7. A relação entre as etapas... 7 O Continuos Integration e o Continuos Delivery englobam as etapas envolvidas desde um commit até a geração da versão estável e candidata a ser implantada no ambiente de produção. O Continuos Deployment requer o pleno funcionamento do Continuos Integration e Continuos Delivery.
  • 8. A relação entre as etapas... 8 ContinuosContinuos DeliveryDelivery ContinuosContinuos IntegrationIntegration ContinuosContinuos DeployDeploy Fonte: https://goo.gl/1Y9NJu
  • 9. Processo O que o Jenkins pretende modificar 9 Fonte: https://goo.gl/1Y9NJu
  • 10. O que é ? 10 É uma ferramenta de Integração Contínua de código fonte aberto e desenvolvido em Java. Pode ser usado para realizar a Integração Contínua em projetos de diversos tamanhos e com linguagens e tecnologias variadas, tais como: .NET, Ruby, Groovy, Grails, PHP, Python, Java e muito mais.
  • 11. Características 11 ● Disponível nas versões Release (semanal) e LTS (a cada 12 semanas); ● Licença MIT e código aberto https://github.com/jenkinsci/jenkins; ● Mais de 1600 plugins https://plugins.jenkins.io ● Suporte a Pipeline como código ● Fácil customização ● Vários temas disponíveis http://afonsof.com/jenkins-material-theme ● Documentação: https://jenkins.io/doc ● Gerencia credenciais de integração com outros sistemas ● Suporte a Active Directory, LDAP ● Fácil instalação em várias plataformas https://jenkins.io/download ● Gratuito ● Suporte a múltiplos nodes ● Suporte a múltiplas branches ● Suporte a linguagem Groovy ● E muito mais... ● Mantido pela Cloudbees https://www.cloudbees.com e pela comunidade de desenvolvedores.
  • 12. História 12 ● O Jenkins era conhecido pelo nome de Hudson. ● Foi desenvolvido como um hobby por Kohsuke Kawaguchi em 2004, quando trabalhava na Sun. ● Quando a Oracle comprou a Sun em 2009, acabou herdando a base de código do Hudson. ● No início de 2011, as tensões entre a Oracle e a comunidade de desenvolvedores aumentaram e houve uma ruptura. ● O projeto foi dividido em dois: o Jenkins, administrado pela maioria dos desenvolvedores iniciais, e o próprio Hudson, que permaneceu sob o controle do Oracle.
  • 13. Configuration as Code - CasC 13 ● Código fonte aberto https://github.com/jenkinsci/configuration-as-code-plugin ● Plugin usado para configurar o Jenkins como código, utilizando o padrão YAML https://pt.wikipedia.org/wiki/YAML ● Iniciado Set/2017 por Ewelina Wilkosz e mantido também engenheiros de software da CloudBees e comunidade. ● Primeira release estável lançada em Set/2018. ● Mais informações em: https://goo.gl/S7M7oB https://www.praqma.com/stories/jenkins-configuration-as-code https://goo.gl/HM3iur https://wiki.jenkins.io/display/JENKINS/Configuration+as+Code+Plugin https://www.cloudbees.com/blog/jenkins-configuration-code-look-ma-no-hand s https://www.cloudbees.com/blog/jenkins-configuration-code-migration https://www.cloudbees.com/blog/jenkins-configuration-code-documentation https://www.cloudbees.com/blog/jenkins-configuration-code-plugins https://www.cloudbees.com/blog/jenkins-configuration-code-sensitive-data https://www.cloudbees.com/blog/jenkins-configuration-code-need-speed
  • 15. Blue Ocean 15 ● Plugin que adiciona dashboards e recursos visuais deixando a visualização, edição e execução do pipeline mais intuitiva e elegante. https://jenkins.io/projects/blueocean ● Visualizações sofisticadas dos pipelines ● Editor de pipeline ● Personalização para atender às necessidades baseadas em funções de cada membro da equipe de desenvolvimento. ● Identificação precisa de quando há necessidade de intervenção ou quando surgem problemas na execução do pipeline. ● Integração nativa a branches e pull request ● A intenção da comunidade do Jenkins e desenvolvedores do plugin Blue Ocean é que ele ganhe mais melhorias e funcionalidades para paulatinamente substituir a interface clássica do Jenkins ● Documentação: https://jenkins.io/doc/book/blueocean
  • 17. Pipeline no Jenkins 17 ● É uma sequência de tarefas automatizadas que podem ser divididas em etapas e representa uma parte do processo de compilação, teste, verificação da qualidade do código e entrega do software. ● Plugin criado em 2017 que permite criar e executar o pipeline como código. ● Agrupamento de tarefas em stages ● Todos os aspectos do processo são visualizados graficamente ● Feedback: os membros da equipe aprendem sobre qualquer problema assim que ocorrem ● Consiste em dois tipos de elementos básicos: stage e step ● Usa uma sintaxe declarativa simples e compreensível (Jenkinsfile). ● Documentação: https://jenkins.io/doc/book/pipeline https://jenkins.io/doc/book/pipeline/syntax https://jenkins.io/doc/book/pipeline/jenkinsfile https://jenkins.io/doc/pipeline/steps https://jenkins.io/doc/book/pipeline/docker https://tinyurl.com/y8kgqwl8
  • 18. Pipeline no Jenkins 18 pipeline { agent any stages { stage('Primeiro stage') { steps { echo 'Step 1. Hello Universe' } } stage('Segundo Stage') { steps { echo 'Step 1. Hello World' echo 'Step 2. Hello Brazil' } } } }
  • 20. Um caso de uso Ferramentas usadas no pipeline 20
  • 21. Sobre o Gogs … 21 “É um sistema web capaz de gerenciar inúmeros repositórios git para fazer o controle de versão do código fonte de softwares, semelhante ao GitHub, Gitlab e Bitbucket, mas que mais simples e leve.“ ● No pipeline, o Gogs é usado para armazenar uma cópia de todos os códigos usados fontes da aplicação, dockerfiles e jenkinsfile. ● O Gogs também envia notificações ao Jenkins sempre que houver um push, geração de tag ou solicitação de merge numa determinada branch. ● A partir dessas notificações, o Jenkins inicia a execução de uma série de jobs para implementar a integração contínua. ● Mais informações em: https://gogs.io
  • 22. Sobre e 22 ● O Apache Maven https://maven.apache.org é importante para compilar uma aplicação Java, gerenciando uma série de dependências de pacotes. ● No pipeline, o Maven é gerado para gerar o pacote da aplicação Java a ser encapsulado numa imagem Docker. ● O Sonatype Nexus https://www.sonatype.com/nexus-repository-oss é um dos muitos repositórios de pacotes de software, que serve para armazenar organizadamente cada arquivo gerado para cada versão da aplicação. ● No pipeline, o Nexus é usado para armazenar uma cópia de todos os artefatos gerados com o uso do Apache Maven.
  • 23. Sobre o ... 23 ● O SonarQube https://www.sonarqube.org é sistema de código fonte aberto usado para fazer a análise contínua da qualidade do código fonte de uma aplicação. Tem suporte a Java, PHP, Python, Ruby, C e muitas outras linguagens de programação. ● No pipeline, o SonarQube é integrado ao maven para analisar a qualidade do código fonte e a cobertura de testes unitários de uma aplicação web desenvolvida em Java.
  • 24. Sobre o ... 24 “Platarforma de software que provê o gerenciamento de conteineres, que encapsulam as dependências necessárias para executar uma aplicação.” ● Mais informações em: http://docker.com http://blog.aeciopires.com/primeiros-passos-com-docker ● No pipeline, o Docker é usado para gerar as imagens Docker, contendo a aplicação web, arquivos de configuração, script de inicialização e dependências de software. ● Além disso, o DockerHub ou Docker Registry pode ser usado para armazenar as imagens Docker a serem executadas como conteineres nos ambientes de teste, homologação e produção.
  • 25. Sobre o ... 25 “É uma ferramenta que gerencia a infraestrutura como código provisionando um ambiente completo para que uma aplicação funcione, seja numa nuvem pública, privada ou outro serviço externo.” ● Código fonte aberto: https://github.com/hashicorp/terraform ● Suporte a Windows, Linux, MacOS, Solaris, FreeBSD, OpenBSD. ● Disponível nas versões Open Source e Enterprise ● Mais informações em: https://www.terraform.io/docs
  • 26. A aplicação web 26 ● Desenvolvida em Java, usando SpringBoot e Thymeleaf ● Um CRUD (Create, Read, Update, Delete) ● Um formulário simples que recebe e exibe informações do usuário ● Desenvolvida por Janaína Militão https://github.com/janainamilitao/applivro-jenkins
  • 27. Ciclo da execução do Pipeline Interações entre aplicações e VMs 27 Jenkins Master Node Slave Prod Interações entre as VMs
  • 31. Suporte e Documentação do Jenkins 31 ● Suporte comercial realizado através da CloudBees https://www.cloudbees.com ● No Brasil, a Instruct http://instruct.com.br é parceira da CloudBees. ● Documentação do Jenkins https://jenkins.io/doc ● Wiki Jenkins https://wiki.jenkins.io ● Plugins do Jenkins https://plugins.jenkins.io ● Comunidade JenkinsCI-BR – https://tinyurl.com/bqkbbuw ● Canais de interação na comunidade internacional: ● https://jenkins.io/participate ● https://jenkins.io/chat ● https://jenkins.io/mailing-lists ● Jenkins Style Guide https://tinyurl.com/y8kgqwl8
  • 32. Referências 32 ● Suzie Prince - The Product Managers’ Guide to Continuous Delivery and DevOps https://goo.gl/1Y9NJu