Como um administrador ou desenvolvedor do Code Stream, você pode integrar o Code Stream com o ciclo de vida de revisão de código Gerrit usando o gatilho Gerrit. O evento aciona um pipeline a ser executado quando você cria um conjunto de patches, publica rascunhos, mescla alterações de código no projeto Gerrit ou envia alterações diretamente na ramificação do Git.

Ao adicionar o gatilho Gerrit, você seleciona um ouvinte Gerrit, um projeto Gerrit no servidor Gerrit e configura eventos Gerrit. Na definição do ouvinte Gerrit, selecione um endpoint Gerrit. Se você precisar atualizar o endpoint Gerrit depois de conectar o ouvinte, deverá desconectar o ouvinte primeiro e, em seguida, atualizar o endpoint.

Neste exemplo, você configura primeiro um ouvinte Gerrit e, em seguida, usa esse ouvinte em um gatilho do Gerrit com dois eventos em três pipelines diferentes.

Pré-requisitos

Procedimento

  1. No Code Stream, clique em Gatilhos > Gerrit.
  2. (Opcional) Clique na guia Ouvintes e depois em Novo Ouvinte.
    Observação: Se o ouvinte Gerrit que você planeja usar para o gatilho Gerrit já estiver definido, pule esta etapa.
    1. Selecione um projeto.
    2. Insira um nome para o ouvinte Gerrit.
    3. Selecione um endpoint do Gerrit.
    4. Digite o Token de API.
      O token de API do VMware Cloud Services autentica você para conexões de API externas com o Code Stream. Para obter o token de API:
      1. Clique em Gerar Token.
      2. Insira o endereço de e-mail associado ao seu nome de usuário e senha e clique em Gerar.
        O token gerado será válido por seis meses. Ele também é conhecido como token de atualização.
        • Para manter o token como uma variável para uso futuro, clique em Criar Variável, insira um nome para a variável e clique em Salvar.
        • Para manter o token como um valor de texto para uso futuro, clique em Copiar e cole o token em um arquivo de texto para salvar localmente.
        Você pode optar por criar uma variável e armazenar o token em um arquivo de texto para uso futuro.
      3. Clique em Fechar.
      Se você criou uma variável, o token de API exibirá o nome da variável que você inseriu usando uma associação com cifrão. Se você tiver copiado o token, o token de API exibirá o token mascarado.

      Para instâncias locais, o ouvinte do gatilho Gerrit usa um endpoint Gerrit e um token de API, que você pode gerar na guia Ouvintes clicando em GERAR TOKEN.

    5. Para validar os detalhes do token e do endpoint, clique em Validar.
      Seu token expira após 90 dias.
    6. Clique em Criar.
    7. No cartão do ouvinte, clique em Conectar.
      O ouvinte começa a monitorar todas as atividades no servidor Gerrit e escuta todos os gatilhos ativados nesse servidor. Para parar de escutar um gatilho nesse servidor. Desative o gatilho.
      Observação: Para atualizar um endpoint do Gerrit que está conectado a um ouvinte, você deve desconectar o ouvinte antes de atualizar o endpoint.
      • Clique em Configurar > Gatilhos > Gerrit.
      • Clique na guia Ouvintes.
      • Clique em Desconectar no ouvinte que está conectado ao endpoint que você deseja atualizar.
  3. Clique na guia Gatilhos e depois em Novo Gatilho.
  4. Selecione um projeto no servidor Gerrit.
  5. Digite um nome.
    O nome do gatilho Gerrit deve ser exclusivo.
  6. Selecione um ouvinte Gerrit configurado.
    Usando o ouvinte Gerrit, o Code Stream fornece uma lista de projetos Gerrit que estão disponíveis no servidor.
  7. Selecione um projeto no servidor Gerrit.
  8. Insira a ramificação no repositório que o ouvinte Gerrit monitorará.
  9. (Opcional) Forneça inclusões de arquivo ou exclusões como condições para o gatilho.
    • Você fornece inclusões de arquivo que disparam os pipelines. Quando qualquer um dos arquivos em uma confirmação corresponde aos arquivos especificados nos caminhos de inclusão ou no Regex, os pipelines são disparados. Com um Regex especificado, o Code Stream apenas disparará os pipelines com nomes de arquivo no conjunto de alterações que corresponderem à expressão fornecida. O filtro Regex é útil ao configurar um gatilho para vários pipelines em um único repositório.
    • Você fornece exclusões de arquivos que evitam o disparo dos pipelines. Quando todos os arquivos em uma confirmação correspondem aos arquivos especificados nos caminhos de exclusão ou no Regex, os pipelines não são disparados.
    • Quando ativada, a opção Priorizar Exclusão garante que os pipelines não sejam acionados. Os pipelines não serão disparados, mesmo que qualquer um dos arquivos em uma confirmação corresponda aos arquivos especificados nos caminhos de exclusão ou no regex. A configuração padrão para Priorizar Exclusão é Desativado.
    Se as condições atenderem à inclusão e à exclusão de arquivos, os pipelines não serão disparados.

    No exemplo a seguir, tanto as inclusões quanto as exclusões de arquivos são condições para o gatilho.

    As inclusões e exclusões de arquivos aparecem como pares PLAIN ou pares REGEX com valores.

    • Para inclusões de arquivo, uma confirmação que tiver qualquer alteração em runtime/src/main/a.java ou qualquer arquivo Java disparará pipelines definidos na configuração de eventos.
    • Para exclusões de arquivos, uma confirmação que tiver alterações somente em ambos os arquivos não disparará os pipelines definidos na configuração de eventos.
  10. Clique em Nova Configuração.
    1. Para um evento Gerrit, selecione Conjunto de Patches Criado, Rascunho Publicado ou Alteração Mesclada. Ou, para um push direto para o Git que ignore o Gerrit, selecione Push Git direito.
      Observação: A partir da versão de lançamento 2.15 do Gerrit, não há mais suporte para alterações de rascunho e conjuntos de alterações de rascunho. Portanto, se você tem a versão de lançamento 2.15 ou mais recente do Gerrit, Rascunho Publicado não é um evento permitido.
    2. Selecione o pipeline que será disparado.
      Se o pipeline incluir parâmetros de entrada personalizados adicionados, a lista Parâmetros de Entrada exibirá parâmetros e valores. É possível inserir valores para os parâmetros de entrada que serão transmitidos ao pipeline com o evento de gatilho. Também é possível deixar os valores em branco ou usar os valores padrão.
      Observação: Se valores padrão estiverem definidos:
      • Qualquer valor inserido para os parâmetros de entrada substituirá os valores padrão definidos no modelo de pipeline.
      • Os valores padrão na configuração do gatilho não mudarão se os valores dos parâmetros no modelo de pipeline mudarem.

      Para obter informações sobre a inserção automática de parâmetros de entrada para gatilhos do Gerrit, consulte Pré-requisitos.

    3. Para Conjunto de Patches Criado, Rascunho Publicado e Alterar Mesclados, algumas ações aparecem com rótulos por padrão. Você pode alterar o rótulo ou adicionar comentários. Em seguida, quando o pipeline for executado, o rótulo ou comentário aparecerá na guia Atividade como a Ação realizada para o pipeline.
      A configuração do Evento do Gerrit permite que você insira comentários usando uma variável para o comentário de Êxito ou Falha. Por exemplo, ${var.success} e ${var.failure}.
    4. Clique em Salvar.
    Para adicionar vários eventos de gatilho em vários pipelines, clique em Nova Configuração novamente.
    No exemplo a seguir, é possível ver os eventos de três pipelines:
    • Se um evento de Alteração Mesclada ocorrer no projeto Gerrit, o pipeline Gerrit-Pipeline será disparado.
    • Se um evento de Conjunto de Patches Criado ocorrer no projeto Gerrit, os pipelines Gerrit-Trigger-Pipeline e Gerrit-Demo-Pipeline serão disparados.

    A configuração do ouvinte e do gatilho Gerrit inclui os tipos de evento e os pipelines que podem ser disparados.

  11. Clique em Criar.
    O gatilho Gerrit aparece como um novo cartão na guia Gatilhos e é definido como Desativado por padrão.
  12. No cartão de gatilho, clique em Ativar.
    Depois que você ativar o gatilho, ele pode usar o ouvinte Gerrit, que começa a monitorar eventos que ocorrem na ramificação do projeto Gerrit.
    Para criar um gatilho que tenha as mesmas condições de inclusão e de exclusão de arquivos, mas com um repositório diferente daquele que você incluiu quando criou o gatilho, clique no cartão de gatilho Ações > Clonar. Em seguida, no gatilho clonado, clique em Abrir e altere os parâmetros.

