Base de conhecimento  /  Gerenciador de aplicativos em nuvem  /  Tutoriais
Base de conhecimento  /  Gerenciador de aplicativos em nuvem  /  Tutoriais

Tutorial de CI/CD do Jenkins


Código do artigo: kb/403

Tutorial de CI/CD do Jenkins

Este tutorial se destina aos usuários que utilizam o Jenkins para automatizar os fluxos de trabalho de teste e implementação de software. Ele demonstra como usar o plugin Jenkins para Cloud Application Manager para automatizar uma implementação completa. Usamos aqui o plugin para acionar automaticamente o Jenkins com base em um check-in de código no GitHub para implementar um aplicativo LAMP Stack em um ambiente de teste.

O aplicativo LAMP Stack é definido no Cloud Application Manager como uma caixa que você pode implementar de modo previsível e da mesma forma não apenas nos ambientes de teste, mas também nos ambientes de preparo e produção.

Este tutorial leva 0 minutos para ser concluído. Ao final, você saberá como usar o plugin para fazer a integração com sua própria configuração do Jenkins e automatizar tranquilamente as implementações.

Neste artigo:

  • Antes de começar
  • Criar um trabalho de compilação do Jenkins
  • Acionar uma construção de CI/CD

Antes de começar

Você precisa do seguinte:


Criar um trabalho de compilação do Jenkins

Agora que instalou o servidor Jenkins e registrou nele sua conta do Cloud Application Manager, você está pronto(a) para criar um trabalho que automatize uma compilação de teste.

Etapa 1. Etapa 0. Criar um trabalho com base em um modelo existente.

Quando instala o servidor Jenkins, você obtém um modelo de trabalho pull-request. Crie um projeto chamado test-pullrequest e copie o modelo.

tutorial-jenkins-1.png

Etapa 2. Etapa 0. Selecionar um slave do Cloud Application Manager para executar o trabalho.

No trabalho de compilação, selecione Restrict (Restrito) para definir onde esse projeto pode ser executado. Digite o rótulo da caixa do slave que você adicionou ao configurar o servidor Jenkins.

tutorial-jenkins-2.png

Etapa 3. Etapa 0. Automatizar os acionadores da solicitação pull.

Como estamos usando o GitHub para enviar alterações de código por meio de solicitações pull, vamos gerenciar o ciclo de vida dessas solicitações por meio do plugin Jenkins para Cloud Application Manager. Em Build Triggers (Acionadores de compilação), clique em Cloud Application Manager GitHub Pull Request Lifecycle Management (Gerenciamento do ciclo de vida da solicitação pull do GitHub para Cloud Application Manager).

tutorial-jenkins-3.png

Essa configuração aciona o trabalho de compilação quando você cria uma solicitação pull ou a atualiza. Quando você fecha a solicitação pull, isso aciona o trabalho para que ele exclua as instâncias associadas à solicitação pull, salvando os recursos de computação no processo.

Etapa 4 (opcional). Etapa 0 (opcional). Adicionar comandos Shell para executar testes de unidade.

Em Compilar > Adicionar etapa de compilação, clique em Executar shell. Insira os comandos Bash Shell para executar quaisquer testes de unidade em sua solicitação pull.

tutorial-jenkins-4.png

Etapa 0 Etapa 0. Implementar a caixa de serviço do banco de dados MySQL.

Em Compilar > Adicionar etapa de compilação, clique em Cloud Application Manager - Deploy Box (Cloud Application Manager – Implementar caixa). Selecione a caixa de serviço do banco de dados MySQL do seu espaço de trabalho. Para selecionar aqui o perfil de implementação, você precisa primeiro criá-lo para a caixa no seu espaço de trabalho.

tutorial-jenkins-5.png

  • Certifique-se de selecionar Cloud Application Manager Automatic Version (Versão automática do Cloud Application Manager), já que essa é a caixa padrão.
  • Marque a instância com um rótulo exclusivo para identificá-la na solicitação pull.
  • Defina a instância para ser encerrada 0 horas após ela ser iniciada.
  • Em Variables (Variáveis), insira o nome de usuário e a senha do banco de dados. Sem esses valores, o plugin não poderá implementar o serviço do banco de dados MySQL.
  • Em Advanced (Avançado), selecione skip deployment (ignorar implementação) para If instance already exists (Se a instância já existe). Isso evita a implementação de um novo serviço de banco de dados MySQL, caso você já esteja alterando uma solicitação pull existente.

Etapa 0 Implemente o aplicativo LAMP Stack

Esta etapa implementa a application box LAMP Stack e faz a associação (binding) com a instância do serviço de banco de dados MySQL definida na etapa acima. Essa é a maneira de implementar aplicativos de várias camadas a partir de um só trabalho.

