GitHub Actions configurações
Informações de configuração em GitHub Actions, como segredos, fluxos de trabalho e limitações.
Segredos em GitHub Actions
Crie segredos (credenciais) em GitHub repositório ou GitHub organização. Segredos são variáveis de ambiente (criptografadas) que você cria em uma organização ou repositório. Esses segredos estão disponíveis para uso no GitHub Actions fluxos de trabalho. Para obter mais informações, consulte Segredos criptografados .
| Segredo | Descrição |
|---|---|
| SN_INSTANCE_URL | ServiceNow URL da instância. Por exemplo, https://<instance_name>.service-now.com. |
| SN_ORCHESTRATION_TOOL_ID | Sys_id para GitHub ferramenta criada em ServiceNow instância. |
| SN_DEVOPS_INTEGRATION_TOKEN | Token secreto para GitHub ferramenta criada em DevOps( devops-integration-token parâmetro). Para acessar seu token secreto, navegue até seu GitHub registro da ferramenta em ServiceNow( Todos > Ferramentas > Ferramentas de Orquestração ) e selecione Token de cópia Na IU clássica. |
Fluxos de trabalho no GitHub repositório
Crie um arquivo YAML para definir a configuração do fluxo de trabalho em seu GitHub repositório.
- Todos os fluxos de trabalho do seu repositório devem ter uma extensão de arquivo .yml ou .yaml. Todos os fluxos de trabalho devem estar em
.github/fluxos de trabalhoe siga a sintaxe definida em Sintaxe de fluxo de trabalho para ações do GitHub . - O nome do fluxo de trabalho deve corresponder ao nome do arquivo do fluxo de trabalho.
- Os nomes dos fluxos de trabalho em Todos os fluxos de trabalho em Ações a guia deve corresponder aos fluxos de trabalho salvos em
.github/fluxos de trabalhodiretório do seu repositório. - Um nome de exibição deve ser fornecido para cada trabalho e deve ser exclusivo para cada trabalho no fluxo de trabalho. O nome do trabalho deve corresponder ao nome da fase na ação personalizada.
- Use
workflow_dispatchevento para acionar um fluxo de trabalho manualmente.
GitHub Actions detalhes da execução do fluxo de trabalho em DevOps
Depois de configurar os webhooks, as notificações de GitHub Actions enviados para ServiceNow DevOps sempre que um fluxo de trabalho é executado ou acionado.
- O webhook workflow_job notifica o. ServiceNow instância com status do trabalho (enfileirado, em_andamento, concluído) quando o fluxo de trabalho é executado manualmente ou acionado automaticamente em um GitHub Repositório.
- Os eventos de entrada são criados no ServiceNow a instância do status do trabalho (enfileirado, in_progress e concluído) e os eventos in_progress são ignorados.
- Eventos de entrada enfileirados e concluídos são processados e. ServiceNow DevOps Etapas de pipeline e tarefas de Orquestração são criadas para trabalhos configurados no fluxo de trabalho.
- A execução de pipeline é criada para cada execução de fluxo de trabalho com registros Execuções de tarefa e Execuções de etapa criados para cada trabalho executado na execução do fluxo de trabalho.
- Você pode usar a IU de pipeline para visualizar interações e resultados em uma execução de pipeline.
GitHub novas execuções
- Se um trabalho falhar antes que a solicitação de mudança esteja na fase Implementar, a solicitação de mudança criada não será reutilizada quando os trabalhos com falha forem executados novamente.
- Se os trabalhos com falha ou todos os trabalhos forem executados novamente, uma nova solicitação de mudança será criada.
- Agora, se um trabalho falhar quando a solicitação de mudança estiver nas fases de implementação ou pós-implementação, a solicitação de mudança será reutilizada quando os trabalhos com falha ou todos os trabalhos forem executados novamente.Nota:Se a solicitação de mudança já estiver implementada em uma etapa anterior antes que o trabalho falhe, a execução do pipeline não será interrompida. A solicitação de mudança é considerada já aprovada e implementada.
Fluxos de trabalho compostos
Para fluxos de trabalho compostos em que um fluxo de trabalho chama outro fluxo de trabalho e a etapa de mudança está no fluxo de trabalho secundário, o. job-nameo parâmetro da etapa de mudança deve estar no formato job-name: '<parent-job-name> / <child-job-name>' . Aqui, o espaço antes e depois da barra (/) é obrigatório.
GitHub Actions limitações para Velocidade de mudança para DevOps integração
- GitHub Actions e. GitHub Os ambientes são compatíveis com GitHub Enterprise Servidor a partir da versão 3,3.
- Para obter informações detalhadas sobre GitHub ambientes, consulte Usando ambientes para implantação .
- GitHub os ambientes estão disponíveis para repositórios privados somente no GitHub Enterprise Nuvem.
- Para GitHub Organizações, usam uma conta específica (com acesso às organizações necessárias) com token de acesso pessoal para integração com ServiceNow DevOps ou você também pode usar GitHub Por meio do código de autorização 2,0 ou JWT.
Para criação de ferramentas usando GitHub JWT, você deve criar uma ferramenta separada para uma organização separada.
- Somente o mais recente GitHub Actions os resultados da verificação podem ser extraídos de uma instância para uma execução de fluxo de trabalho.
- ServiceNow DevOps A automação de mudança usando ação personalizada ou ambiente não é compatível com trabalhos paralelos. Para trabalhos paralelos, a carga de notificação do webhook não contém informações sobre os trabalhos executados em paralelo com um número de sequência. Devido a essa limitação, a sequência de trabalhos depende da ordem de execução retornada pela resposta da API (/repos/"owner"/"repo"/actions/runs/"run_id"/jobs).
- URL de retorno de chamada para pausar e retomar a execução do fluxo de trabalho do ServiceNow a instância é compatível somente com GitHub Actions Recurso de Portas de implantação. No entanto, a criação de mudanças é possível por meio de portas de implantação e da Ação personalizada do GitHub.
- Usuário que cria GitHub ferramenta no ServiceNow a instância deve ser um revisor para aprovar o fluxo de trabalho GitHub Ambientes.