O Code Stream fornece um plug-in Jenkins, que dispara trabalhos do Jenkins que compilam e testam seu código-fonte. O plug-in Jenkins executa casos de teste e pode usar scripts personalizados.

Para executar um trabalho do Jenkins no pipeline, use um servidor Jenkins e adicione o endpoint do Jenkins no Code Stream. Em seguida, crie um pipeline e adicione uma tarefa Jenkins a ele.

Ao usar a tarefa do Jenkins e um endpoint Jenkins no Code Stream, você pode criar um pipeline que oferece suporte a trabalhos de várias ramificações no Jenkins. O trabalho de várias ramificações inclui trabalhos individuais em cada ramificação de um repositório Git. Quando você cria pipelines no Code Stream que oferecem suporte a trabalhos de várias ramificações:

  • A tarefa do Jenkins pode executar trabalhos do Jenkins que residem em várias pastas no servidor do Jenkins.
  • Você pode substituir o caminho da pasta na configuração da tarefa do Jenkins para usar um caminho de pasta diferente, que substitui o caminho padrão definido no endpoint Jenkins no Code Stream.
  • Pipelines de várias ramificações no Code Stream detectam arquivos de trabalho do Jenkins do tipo .groovy em um repositório Git ou em um repositório GitHub e começam a criar trabalhos para cada ramificação verificada no repositório.
  • Você pode substituir o caminho padrão definido no endpoint Jenkins por um caminho fornecido na configuração da tarefa do Jenkins e executar um trabalho e pipeline que esteja associado a qualquer ramificação dentro de um trabalho do Jenkins principal.

Pré-requisitos

  • Configure um servidor Jenkins que execute a versão 1.561 ou mais recente.
  • Verifique se você é membro de um projeto no Code Stream. Se você não for membro, peça a um administrador do Code Stream para adicioná-lo como membro de um projeto. Consulte Como adicionar um projeto no Code Stream.
  • Verifique se existe um trabalho no servidor Jenkins para que a tarefa do pipeline possa executá-lo.

Procedimento

  1. Adicione e valide um endpoint do Jenkins.
    1. Clique em Endpoints > Novo Endpoint.
    2. Selecione um projeto e, para o tipo de endpoint, selecione Jenkins. Em seguida, insira um nome e uma descrição.
    3. Se esse endpoint for um componente crítico para os negócios em sua infraestrutura, ative Marcar como restrito.
    4. Insira o URL do servidor Jenkins.
    5. Digite o nome do usuário e a senha para fazer login no servidor Jenkins. Em seguida, insira as informações restantes.
      Tabela 1. Informações restantes para o endpoint do Jenkins
      Entrada do endpoint Descrição
      Caminho da pasta Caminho para a pasta que agrupa seus trabalhos. O Jenkins pode executar todos os trabalhos na pasta. É possível criar subpastas. Por exemplo:
      • folder_1 pode incluir job_1
      • folder_1 pode incluir pasta_2, que pode incluir job_2

      Quando você cria um endpoint para folder_1, o caminho da pasta é job/folder_1 e o endpoint lista apenas job_1.

      Para obter a lista de trabalhos na pasta filho chamada folder_2, você deve criar outro endpoint que use o caminho da pasta como /job/folder_1/job/folder_2/.

      Caminho da pasta para trabalhos do Jenkins de várias ramificações Para oferecer suporte a trabalhos do Jenkins de várias ramificações, na tarefa do Jenkins, insira o caminho completo que inclui a URL do servidor do Jenkins e o caminho completo do trabalho. Quando você inclui um caminho de pasta na tarefa do Jenkins, esse caminho substitui o caminho que aparece no endpoint Jenkins. Com o caminho da pasta personalizada na tarefa do Jenkins, o Code Stream exibe apenas os trabalhos que estão presentes nessa pasta.
      • Por exemplo, https://server.yourcompany.com/job/project
      • Se o pipeline também tiver que acionar o trabalho do Jenkins principal, use: https://server.yourcompany.com/job/project/job/main
      URL URL do host do servidor Jenkins. Insira a URL no formato protocolo://host:porta. Por exemplo: http://192.10.121.13:8080
      Intervalo de Sondagem Duração do intervalo para o Code Stream pesquisar atualizações para o servidor Jenkins.
      Contagem de repetição de solicitação Número de vezes para repetir a solicitação de compilação agendada para o servidor Jenkins.
      Tempo de espera de repetição Número de segundos a aguardar antes de tentar novamente a solicitação de compilação para o servidor Jenkins.
    6. Clique em Validar e verifique se o endpoint se conecta ao Code Stream. Se ele não se conectar, corrija os erros e clique em Salvar.
      O endpoint Jenkins que cria e testa seu código requer a URL e permite que você crie uma variável que armazena a senha do usuário.
  2. Para compilar seu código, crie um pipeline e adicione uma tarefa que use o endpoint do Jenkins.
    1. Clique em Pipelines > Novo Pipeline > Tela em Branco.
    2. Clique no estágio padrão.
    3. Na área de tarefas, digite um nome para a tarefa.
    4. Selecione o tipo de tarefa como Jenkins.
    5. Selecione o endpoint do Jenkins criado.
    6. No menu suspenso, selecione um trabalho no servidor Jenkins que será executado pelo pipeline.
    7. Digite os parâmetros do trabalho.
    8. Insira o token de autenticação para o trabalho do Jenkins.
    Ao configurar uma tarefa do Jenkins que usa seu endpoint Jenkins, você seleciona o trabalho do Jenkins, adiciona valores e pode inserir um token.
  3. Ative e execute o pipeline e exiba a execução dele.
    A execução do pipeline para a tarefa do Jenkins exibe os detalhes do trabalho do Jenkins, incluindo o ID do trabalho, a URL do trabalho e as chaves e os valores no resultado do trabalho.
  4. Observe os detalhes da execução e o status no painel de pipeline.
    É possível identificar quaisquer falhas e por que elas ocorreram. Também é possível ver tendências sobre as durações, conclusões e falhas de execução do pipeline.
    O dashboard do pipeline exibe detalhes sobre as execuções do pipeline, como o número de execuções do pipeline e suas durações, e o status de cada execução.

Resultados

Parabéns! Você integrou o Code Stream ao Jenkins adicionando um endpoint, criando um pipeline e configurando uma tarefa Jenkins que compila seu código.

Exemplo: Exemplo de YAML para uma tarefa de compilação Jenkins

Para o tipo de tarefa de compilação Jenkins usado neste exemplo, o YAML deve ser semelhante ao código a seguir, com notificações ativadas:

test:
  type: Jenkins
  endpoints:
    jenkinsServer: jenkins
  input:
    job: Add two numbers
    parameters:
      Num1: '23'
      Num2: '23'

O que Fazer Depois

Revise as outras seções para saber mais. Consulte Como conectar o Code Stream aos endpoints.