Em Compilar > Adicionar etapa de compilação, clique em Cloud Application Manager - Deploy Box (Cloud Application Manager – Implementar caixa). Novamente, selecione sua conta do Cloud Application Manager registrada no Jenkins, seu espaço de trabalho no qual a caixa do LAMP Stack está localizada, a caixa do LAMP Stack, uma versão e um perfil de implementação para iniciá-la.

tutorial-jenkins-6.png

  • Em Expiration (Expiração), agende um horário para encerrar a instância.
  • Em Variables (Variáveis), faça a associação (binding) com a caixa mysql_service ao especificar sua tag, conforme mostrado.
  • Clique em Advanced (Avançado). Em If instance already exists (Se a instância já existe), selecione reconfigure (reconfigurar). Isso atualiza a instância do LAMP Stack com as mais recentes alterações da solicitação pull sem repetir a implementação.

Etapa 7 (opcional). Etapa 0 (opcional). Adicionar comandos Shell para testar o aplicativo.

Esta etapa executa opcionalmente quaisquer comandos shell que você especifique para testar o aplicativo LAMP Stack.

tutorial-jenkins-7.png

Etapa 0 Etapa 0. Inserir sua própria URL do projeto do GitHub no trabalho.

Insira sua própria URL forjada do Projeto GiThub nestes campos: Projeto GiThub, Repositórios de Git, e URL_CLONE.

Veja este exemplo:

tutorial-jenkins-8.png

tutorial-jenkins-9.png

Etapa 0 Etapa 0. Habilitar a compilação, salvar o trabalho e verificá-lo.

Você está quase pronto. Estamos quase no fim. Lembra que copiamos esse trabalho do modelo que foi desabilitado? Para habilitá-lo, desmarque Disable Build (Desabilitar compilação).

tutorial-jenkins-10.png

Salve o trabalho. Salve o trabalho. Verifique se ele foi configurado adequadamente ao conferir os registros. Em Manage Jenkins > System Log (Gerenciar Jenkins > Registro do sistema), o Jenkins deverá mostrar algo semelhante a isto:

Feb 04, 2015 1:58:03 AM INFO com.elasticbox.jenkins.triggers.github.PullRequestBuildHandler
Adding webhook http://107.178.218.51:8080/elasticbox/ to GitHub repository https://github.com/Mrinan/Easy-PHP-MySQL/
Feb 04, 2015 1:58:03 AM INFO com.elasticbox.jenkins.triggers.github.PullRequestBuildHandler createWebHook
Webhook http://107.178.218.51:8080/elasticbox/ is added to GitHub repository https://github.com/Mrinan/Easy-PHP-MySQL/

Acionar uma compilação de CI/CD

O trabalho test-pullrequest está agora definido para construir, testar e implementar qualquer solicitação pull que você enviar ao seu projeto do GitHub bifurcado.

Para enviar uma solicitação pull, crie uma ramificação com base no seu repositório principal bifurcado e faça uma alteração em index.php nesta linha:

print "<HTML><BODY><H1>Showing the users of the sampledb that has been created in the RDS some seconds ago!</H1>\n";

Certifique-se de comparar a solicitação pull com sua ramificação principal, conforme visto aqui.

tutorial-jenkins-11.png

Continue e envie uma solicitação pull a partir do seu repositório bifurcado, conforme mostrado.

tutorial-jenkins-12.png

Assim que criar a solicitação, você deverá ver automaticamente um acionador da compilação.

tutorial-jenkins-13.png

Etapa 2. Etapa 0. Verificar a instância implementada.

tutorial-jenkins-16.png

Etapa 3. Etapa 0. Verificar o registro de compilação do Jenkins.

No Jenkins, procure o registro de trabalho de compilação em http://job/test-pullrequest/lastBuild/console. Observe que a compilação foi executada com sucesso para esse trabalho específico.

tutorial-jenkins-17.png

Etapa 0 Etapa 0. Você está pronto para mesclar.

Quando a compilação é concluída, uma mensagem é publicada automaticamente na sua solicitação do GitHub. Como você verificou as alterações na instância de teste, você pode agora mesclá-las por meio de outro trabalho de compilação no Jenkins.

tutorial-jenkins-18.png

Descobre como foi fácil automatizar uma construção de teste para o código que você realizou? Viu como é fácil automatizar uma construção de teste para o código do seu check-in? Se quiser ir uma etapa além, configure um trabalho de mescla usando o modelo de trabalho de mescla para implementar automaticamente as alterações no preparo e, em seguida, na produção.

Como contatar o suporte do Cloud Application Manager

Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

  • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
  • Windows: Windows: RDP na instância para localizar o registro em ProgramDataElasticBoxLogselasticbox-agent.log
Powered by Translations.com GlobalLink OneLink SoftwarePowered By OneLink