sábado, 27 de agosto de 2016

Jenkins 2.19 :: Instalação do Gerenciador de Build & Deploy para Integração Contínua



O Jenkins é um software muito poderoso escrito em Java que faz parte da 'maletinha do DevOps' de muitos projetos e empresas de pequeno, médio e grande porte por aí. Ele é feito para a núvem, e é focado em garantir a qualidade de uma integração contínua, e engloba todas as funções que dizem respeito a controle de versão, build de ambientes customizados, deploy e várias outras funções de dump de banco de dados, integração fácil com a Shell do Linux, que é um fator muito interessante pois te permite executar scripts customizados em shell, Python, Ruby e etc. Vou tentar abordar mais esse tipo de integração em uma série de postagens. Eu vou tentar...

Já utilizei o Jenkins de uma forma mais customizada, onde eu utilizava o mesmo para construir ambientes inteiros, com cópia do banco de dados de produção, clone de uma determinada branch e/ou um determinado commit específico do Github ou Bitbucket, integração com a API da Amazon para gerar um Virtualhost específico para o projeto, tudo isso para testes do cliente, QA e Hotfixes, tudo isso em tempo hábil durante o build. Pra aplicações PHP, eu garanto que é poderoso pra caramba.

Site do projeto: https://jenkins.io/

Instalação do Jenkins.

Instalando o Java 
Como já foi dito, o Jenkins roda em Java, portanto vamos instalar o mesmo.
Via repositório, não tem segredo. Estarei simulando em um ambiente Ubuntu 14.04 para ficar mais fiel a um ambiente AWS. Mas homologuei em Debian 8 Jessie e funciona 100% com esses passos.
 # sudo apt-get install python-software-properties   
 # sudo add-apt-repository ppa:webupd8team/java   
 # sudo apt-get update ; sudo apt-get install oracle-java7-installer   
 
 # Ou...
 # apt-get install openjdk-7-jdk #Caso esteja utilizando Debian 


Instalando o Jenkins no Ubuntu Server / Debian

Primeiramente, vamos baixar a chave GPG do repositório do Jenkins e adicionar o mesmo na nossa lista de sources do servidor. Em seguida, vamos atualizar nossas listas e instalar o pacote
 # wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -   
 # echo "deb http://pkg.jenkins-ci.org/debian binary/" >> /etc/apt/sources.list   
 # sudo apt-get update ; sudo apt-get install jenkins   



Instalando o Jenkins no CentOS/RHEL 7 

Vamos agora fazer os mesmos passos, mas agora em um ambiente Red Hat Like e adiconando as chaves e repositórios nas listas do RPM
 # sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo  
 # sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key   
 # sudo yum install jenkins   


Feito isso, o servidor do Jenkins já vai estar no ar. Ele roda por Default na porta 8080 do sistema. Então basta acessar:

http://ip-do-server:8080



Quando acessarmos pela primeira vez, o Jenkins irá pedir para que informemos o password administrativo que ele gerou. Isso foi implementado nas novas versões. Caso esteja utilizando alguma versão mais antiga, esse passo não vai existir. O mesmo se encontra no arquivo de log /var/lib/jenkins/secrets/initialAdminPassword. Basta copiar e informar na pagina inicial do Jenkins.
 # cat /var/lib/jenkins/secrets/initialAdminPassword  



Após esse passo, será perguntado se você deseja instalar os plugins recomendados ou informar todos que você deseja da lojinha do Jenkins manualmente. Daí vai de você. Se você já sabe exatamente o que você vai usar, vá em frente. No exemplo eu vou seguir os recomendados para não demandar muita enrolação.

 

Após a instalação dos plugins recomendados, você terá de informar a primeira senha de admin. Basta criar a vontade. Mais pra frente você poderá adicionar mais usuários e limitar as permissões dos mesmos dentro do sistema. Após inserir você já será capaz de se logar no sistema. 



Fique ligado aí, assine o feed e siga as redes do blog pra ficar por denro de mais tutoriais de Jenkins para turbinar suas skills de DevOps :D

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

Postar um comentário

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com