Integrando Jenkins-CI em suas aplicações

Integração Contínua com Jenkins

Jenkins é um Sistema de Integração Contínua (Continuous Integration - CI) que permite o build e deploy da aplicação sem a necessidade de parar a mesma durante o processo. Além disso, se o build falhar, a aplicação original continua rodando sem interrupções.

Para ativar o jenkins é necessário antes criar uma aplicação Jenkins Server. Tenha em mente que o server consome um gear.

Criando o Jenkins Server via RHC

Usando RHC, execute o comando abaixo. Note que normalmente se utiliza jenkins como nome de aplicação. No entanto, para evitar confusão com a nomenclatura utilizada, escolhi o nome builder.

$ rhc app create builder jenkins-1 --no-git
Application Options
-------------------

Namespace:  mydom
  Cartridges: jenkins-1
  Gear Size:  default
  Scaling:    no

Creating application 'builder' ... done

Waiting for your DNS name to be available ... done

builder @ http://builder-mydom.getup.io/ (uuid: 518f3107385194656e000059)
----------------------------------------------------------------------------
  Created: 10:44 PM
  Gears:   1 (defaults to small)
  Git URL: ssh://518f3107385194656e000059@builder-mydom.getup.io/~/git/builder.git/
  SSH:     518f3107385194656e000059@builder-mydom.getup.io

  jenkins-1 (Jenkins Server 1)
  --------------------------------
    Gears:    1 small
    Password: NH1KtNtqiTAS
    Username: system_builder

RESULT:
Application builder was created.

Jenkins created successfully.  Please make note of these credentials:

    User: admin
    Password: gfWw6xhS2e

Note:  You can change your password at: https://builder-mydom.getup.io/me/configure

Tome nota do segundo usuario e senha (admin e gfWw6xhS2e neste caso) pois estas são as credenciais de acesos a interface do Jenkins Server.

Criando Jenkins Server via dashboard web

Para criar a aplicação Jenkins Server via dashbord web basta selecionar o cartridge Jenkins Server 1.4 na tela de criação de aplicação. Logo após as credenciais são apresentadas. Tome nota.

Verifique se a aplicação foi criada com sucesso acessando a URL do serviço. Neste caso https://builder-mydom.getup.io/.

Integrando sua aplicação ao jenkins

Agora que já temos o server rodando, precisamos ativar o cartridge embeded jenkins client na aplicação.

No RHC basta executar:

$ rhc cartridge add jenkins-client-1.4 --app gistimg
Adding jenkins-client-1.4 to application 'gistimg' ... Success

jenkins-client-1.4 (Jenkins Client 1.4)
---------------------------------------
  Gears:   Located with python-2.6, cron-1.4
  Job URL: https://builder-mydom.getup.io/job/gistimg-build/

RESULT:
Added jenkins-client-1.4 to application gistimg

Associated with job 'gistimg-build' in Jenkins server.

Job URL: https://builder-mydom.getup.io/job/gistimg-build/

Jenkins client 1.4 has been added to: gistimg

No dashoard web basta abrir a pagina de detalhes da aplicação e clicar em Enable Jenkins builds para incluir o cartridge jenkins client.

Volte ao painel de controles do jenkins (https://builder-mydom.getup.io) e atualize a pagina (sugiro ativar o auto refresh no canto superior direito do painel). A próxima vez que voce fizer um 'git push' de sua aplicação, o build e o deploy serão realizados pelo jenkins. Somente builds com sucesso são elegível ao deploy, o que significa que sua aplicação não é interrompida em caso de falha (claro que voce possui scripts de teste, certo?).

Vale notar que o processo de build é realizado em um gear exclusivo para o build de determinada aplicação. Após 15 minutos de inatividade, este gear é destruido automaticamente.

Veja um exemplo do painel do Jenkins.

jenkins.png

 

Para maiores informações consulte https://www.openshift.com/jenkins.

Tem mais dúvidas? Envie uma solicitação

0 Comentários

Por favor, entre para comentar.
Powered by Zendesk