Endrigo Antonini

Instalação de um servidor Jenkins

January 23, 2013 | 6 Minute Read

jenkins-screenshotA pedidos do amigo Willian Mews irei fazer esse tutorial referente a instalação e configuração de um servidor Jenkins.

Introdução
Afinal, o que é o Jenkins? Jenkins é servidor open-source de Integração Contínua e pode ser rodado de forma standalone (como uma aplicação isolada) ou como uma web aplicação dentro de um servidor web com suporte Java (exemplo Tomcat).

Integração Contínua
Integração Contínua (CI - Continuous Integration) é uma prática dentro da área de engenharia de software que tem por objetivo realizar de forma automatizada compilações parciais ou totais do(s) software(s) que está(ão) sendo desenvolvido(s), testes unitários, testes integrados e outras atividades que a ferramenta em questão possa executar de forma automática para garantir a qualidade do produto. Vale apena ressaltar que essa prática surgiu dentre os estudos de metodologias ágeis e é uma prática que vem se difundindo cada vez mais dentro do mercado haja visto que essa ferramenta consegue destacar problemas antes de que seja realizada uma release do produto.

Objetivo
O objetivo desse HOWTO é que ao final desse artigo você tenha uma instância local instalada configurada e em execução do Jenkins.
Iremos realizar a instalação e configuração do Jenkins em modo Standalone.
Os passos aqui executados não são de grande diferença em outros sistemas operacionais, qualquer dúvida de algum comando que tenha sido realizado ou de configuração específica não hesite em perguntar.

Requisitos

  • Conhecimento de XXXXXX
  • Conhecimento de Instalação de aplicativos
  • Java?!?
  • Maven?!?

Instalação
Passo 1: Acesse o site do Jenkins e no canto direito você irá encontrar as possibilidades para efetuar download. Na verdade você tem apenas duas possibilidades para escolher: empacotamento para servidor web (WAR) ou através de um instalador. No nosso caso iremos utilizar o instalador, portanto identifique qual o sistema operacional está utilizando e baixe a versão correspondente.

Capture d’écran 2013-01-23 à 00.38.58

Passo 2: O processo de instalação é muito fácil. É o famoso processo NNF (Next - Next - Finish). Após terminar de realizar a instalação, um browser irá abrir automaticamente, não se assuste pois esse não se trata de um novo complemento em seu browser nem mesmo de uma página pedindo doação e a mágica está feita! Você tem um servidor Jenkins instalado! Encerramos por aqui!
Brincadeira, agora vem a configuração...

Capture d’écran 2013-01-18 à 02.33.34

Passo 3: A configuração se dá através da própria interface web que o software abriu, que por padrão esse endereço com essa porta irão responder: http://localhost:8080/. Iniciaremos com a criação de um usuário e senha que possa fazer tudo e deixar que o usuário anônimo só possa ver a informação. Para isso acesse o link "Manage Jenkins".
Dentro dessa tela entre na função: "Configure Global Security".
Selecione a função "Enable security".
Nessa tela existe uma porção de formas de realizar a validação dos usuários, no nosso caso vamos nos basear que teremos que cadastrar os usuários na própria ferramenta. Na guia "Access Control" no grupo "Security Realm" selecione a opção: "Jenkins's own user database". Deixe a função "Allow users to sign up" se deseja que seus usuários possam se cadastrar, por questões de segurança prefiro desmarcar essa opção. Só terá usuário no sistema quem deve ter usuário no sistema. A parte mais importante vem agora que seria o grupo "Authorization". Nesse grupo selecione a opção "Matrix-based security", ou seja, é uma matrix de segurança, onde se dá acesso a usuário por usuário e/ou grupo por grupo.
Capture d’écran 2013-01-18 à 02.45.12
Adicione o nome de usuário que desejar no campo texto e selecione todas as funções possíveis para seu usuário. No usuário "Anonymous" Deixe somente a opção Read habilitada. Pronto, podemos prosseguir.
Atenção, como não é objetivo desse HOWTO não irei tratar referente a opção "Prevent Cross Site Request Forgery exploits". Essa é uma função muito importante, ainda mais se for possível acessar seu Jenkins de fora da organização.

Passo 5: Dependendo de qual SCM (Source Code Management) você utilizar, você deverá instalar o plugin de conectividade antes. Nesse caso irei instalar os plugins para acesso ao GIT através das opções e selecione "Manage Jenkins" > "Plugin Manager". Na tela a seguir vá em: "Available" e divirta-se com a variedade e quantidade de plugins disponíveis, mas não se esqueça do principal que seria procurar o plugin do seu SCM.
Após selecionar todos, clique em "Install without restart". Normalmente na tela que vem a seguir você irá esperar ele efetuar o download do plugin e tentar instalar, se tudo der certo, siga em frente usando o plugin, em caso de falha, tente reiniciar o Jenkins para que ele efetue a instalação / atualização da biblioteca.

Passo 6: Para realizar a configuração do ambiente é necessário que você acesse "Manage Jenkins" > "Configuration System". Nessa tela você precisará realizar a configuração indicando onde está seu Java instalado, onde está seu Maven instalado, credenciais de acesso a sistema de e-mail e outras informações. Essa tela eu sugiro que você analise com calma e lendo de preferência o help das funções para entender melhor o que cada uma executa.
Para nosso exemplo é primordial que seja configurado o Java e o Maven.

Passo 7: Comece a criar os JOBS! Nesse exemplo irei conectar o Jenkins a um projeto que tenho dentro do github desenvolvido em Java utilizando Maven. Na primeira tela informe um nome para seu projeto e o tipo em que ele será compilado. Nesse caso selecionei um projeto do tipo "maven 2 / 3" pois é a forma como desenvolvi meu projeto.

Passo 8: No passo seguinte inicie a configuração, selecione qual o repositório dos fontes, nesse caso, GIT. iremos utilizar a url: https://github.com/antonini/java-utils.git. Nas triggers para build existem várias possibilidades, uma dela é para verificar se há mudanças no repositório e em caso de mudanças, ai sim dispara a construção que seria a opção "Poll SCM". Nesse exemplo iremos utilizar a opção: "Build periodically" que fará uma construção periódica. Iremos configurar para que seja executado a cada 5 minutos, ou seja "5 * * * *".

Capture d’écran 2013-01-23 à 00.25.08

Passo 9: Logo após isso, salve as alterações e na tela do Job, clique em "Build now".Após um período de tempo você verá o ícone alertando que a compilação ocorreu sem problemas! Et voilà! Você o Jenkins configurado e seu primeiro Job configurado.

Capture d’écran 2013-01-23 à 00.34.58

comments powered by Disqus

Related Posts

Autenticidade no git com o uso de chave GPG

Merge no Visual Studio 2013 com git

Artigo sobre FlyWay