Jenkins, o CI ao seu dispor

Preview:

Citation preview

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áticaManter um único repositório de código

PráticaAutomatize a Build

PráticaFaça sua Build ser auto-testável

PráticaCada um lança suas modificações todos os dias

PráticaCada commit deve atualizar o repositório principal em uma máquina de integração

PráticaMantenha a Build rápida

PráticaTeste em uma cópia do ambiente de produção

PráticaTorne fácil para qualquer um ter o último executável

PráticaTodos podem ver o que esta acontecendo

PráticaAutomatize 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

Recommended