Jenkins – parte 1

jenkins-1_abertura.png

O Jenkins é uma ferramenta em software livre para integração contínua, ou entrega contínua dependendo de como for utilizado. Isto é, ele automatiza as tarefas de monitoração de alterações no repositório do código fonte, compilação, execução das rotinas de teste, disponibilização de nova versão caso não encontre erros e, claro, documentação e registro de todas as etapas para acompanhamento.

Nesta primeira parte estão as etapas de instalação e da configuração inicial da ferramenta.

Instalação do Jenkins

Ele está disponível em pacotes para diversas distribuições, sistemas operacionais e até mesmo como um contêiner do Docker. Aqui optei por usar ambas as versões LTS do Ubuntu (14.04) como do Jenkins (2.32) em uma máquina virtual criada com ajuda do Vagrant.

Então é criar o diretório:

$ mkdir -p ~/Vagrant/jenkins
$ cd ~/Vagrant/jenkins

Copiar este “Vagrantfile” para lá:


# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.network "forwarded_port", guest: 8080, host: 8080
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "–memory", "2048"]
vb.customize ["modifyvm", :id, "–cpus", "2"]
end
config.vm.provision "shell", inline: <<-SHELL
ln -sf /usr/share/zoneinfo/Brazil/East /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
curl –silent https://pkg.jenkins.io/debian-stable/jenkins.io.key | apt-key add –
echo 'deb https://pkg.jenkins.io/debian-stable binary/' > /etc/apt/sources.list.d/jenkins.list
apt-get update && apt-get –yes upgrade
apt-get –yes install jenkins
curl –silent http://localhost:8080 2>/dev/null
while [ ! -f /var/lib/jenkins/secrets/initialAdminPassword ] ; do sleep 1 ; done
cat /var/lib/jenkins/secrets/initialAdminPassword
SHELL
end

view raw

Vagrantfile

hosted with ❤ by GitHub

Iniciar com:

$ vagrant up

E aguardar enquanto ele cria a máquina virtual, baixa o Ubuntu, ajusta o fuso horário¹, configura o repositório do Jenkins, atualiza a lista de pacotes, os pacotes e, então, instala o Jenkins.

jenkins-1_vagrant-up

A última linha exibirá a senha inicial do administrador, ela é criada automaticamente quando do primeiro uso e é usada para liberar o acesso à ferramenta.

(¹) É bom que o programa mostre o horário no mesmo fuso horário das pessoas. No caso do Brasil os outros valores são “Acre”, “DeNoronha”, “East” e “West” caso queira alterar o arquivo.

Configuração do Jenkins

Por padrão ele fica disponível na porta TCP 8080 e no “Vagrantfile” já foi definido corretamente este redirecionamento, então basta acessar 127.0.0.1:8080 e receber como retorno uma mensagem avisando que o Jenkins precisa ser destravado.

jenkins-1_unlock

Aqui vai a senha que é exibida no final da execução do Vagrant — e também o motivo daquele laço while … do … done maluco dentro do “Vagrantfile” esperando o arquivo ser devidamente criado pelo Jenkins.

A etapa seguinte é a seleção dos plugins que serão instalados:

jenkins-1_plugins1

Optei pelo Install suggested plugins por pura praticidade, esta opção contém uma relação daqueles que são mais comumente usados (Git, LDAP, SSH etc).

jenkins-1_plugins2

Daí é esperar eles serem baixados e instalados, em seguida você deverá criar o usuário que servirá como o administrador da ferramenta:

jenkins-1_admin

Preencha os campos, selecione em Save and Finish e…

jenkins-1_pronto

Selecione Start using Jenkins para acessar o painel:

jenkins-1_dashboard

E pronto!

Um detalhe importante, o Jenkins tem um plugin de internacionalização — o Locale Plugin — e é possível trocar o idioma da interface mas como a tradução para a língua portuguesa não me pareceu muito completa preferi não instalá-lo.

Fim desta parte…

Como dito, esta parte contemplou a instalação do Jenkins e como não há nenhum job configurado nele a máquina virtual pode ser desligada normalmente apenas usando vagrant halt. Na próxima a ferramenta será colocada para efetivamente funcionar com a criação de um job nela.

Até!

Um comentário sobre “Jenkins – parte 1

  1. Pingback: Jenkins – parte 2 | giovannireisnunes

Os comentários estão desativados.