Para criar um pipeline de integração contínua e entrega contínua (CICD) no Code Stream, é possível adicionar manualmente estágios e tarefas. Para planejar sua compilação nativa de CICD, colete as informações necessárias e, em seguida, crie um pipeline e adicione manualmente os estágios e as tarefas a ele.

Será necessário planejar os estágios de integração contínua (continuous integration, CI) e de entrega contínua (continuous delivery, CD) do pipeline. Após criar o pipeline e executá-lo, você pode monitorar as tendências nas execuções do pipeline.

Quando um pipeline inclui uma imagem do Docker Hub, você deve garantir que essa imagem tenha cURL ou wget incorporado antes de executar o pipeline. Quando o pipeline é executado, o Code Stream baixa um arquivo binário que usa cURL ou wget para executar comandos.

O espaço de trabalho do pipeline do Code Stream é compatível com o Docker e o Kubernetes para tarefas de integração contínua e personalizadas.

Para obter informações sobre a configuração do espaço de trabalho, consulte Como configurar o espaço de trabalho do pipeline.

Como planejar requisitos externos e internos

Para planejar os estágios de CI e CD do pipeline, os requisitos a seguir indicam o que você deve fazer antes de criar o pipeline.

Neste exemplo, é usado um espaço de trabalho do Docker.

Para criar um pipeline a partir do plano de exemplo, você usará um host do Docker, um repositório Git, um Maven e várias ferramentas de compilação pós-processo.

Endpoints e repositórios que serão necessários:

  • Um repositório de código-fonte Git no qual os desenvolvedores verificam o código. O Code Stream recebe o código mais recente para o pipeline quando os desenvolvedores confirmam as alterações.
  • Um endpoint do Docker para o host de compilação do Docker que executará os comandos de compilação dentro de um contêiner.
  • Uma imagem do construtor que cria o contêiner no qual os testes de integração contínua são executados.
  • Um endpoint de registro de imagem para que o host de compilação do Docker possa receber a imagem do construtor a partir dele.

Você precisará de acesso a um projeto. O projeto agrupa todo o seu trabalho, incluindo pipeline, endpoints e painéis. Verifique se você é membro de um projeto no Code Stream. Se não for, peça a um administrador do Code Stream para adicioná-lo como membro de um projeto. Consulte Como adicionar um projeto no Code Stream.

Você precisará de um webhook Git que permita que o Code Stream use o gatilho Git para disparar o pipeline quando os desenvolvedores confirmam alterações de código. Consulte Como usar o gatilho Git no Code Stream para executar um pipeline.

Como criar o pipeline de CICD e configurar o espaço de trabalho

Será necessário criar o pipeline e depois configurar o espaço de trabalho, os parâmetros de entrada de pipeline e as tarefas.

Para criar o pipeline, clique em Pipelines > Novo Pipeline > Tela em Branco.

Ao criar um pipeline, você pode usar a tela em branco.

Na guia Espaço de Trabalho, insira as informações de integração contínua:

  • Inclua o host de compilação do Docker.
  • Digite o URL da sua imagem do construtor.
  • Selecione o endpoint de registro de imagem para que o pipeline possa receber a imagem dele. O contêiner executa as tarefas de CI e implanta sua imagem. Se o registro precisar de credenciais, será necessário primeiro criar o endpoint de registro de imagem e, em seguida, selecioná-lo aqui para que o host possa receber a imagem do registro.
  • Adicione os artefatos que devem ser armazenados em cache. Para que uma compilação seja bem-sucedida, os artefatos, como diretórios, são baixados como dependências. O cache é o local onde esses artefatos residem. Por exemplo, os artefatos dependentes podem incluir o diretório .m2 para Maven e o diretório node_modules para Node.js. Esses diretórios são armazenados em cache nas execuções do pipeline para economizar tempo durante as compilações.

    Ao criar manualmente um pipeline, você configura o espaço de trabalho para o pipeline na guia Espaço de Trabalho.

Na guia de entrada, configure os parâmetros de entrada do pipeline.

  • Se o pipeline for usar parâmetros de entrada de um evento de gatilho Git, Gerrit ou Docker, selecione o tipo de gatilho para Parâmetros de injeção automática. Os eventos podem incluir Alterar Assunto para o Gerrit ou Git ou Nome do Proprietário do Evento para o Docker. Se o seu pipeline não usar parâmetros de entrada transmitidos do evento, deixe Parâmetros de injeção automática definido como Nenhum.
  • Para aplicar um valor e uma descrição a um parâmetro de entrada de pipeline, clique nos três pontos verticais, e clique em Editar. O valor digitado é usado como entrada para tarefas, estágios ou notificações.
  • Para adicionar um parâmetro de entrada de pipeline, clique em Adicionar. Por exemplo, é possível adicionar approvers para exibir um valor padrão para cada execução, mas que pode ser substituído por um aprovador diferente em tempo de execução.
  • Para adicionar ou remover um parâmetro injetado, clique em Adicionar/Remover Parâmetro Injetado. Por exemplo, remova um parâmetro não utilizado para reduzir a desordem na página de resultados e exibir apenas os parâmetros em uso.

    Ao criar manualmente um pipeline de CI/CD, você configura os parâmetros de entrada na guia Entrada.

Configure o pipeline para testar seu código:

  • Adicione e configure uma tarefa de CI.
  • Inclua etapas para executar o mvn test no código.
  • Para identificar quaisquer problemas após a execução da tarefa, execute ferramentas de compilação pós-processo, como o JUnit e o JaCoCo, o FindBugs e o Checkstyle.

    Para testar seu código, configure a tarefa de CI com etapas e ferramentas de construção pós-processo.

Configure o pipeline para compilar seu código:

  • Adicione e configure uma tarefa de CI.
  • Incluir etapas que executam mvn clean install no seu código.
  • Inclua o local e o nome de arquivo JAR para que ele preserve o artefato.

    Para construir seu código, adicione as etapas na tarefa de CI.

Configure o pipeline para publicar a imagem no host do Docker:

  • Adicione e configure uma tarefa de CI.
  • Adicione etapas que vão confirmar, exportar, compilar e enviar por push a sua imagem.
  • Adicione a chave de exportação de IMAGE para a tarefa seguinte consumir.

    Para publicar sua imagem no seu host Docker, adicione as etapas e a chave de exportação na tarefa de CI.

Depois de configurar o espaço de trabalho, os parâmetros de entrada, as tarefas de teste e as tarefas de compilação, salve seu pipeline.

Como ativar e executar o pipeline

Depois de configurar seu pipeline com estágios e tarefas, você pode salvar e habilitar o pipeline.

Em seguida, aguarde até que o pipeline seja executado e concluído e verifique se foi bem-sucedido. Se falhou, corrija todos os erros e execute-o novamente.

Após o pipeline ter sido executado com êxito, estes são alguns aspectos que você pode querer confirmar:

  • Examine a execução do pipeline e visualize os resultados das etapas da tarefa.
  • No espaço de trabalho da execução do pipeline, localize os detalhes sobre seu contêiner e o repositório Git clonado.
  • No espaço de trabalho, confira os resultados das suas ferramentas pós-processo e verifique se há erros, problemas de cobertura de código, bugs e problemas de estilo.
  • Confirme se o seu artefato está preservado. Confirme também se a imagem foi exportada com o nome e o valor IMAGE.
  • Vá para o repositório do Docker e verifique se o pipeline publicou o seu contêiner.

Para obter um exemplo detalhado que mostra como o Code Stream integra continuamente seu código, consulte Como integrar continuamente o código do meu repositório do GitHub ou GitLab ao pipeline no Code Stream.