Jenkins: Automatize tudo sem complicações
()
Sobre este e-book
Neste livro, Fernando Boaglio apresenta os conceitos fundamentais do Jenkins, com estratégias de orquestração, conceito de slaves, deploys, customizações e a utilização dos plugins mais importantes. Entenda como ele funciona internamente e aprenda a construir plugins para estender as funcionalidades dessa incrível ferramenta de integração contínua.
O Jenkins 2 mudou bastante, está bem diferente do Jenkins 1, e o livro também foi totalmente reescrito para se adaptar às ótimas novidades, como: instalador melhorado, configurações de acesso mais seguras, uso do Jenkinsfile, que possibilita escrever um pipeline inteiro no formato de código, o projeto Blue Ocean, que dá um visual completamente novo ao Jenkins.
Foram adicionados novos capítulos também para notificações via email e Slack, além de adaptar todas as instalações feitas no livro a utilizar os contêineres Docker.
Leia mais títulos de Fernando Boaglio
Spring Boot: Acelere o desenvolvimento de microsserviços Nota: 0 de 5 estrelas0 notasMongoDB: Construa novas aplicações com novas tecnologias Nota: 0 de 5 estrelas0 notasPlay Framework: Java para web sem Servlets e com diversão Nota: 0 de 5 estrelas0 notas
Relacionado a Jenkins
Ebooks relacionados
Caixa de Ferramentas DevOps: Um guia para construção, administração e arquitetura de sistemas modernos Nota: 0 de 5 estrelas0 notasEntrega contínua em Android: Como automatizar a distribuição de apps Nota: 0 de 5 estrelas0 notasCanivete suíço do desenvolvedor Node Nota: 0 de 5 estrelas0 notasCertificação Linux: Guia prático para a prova LPIC-1 101 Nota: 0 de 5 estrelas0 notasVire o jogo com Spring Framework Nota: 0 de 5 estrelas0 notasRSpec: Crie especificações executáveis em Ruby Nota: 0 de 5 estrelas0 notasDesign Patterns com PHP 7: Desenvolva com as melhores soluções Nota: 5 de 5 estrelas5/5Programação Funcional: Uma introdução em Clojure Nota: 4 de 5 estrelas4/5Kubernetes: Tudo sobre orquestração de contêineres Nota: 5 de 5 estrelas5/5JavaScript Assertivo: Testes e qualidade de código em todas as camadas da aplicação Nota: 0 de 5 estrelas0 notasAplicações Java para a web com JSF e JPA Nota: 0 de 5 estrelas0 notasApache Kafka e Spring Boot: Comunicação assíncrona entre microsserviços Nota: 0 de 5 estrelas0 notasAzure: Coloque suas plataformas e serviços no cloud Nota: 0 de 5 estrelas0 notasArquitetura de software distribuído: Boas práticas para um mundo de microsserviços Nota: 0 de 5 estrelas0 notasDo PHP ao Laminas: Domine as boas práticas Nota: 3 de 5 estrelas3/5Explorando APIs e bibliotecas Java: JDBC, IO, Threads, JavaFX e mais Nota: 0 de 5 estrelas0 notasDesconstruindo a Web: As tecnologias por trás de uma requisição Nota: 0 de 5 estrelas0 notasSwift: Programe para iPhone e iPad Nota: 0 de 5 estrelas0 notaseXtreme Programming: Práticas para o dia a dia no desenvolvimento ágil de software Nota: 0 de 5 estrelas0 notasGuia prático de TypeScript: Melhore suas aplicações JavaScript Nota: 0 de 5 estrelas0 notasSelenium WebDriver: Descomplicando testes automatizados com Java Nota: 5 de 5 estrelas5/5Front-end com Vue.js: Da teoria à prática sem complicações Nota: 5 de 5 estrelas5/5Programação Para Internet Nota: 0 de 5 estrelas0 notasVue.js: Construa aplicações incríveis Nota: 0 de 5 estrelas0 notasO retorno do cangaceiro JavaScript: De padrões a uma abordagem funcional Nota: 0 de 5 estrelas0 notasJSF Eficaz: As melhores práticas para o desenvolvedor web Java Nota: 0 de 5 estrelas0 notasColetânea Front-end: Uma antologia da comunidade front-end brasileira Nota: 0 de 5 estrelas0 notasDesbravando SOLID: Práticas avançadas para códigos de qualidade em Java moderno Nota: 5 de 5 estrelas5/5Spring MVC: Domine o principal framework web Java Nota: 0 de 5 estrelas0 notasMicrosserviços e EJB: Escale sua aplicação, não a complexidade Nota: 0 de 5 estrelas0 notas
Desenvolvimento e Engenharia de Software para você
Dominando Trafego Nas Redes Sociais Nota: 4 de 5 estrelas4/5Python Progressivo Nota: 5 de 5 estrelas5/5Ganhe Dinheiro Criando Um Jogo Para Celular Nota: 0 de 5 estrelas0 notasCSS Eficiente: Técnicas e ferramentas que fazem a diferença nos seus estilos Nota: 0 de 5 estrelas0 notasDjango de A a Z: Crie aplicações web rápidas, seguras e escaláveis com Python Nota: 0 de 5 estrelas0 notasYoutube: Aprenda A Viver Do Youtube: Guia Completo Nota: 5 de 5 estrelas5/5Scrum: Gestão ágil para produtos de sucesso Nota: 0 de 5 estrelas0 notasHtml+css Progressivo Nota: 0 de 5 estrelas0 notasIntrodução à Computação em Nuvem Nota: 0 de 5 estrelas0 notasPHP e Laravel: Crie aplicações web como um verdadeiro artesão Nota: 0 de 5 estrelas0 notasAutocad & Desenho Técnico Nota: 0 de 5 estrelas0 notasLiderança de produtos digitais: A ciência e a arte da gestão de times de produto Nota: 0 de 5 estrelas0 notasFront-end com Vue.js: Da teoria à prática sem complicações Nota: 5 de 5 estrelas5/5Gerenciamento de Projetos de Construção Civil: uma adaptação da metodologia Basic Methodware® Nota: 0 de 5 estrelas0 notasLiderança em Design: Habilidades de gestão para alavancar sua carreira Nota: 0 de 5 estrelas0 notasSketchUp LayOut passo a passo Nota: 3 de 5 estrelas3/5Arquitetura de software distribuído: Boas práticas para um mundo de microsserviços Nota: 0 de 5 estrelas0 notasDevOps na prática: Entrega de software confiável e automatizada Nota: 0 de 5 estrelas0 notasDesenvolvimento de Sites Dinâmicos com Dreamweaver CC Nota: 0 de 5 estrelas0 notasARCHICAD passo a passo volume I Nota: 1 de 5 estrelas1/5Gerenciando Projetos de Desenvolvimento de Software com PMI, RUP e UML (5a. edição) Nota: 0 de 5 estrelas0 notasMétricas Ágeis: Obtenha melhores resultados em sua equipe Nota: 0 de 5 estrelas0 notasSketchUp Pro 2013 passo a passo Nota: 0 de 5 estrelas0 notasElementos de transmissão flexíveis Nota: 0 de 5 estrelas0 notasSelenium WebDriver: Descomplicando testes automatizados com Java Nota: 5 de 5 estrelas5/5
Avaliações de Jenkins
0 avaliação0 avaliação
Pré-visualização do livro
Jenkins - Fernando Boaglio
Sumário
ISBN
Agradecimentos
Quem é Fernando Boaglio?
Dedicatória
Prefácio
Jenkins: automatize tudo sem complicações
1 Introdução
2 Conceitos fundamentais
3 Builds
4 Publicando pacotes no Artifactory
5 Criando um pipeline de entregas
6 Autenticação e segurança
7 Rodando scripts
8 Atualizando o banco de dados
9 Aumentando a qualidade das entregas
10 Promovendo suas entregas
11 Testando sua aplicação
12 Plugins ninja e dicas
13 Criando o seu plugin
14 Avisos
15 Pipeline como código
16 Outros projetos
17 Continue seus estudos
Apêndices
18 Apêndice A – Servidores
19 Apêndice B – Ferramentas
ISBN
Impresso e PDF: 978-85-5519-153-4
EPUB: 978-85-5519-154-1
MOBI: 978-85-5519-155-8
Caso você deseje submeter alguma errata ou sugestão, acesse http://erratas.casadocodigo.com.br.
Agradecimentos
Agradeço a você, por investir o seu tempo neste livro para ser mais produtivo!
Agradeço ao colega Kinoshita (https://github.com/kinow/) que me ensinou muita coisa de Jenkins e me ajudou na revisão deste livro.
Agradeço a minha família, a Deus e meus colegas de trabalho por tudo. Muito obrigado.
Quem é Fernando Boaglio?
Uma imagem fala mais que mil palavras... Veja quem eu sou na figura:
Dedicatória
Este livro é dedicado ao saudoso Luiz Arnaldo de Gusmão Bastos, ou simplesmente Luca Bastos, um homem que foi e continua sendo um exemplo e inspiração para muitos profissionais de TI.
Por favor, reserve alguns minutos de sua vida e assista a algumas das palestras do Luca, listadas a seguir. Agradeça-me depois. =)
https://youtu.be/-d0dA8otUCk - Da descoberta do ágil ao manifesto.
https://www.infoq.com/br/interviews/luca-bastos-evolucao/ - Evolução e o futuro do desenvolvimento de software.
https://www.infoq.com/br/presentations/futuro-ti/ - Carreira: como você se imagina em 40 anos
https://www.infoq.com/br/interviews/inovacao/ - O que é inovação?
Luca Bastos, o eterno mestre e aprendizFigura -1.1: Luca Bastos, o eterno mestre e aprendiz
Prefácio
Para que fazer na mão se é possível automatizar?
Fazer builds e deploys manuais leva um precioso tempo e, quando tudo fica automatizado com o Jenkins, parece inacreditável o tempo que era gasto fazendo essas tarefas. E você se questiona como não tinha automatizado isso antes.
Público-alvo
Este livro foi feito para desenvolvedores ou operadores de sistemas que desejam otimizar as suas tarefas do dia a dia e automatizar o máximo possível.
Quickstart – não perca tempo
Para rapidamente entender os conceitos mais importantes e disponibilizar o seu ambiente de integração contínua, não será preciso ler todos os capítulos, apenas os cinco primeiros.
Melhorando – explorando as possibilidades
Os capítulos restantes complementam com estratégias de orquestração, conceito de slaves, deploys, customizações e a utilização dos plugins mais importantes.
Hacking – crie o seu plugin do Jenkins
Entenda como funciona internamente o Jenkins e sua API, e aprenda a construir plugins para estender as funcionalidades dessa incrível ferramenta de integração contínua.
Código-fonte
O código-fonte deste livro está disponível em https://github.com/boaglio/jenkins-casadocodigo/.
Como o Jenkins me ajudou
A minha vida era mais tranquila quando eu cuidava de dois sistemas, pois facilmente eu sabia como eles estavam em todos os ambientes. Quando esse número aumentou muito, não demorou para eu me esquecer de fazer alguma tarefa, ou tentar fazer várias ao mesmo tempo e dar tudo errado no final.
Já tive experiência em automatizar algumas coisas com outras soluções, mas a customização era tão penosa que o fazer na mão
era mais rápido e eficaz. Isso tudo até conhecer o Jenkins. Finalmente, uma ferramenta apareceu para ajudar o meu dia a dia, e não ser mais uma da lista de ferramentas que eu xingava por serem pagas e, mesmo assim, cheias de problemas.
Claro que todo software não é perfeito, afinal, ele é feito pelo ser humano, que comete erros. Entretanto, o que é excelente no Jenkins é a sua comunidade superativa, além de ele ser também de código aberto.
Com o Jenkins, eu consigo fazer muitas coisas ao mesmo tempo e o que antes era manual e demorava horas, hoje, é apenas uma consulta geral no painel que leva poucos segundos, apenas para conferir se alguma coisa não funcionou. O meu trabalho ficou bem mais produtivo. Espero que o Jenkins ajude sua vida a melhorar também.
Jenkins: automatize tudo sem complicações
Capítulo 1
Introdução
Não existe inovação sem implementação. Luca Bastos
Bruno acabou de casar e gosta do que faz. Ele trabalha com TI em uma pequena empresa de câmbio e não tem muitos sistemas para cuidar, mas os poucos que tem são essenciais para o negócio da empresa.
No dia a dia, Bruno tem uma vida corrida e tem suas dúvidas se é tão produtivo assim. A sua empresa tem uma aplicação de controle de câmbio feita em Java, chamada Minhas Moedas.
Até mesmo para a alteração mais simples possível, por exemplo, mudar um texto na tela de Bom dia
para Olá
, Bruno tem muito trabalho para fazer essa mudança chegar até o ambiente de produção. Ele precisa:
Alterar o seu código e fazer o commit da mudança no seu sistema de controle de versão (SVN, Git etc.);
Gerar um pacote de sua aplicação Web;
Gerar um arquivo .zip de backup dos fontes;
Atualizar o banco de dados de homologação;
Fazer o deploy do pacote no ambiente de homologação;
Fazer os testes manualmente para validar a alteração em homologação;
Atualizar o banco de dados de produção;
Fazer o deploy do pacote no ambiente de produção;
Fazer os testes manualmente para validar a alteração em produção;
Enviar um e-mail para o seu chefe avisando que está tudo pronto.
Quando Bruno avalia suas realizações, percebe que ficou mais tempo fazendo operações manuais do que implementando melhorias no sistema Minhas Moedas. Isso soa familiar?
Provavelmente sim, muitas tarefas como as do Bruno consomem o tempo do nosso dia a dia. Uma solução para esse problema é automatizar a maior parte delas, assim podemos focar no que realmente interessa.
No mercado, existem algumas soluções consolidadas. Vamos falar aqui de uma das mais usadas: Jenkins CI (Jenkins Continuous Integration), ou simplesmente Jenkins.
1.1 Integração contínua, eu preciso disso?
O termo IC (Integração Contínua) passa a ideia de algo junto (integrado) e feito sem parar (continuamente). Mas o que exatamente tem esse comportamento?
A resposta é: o ciclo de desenvolvimento de um sistema. Começamos criando código, depois fazemos o commit (guardamos) de tudo em