Criando novo job no Jenkins

Vamos mostrar como criar um novo job no jenkins. Se quiser saber como instalar o Jenkins veja nesse outro post.

Vamos lá. Clique em novo Job e escolha um nome para seu projeto:

Observação IMPORTANTE!! Em servidores linux é altamente recomendável não utilizar espaços em branco ou caracteres especiais no nome do projeto por que o jenkins cria uma pasta no workspace com o mesmo nome do projeto. Espaços em branco ou caracteres especiais podem gerar problemas ao executar o build.

Imagem

Em seguida escolha a opção: Construir um projeto de software free-style e depois clique em ok.

Imagem

Nessa primeira parte pode deixar tudo desmarcado e se preferir, adicione um descrição para o projeto.

Em gerenciamento de código fonte vamos escolhes a oção Git:

Imagem

Nesse post vamos fazer o job com um pojeto de teste em PHP que fiz Nesse outro post. Adicionei esse projeto em um repositório público do meu bitbucket, por isso não vai precisar de usuário e senha. Quando baixar o pejtoto de um repositório privado, escolha a opção add em credentials e adicione seu usuário e senha do git. segue o endereço no repositório que vamos utilizar nesse post: https://sytesk@bitbucket.org/vendamix/poc-jenkins.git

OBS: Não preciso colocar as credenciais nesse caso por que esse repositório é público. Logo, você vai precisar adicionar credenciais para reposotórios privados. 

OBS2: Na parte branches do build vai indicar qual branch o job vai ficar "escutando", Se for master, sempre que entrar alguma atualização no master o job é executado. Como já diz na mensagem, se deixar em branco o build é executado para qualquer branch. Você pode também clicar no ícone que tem uma interrogação para ver mais detalhes.

adicione esse endereço em url e vamos para o próximo passo:

Imagem

Em triggrer build escolha a opção consultar periodicamenteo o SCM e no campo de texto digite H/5 * * * *

Isso significa que o Jenkins vai consultar o repositório de 5 em 5 minutos e verificar que houve alteração. Se houver, ele executa o build que é o próximo passo:

Imagem

Em Build, escolha a opção Invocar Ant. OBS: Na parte Ambiente de build pode deixar tudo desmarcado.

Nesse projeto já existe um arquivo build.xml que será invocado toda vez que houver alguma alteração no repositório. Existem outras maneira de fazer o build do projeto, mas o apache Ant é muito recomendado para esse tipo de tarefa.

Depois que escolher a opção  Invocar Ant, o Jenkins vai pedir o alvo a ser executado. Esse alvo está no arquivo build.xml:

Imagem

O nome no nosso alvo é build

Imagem

Clique em salvar e agora vamos ver se tudo deu certo clicando em Construir agora:

Imagem

Nosso build falha! Vamos ver o motivo:

Imagem

ant.bat não é reconhecido como um comando interno. Isso significa que temos que instalar o Apache ant.

Vamos lá: Entre no site http://ant.apache.org e faça o download do apache ant. No meu caso descompactei a pasta na unidade C:

Imagem

Vamos adicionar o Ant no path do windows. Tecle Windows + Pause e escolha configurações avançadas do sisitema:

Imagem

Depois clieque em variáveis de ambiente e em path adicione o caminho da pasta bin que fica dentro do apache ant:

Imagem

Agora vamos abrir o prompt e digitar ant -version para ver se funcionou. (se o prompt já estiver aberto, feche a abra novamente)

Imagem

Se ocorrer tudo bem, aparece a versão do Ant

Vamos recinicar o tomcat para que ele também reconheca a instalação do Ant. para isso vá na pasta bin do Tomcat e execute shutdown.bat e depois startup.bat para iniciar novamente. 

Agora vamos entrar no job e clicar em Construir agora:

Imagem

Agora nosso job já está rodando normalmente. Nesse exemplo foi criado um arquivo chamado ProjetoTeste.zip dentro da pasta build. 

Quando for criar seus jobs você pode fazer uma conexão FTP e enviar esse arquivo para o servidor e produção ou escolher outra maneira de fazer o deploy automatizado. O apache Ant tem muitos recursos interessnates para automatizar seu processo de deploy como preferir. 

Nese exemplo os relatórios de teste não foram gerados por que não temos o X-debug instalado. Se quiser que os relatórios sejam exibidos pelo Jenkins, é necessário instalar o plugin Clover PHP coverage report. Para instalar plugins no Jenkins, basta acesar o menu Gerenciar Jinkins> gerenciar plugins.

Depois que estiver com o plugin Clover PHP instalado é necessário adicionar uma configuração pós-build no job como mostra a figura abaixo:

Imagem

Existe também outra opção pós-build interessante: Notificação por e-mail:

Imagem

Como pode perceber, você pode adicionar várias ações pós-build no mesmo job. Nesse caso, quando um build falhar vai ser enviado um e-mail avisando que falhou, quem comitou por último e a mensagem do commit. Mas para que essa opção funcione normalmente, é necessário que as configurações de envio SMTP estejam corretas em Gerenciar o Jenkins> Configurar o Sistema:

Imagem

 

 

Comentários

 

 
(há 7 meses) Davi Sousa:

Vinicius, 

Não existe uma receita de bolo pronta pra criar job para cada linguagem. Você vai criar seus jobs de acordo com sua necessidade. Geramente, é criado um job para cada ambiente: Produção, homologação e etc. 

Para fazer o job, você vai automatizar todas as tarefas que normalmente faria manualmente: Baixar a versão mais recente de um branch do git, Compilar, remover arquivos que são usados somente em desenvolvimento, gerar o pacote, publicar no servidor e etc... 

Tudo isso pode ser feito com shell script ou Apache Ant (por exemplo). Você pode usar uma dessas linguagens para programar todo passo-a-passo que citei a cima. Depois que seu script já estiver ok, você deve instalar as mesmas ferramentas no servidor Jenkins. Por exemplo: se usou comandos do Node JS nesse script, vai ter que instalar o node no servidor do Jenkins também. 

Depois disso, basta cirar um job e botar seu script pra rodar preenchendo o campo Build que mostrei no post. 

Se estiver usando Apache Ant, você ainda pode passar parâmetros no job para diferenciar no scipt se o job é de produção ou homologação por exemplo. Isso possibilita criar um único scipt com comportamento difente para cada job.

 
(há 2 anos) Davi Sousa:

Gabriel, 

Recomendo que tente reinslatar o Jenkins pois as opções git e subversion devem aparecer sem a necessidade de instalar plugin. Com no seu caso não apareceu pode ter ocorrido alguma falha na instalação. Se possível tente instalar o Jenkins em outra máquina.

Quem Sou

Graduado em ADS (Análise e desenvolvimento de sistemas).

Não sou "devoto" de nenhuma linguagem de programação. Procuro aproveitar o melhor de cada uma de acordo com a necessidade do projeto. Prezo por uma arquitetura bem feita, código limpo, puro e simples! 

anuncio atendente