Skip to main content

Esta versão do GitHub Enterprise foi descontinuada em 2022-10-12. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Cancelar um fluxo de trabalho

Você pode cancelar a execução de um fluxo de trabalho em andamento. Ao cancelar a execução de um fluxo de trabalho, o GitHub cancela todos os trabalhos e as etapas que integram esse fluxo de trabalho.

Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.

É necessário o acesso de gravação ao repositório é para executar essas etapas.

Cancelar a execução do fluxo de trabalho

  1. On your GitHub Enterprise Server instance, navigate to the main page of the repository. 1. Abaixo do nome do repositório, clique em Actions. Guia Actions no menu de navegação do repositório principal 1. Na barra lateral esquerda, clique no fluxo de trabalho que deseja ver. Lista de fluxo de trabalho na barra lateral esquerda
  2. Na lista de execuções do fluxo de trabalho, clique no nome da execução queued ou in progress que deseja cancelar. Nome da execução de fluxo de trabalho
  3. No canto superior direito do fluxo de trabalho, clique em Cancelar fluxo de trabalho. Botão Cancelar conjunto de verificações

Etapas que o GitHub realiza para cancelar uma execução de fluxo de trabalho

Ao cancelar a execução do fluxo de trabalho, você poderá estar executando outro software que utiliza recursos relacionados �  execução do fluxo de trabalho. Para ajudar você a liberar recursos relacionados �  execução do fluxo de trabalho, pode ser útil entender as etapas que GitHub realiza para cancelar a execução de um fluxo de trabalho.

  1. Para cancelar a execução de fluxo de trabalho, o servidor avalia novamente as condições if para todas as tarefas em execução atualmente. Se a condição for avaliada como true, o trabalho não será cancelado. Por exemplo, a condição if: always() será avaliada como true e o trabalho continuará sendo executado. Quando não há nenhuma condição, isso é equivalente �  condição if: success(), que só é executada se a etapa anterior foi concluída com sucesso.
  2. Para trabalhos que devem ser cancelados, o servidor envia uma mensagem de cancelamento para todas as máquinas dos executores com trabalhos que precisam ser cancelados.
  3. Para os trabalhos que continuam sendo executados, o servidor avalia as condições if para as etapas não concluídas. Se a condição for avaliada como true, a etapa continuará sendo executada.
  4. Para etapas que precisam ser canceladas, o computador do executor envia SIGINT/Ctrl-C para o processo de entrada da etapa (node para a ação do JavaScript, docker para a ação de contêiner e bash/cmd/pwd quando run é usado em uma etapa). Se o processo não for encerrado em até 7.500 ms, o executor enviará SIGTERM/Ctrl-Break ao processo e aguardará 2.500 ms para que o processo seja encerrado. Se o processo ainda estiver em execução, o corredor finalizará abruptamente a árvore do processo.
  5. Após o tempo-limite de cancelamento de 5 minutos, o servidor irá forçar o encerramento de todos os trabalhos e etapas que não terminarem de ser executadas ou não concluírem o processo de cancelamento.