O Code Stream permite disparar um pipeline quando ocorre uma revisão de código no seu projeto Gerrit. O trigger para a definição Gerrit inclui o projeto Gerrit e os pipelines que devem ser executados para diferentes tipos de eventos.
O trigger do Gerrit usa um ouvinte Gerrit no servidor Gerrit que você monitorará. Para definir um endpoint do Gerrit no Code Stream, selecione um projeto e insira a URL do servidor Gerrit. Em seguida, especifique o endpoint ao criar um ouvinte Gerrit nesse servidor.
Se você estiver usando um servidor Gerrit como um endpoint do Code Stream em uma instância do vRealize Automation que tenha o FIPS ativado, deverá verificar se o seu arquivo de configuração do Gerrit inclui as chaves de autenticação de mensagem corretas. Se o arquivo de configuração do servidor Gerrit não incluir as chaves de autenticação de mensagem corretas, o servidor não poderá ser exibido corretamente e mostrará esta mensagem: PrivateKey/PassPhrase is incorrect
O procedimento a seguir mostra como definir um endpoint do Gerrit que você pode usar na definição do ouvinte Gerrit. "No caso de você precisar editar um endpoint, uma etapa opcional no final do procedimento explica como e quando realizar a atualização."
Pré-requisitos
- Verifique se é possível acessar o servidor Gerrit ao qual pretende se conectar.
- 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.
Procedimento
- Defina um endpoint do Gerrit.
- Clique em e clique em Novo Endpoint.
- Selecione um projeto e, para o tipo de endpoint, selecione Gerrit. Em seguida, insira um nome e uma descrição.
- Se esse endpoint for um componente crítico para os negócios em sua infraestrutura, ative Marcar como restrito.
- Digite o URL do servidor Gerrit.
Para usar a porta padrão, você pode fornecer um número de porta com a URL ou deixar o valor em branco.
- Digite o nome de usuário e a senha para o servidor Gerrit.
Se a senha tiver que ser criptografada, clique em
Criar Variável e selecione o tipo:
- Segredo. A senha é resolvida quando um usuário com qualquer função executa o pipeline.
- Restrito. A senha é resolvida quando um usuário que tem a função Admin executa o pipeline.
Para o valor, insira a senha que deve ser segura, como a senha de um servidor do Jenkins.
- Para a chave privada, digite a chave SSH usada para acessar o servidor Gerrit de forma segura.
Essa chave é a chave privada RSA que reside no diretório
.ssh.
- (Opcional) Se uma frase-chave estiver associada à chave privada, digite a frase-chave.
Para criptografar a senha, clique em
Criar Variável e selecione o tipo:
- Segredo. A senha é resolvida quando um usuário com qualquer função executa o pipeline.
- Restrito. A senha é resolvida quando um usuário que tem a função Admin executa o pipeline.
Para o valor, insira a senha que deve ser segura, como a senha para um servidor SSH.
- Clique em Validar e verifique se o endpoint do Gerrit no Code Stream se conecta ao servidor Gerrit.
Se ela não estabelecer a conexão, corrija os erros e clique em
Validar novamente.
- Clique em Criar.
- Verifique se o ambiente do vRealize Automation está com o FIPS ativado ou faça com que o seu trabalho do Jenkins crie o ambiente com o FIPS ativado usando a URL do Jenkins.
- Para executar o comando na linha de comando, conecte-se ao dispositivo do vRealize Automation 8.x via SSH e faça login como usuário root. Por exemplo, conecte-se à URL do nome de domínio totalmente qualificado, como https://cava-1-234-567.yourcompanyFQDN.com na porta 22, 5480 ou 443.
- Para verificar o FIPS no vRealize Automation, execute o comando vracli security fips.
- Verifique se o comando retorna
FIPS mode: strict
.
- Se o servidor Gerrit for um endpoint em uma instância do vRealize Automation que tenha o FIPS ativado, certifique-se de que o arquivo de configuração do Gerrit inclua as chaves corretas de autenticação de mensagem (MAC).
- Abra o Gerrit e crie um par de chaves SSH.
- Localize o arquivo de configuração do servidor Gerrit em '$site_path'/etc/gerrit.config.
- Verifique se o arquivo de configuração do servidor Gerrit inclui uma ou mais chaves de código de autenticação de mensagem (MAC), com exceção de
hmac-MD5
.
Observação: No modo FIPS,
hmac-MD5
não é um algoritmo MAC com suporte. Para garantir que o servidor Gerrit seja iniciado corretamente, o arquivo de configuração do servidor Gerrit deve excluir esse algoritmo. Se o servidor Gerrit não for inicializado corretamente, ele exibirá esta mensagem:
PrivateKey/PassPhrase is incorrect
Nomes de chaves do código de autenticação de mensagem (MAC) com suporte que começam com um sinal de mais (+) estão habilitados. Os nomes de chave MAC que começam com um hífen (-) são removidos da lista de MACs padrão. Por padrão, estes MACs com suporte estão disponíveis no
Code Stream para o servidor Gerrit:
hmac-md5-96
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
- (Opcional) Antes de atualizar um endpoint do Gerrit para alterar uma URL ou uma chave privada, por exemplo, verifique se o endpoint está conectado a um ouvinte Gerrit.
- Se o endpoint não estiver conectado a um ouvinte Gerrit, execute as seguintes etapas para atualizar o endpoint:
- Clique em e clique em Abrir no endpoint que você deseja atualizar.
- Atualize a definição do endpoint.
- Clique em Validar para verificar se o endpoint do Gerrit no Code Stream se conecta ao servidor Gerrit.
- Clique em Salvar.
- Se o endpoint estiver conectado a um ouvinte Gerrit, execute as seguintes etapas para atualizar o endpoint:
- Desconecte todos os ouvintes Gerrit anexados. Consulte Como usar o gatilho Gerrit no Code Stream para executar um pipeline.
- Realize as etapas para configurar o novo endpoint.
- Valide e salve a definição de endpoint atualizada.
- Conecte os ouvintes Gerrit novamente.
Observação: Se os ouvintes Gerrit não se desconectarem, isso pode ser porque os valores atuais do endpoint do Gerrit foram alterados para que os ouvintes não possam mais se comunicar com o servidor Gerrit. Se ocorrer esse problema, primeiro faça alterações na definição do endpoint para que os ouvintes possam se comunicar com o servidor Gerrit. Em seguida, desconecte os ouvintes Gerrit e reconecte-os.
O que Fazer Depois
Para saber mais, leia as outras seções. Consulte Como usar o gatilho Gerrit no Code Stream para executar um pipeline.