O CI ao seu dispor
Luiz Sanches
tasafo.org nomadetec.com.br
Baseado em fatos reais
Nova missão
Jenkins is an open source automation server
written in Java.
The project was forked from Hudson after a
dispute with Oracle.
en.wikipedia.org/wiki/Jenkins_(software)
substantivo feminino
incorporação de um elemento num conjunto.
Integração
Go Horse Process
gohorseprocess.com.br
Processos são bullshit. O único processo
aceitável é o Go Horse Process, que consiste
na não-utilização de processos.
martinfowler.com/articles/continuousIntegration.html
Processo
siep.ifpe.edu.br/anderson/blog/?page_id=1015
Prática
Manter um único repositório de código
Prática
Automatize a Build
Prática
Faça sua Build ser auto-testável
Prática
Cada um lança suas modificações todos os
dias
Prática
Cada commit deve atualizar o repositório
principal em uma máquina de integração
Prática
Mantenha a Build rápida
Prática
Teste em uma cópia do ambiente de produção
Prática
Torne fácil para qualquer um ter o último
executável
Prática
Todos podem ver o que esta acontecendo
Prática
Automatize a Implantação do Sistema
Práticas
● Manter um único repositório de código
● Automatize a Build
● Faça sua Build ser auto-testável
● Cada um lança suas modificações todos os dias
● Cada commit deve atualizar o repositório principal em
uma máquina de integração
● Mantenha a Build rápida
● Teste em uma cópia do ambiente de produção
● Torne fácil para qualquer um ter o último executável
● Todos podem ver o que esta acontecendo
● Automatize a Implantação do Sistema
jenkins.io
jenkins.io/download
jenkins.io/download
Instalar no Linux
prodigasistemas.github.io
prodigasistemas.github.io
prodigasistemas.github.io
jenkins.io/doc/book/getting-started/installing
Mais detalhes em
CI Server
APP Server
Troca de chaves SSH
APP Server
Integração com
Instalar plugins do GitLab no
Jenkins
Criar usuário jenkins no GitLab
Adicionar chaves públicas do
usuário no GitLab
Adicionar o usuário jenkins aos
grupos
Obter token privado do usuário
no GitLab
Adicionar o token na credencial
do Jenkins
Configurar os hooks do
repositório no GitLab
Projeto
Builds
Cobertura de código
Segurança
Console
Feedback pelo Slack
Configuração do projeto
Obtenção do código fonte
Gatilhos
build, test and deploy
Pipeline
Novo Item
Pipeline
Pipeline script
Pipeline script
Pipeline view
Pipeline log view
Pipeline log view
Curriculum Vitae
Jenkins da COSANPA
Jenkins da Pródiga
Jenkins da Jambu
Atenção! Não se iluda!
Tem um bando de coisas pra se fazer antes de implementar Integração
Contínua.
Ex.: Entender programação extrema e escrever testes automatizados.
Obrigado!
https://about.me/luizsanches

Jenkins, o CI ao seu dispor