Resultados

Parabéns! Você configurou com êxito um gatilho Gerrit com dois eventos em três pipelines diferentes.

O que Fazer Depois

Depois de confirmar uma alteração de código no projeto Gerrit, observe a guia Atividade do evento Gerrit no Code Stream. Verifique se a lista de atividades inclui entradas que correspondem a cada execução de pipeline na configuração do gatilho.

Quando um evento ocorrer, apenas os pipelines no gatilho Gerrit relacionados ao tipo específico de evento poderão ser executados. Neste exemplo, se um conjunto de patches for criado, somente o Gerrit-Gatilho-Pipeline e o Gerrit-Demo-Pipeline serão executados.

As informações nas colunas da guia Atividade descrevem cada evento do gatilho Gerrit. Você pode selecionar as colunas exibidas clicando no ícone da coluna que aparece abaixo da tabela.
  • As colunas Alterar Assunto e Execução estarão vazias quando o disparador tiver sido um push Git direto.
  • A coluna Gatilho para Gerrit mostra o gatilho que criou o evento.
  • A coluna Ouvinte está desativada por padrão. Quando selecionada, ela exibe o ouvinte Gerrit que recebeu o evento. Um único ouvinte pode aparecer como associado a vários gatilhos.
  • A coluna Tipo de Gatilho está desativada por padrão. Quando selecionada, ela exibe o tipo de gatilho como AUTOMÁTICO ou MANUAL.
  • Outras colunas incluem Hora da Confirmação, N° Alteração, Status, Mensagem, Ação realizada, Usuário, Projeto Gerrit, Ramificação e Evento.

A guia Atividade do gatilho Gerrit exibe todas as colunas selecionadas e as informações relevantes em cada coluna para todas as entradas de atividades.

Para controlar a atividade para uma execução de pipeline concluída ou que falhou, clique nos três pontos à esquerda de qualquer entrada na tela Atividade.

  • Se a execução do pipeline falhar devido a um erro no modelo de pipeline ou outro problema, corrija o erro e selecione Executar novamente, o que repete a execução do pipeline.
  • Se a execução do pipeline falhar devido a um problema de conectividade de rede ou outro problema, selecione Retomar, o que reinicia a mesma execução de pipeline e economiza tempo de execução.
  • Use Visualizar Execução, o que abre a visualização de execução do pipeline. Consulte Como executar um pipeline e ver os resultados.
  • Use Excluir para excluir a entrada da tela Atividade.
Se um evento Gerrit falhar em disparar um pipeline, você poderá clicar em Disparar Manualmente e, em seguida, selecionar o gatilho para Gerrit, inserir o ID da Alteração e clicar em Executar.
Observação: Disparar Manualmente apenas funciona para eventos do Gerrit válidos, como Conjunto de patches criado, Alteração Mesclada e Publicado em rascunho.