Esta versão do GitHub Enterprise foi descontinuada em 2021-09-23. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Usar executores auto-hospedados em um fluxo de trabalho

Para usar executores auto-hospedados em um fluxo de trabalho, você pode usar as etiquetas para especificar o tipo de executor para uma trabalho.

Observação: GitHub Actions estava disponível para GitHub Enterprise Server 2.22 como um beta limitado. O beta terminou. GitHub Actions está agora geralmente disponível em GitHub Enterprise Server 3.0 ou posterior. Para obter mais informações, consulte as observações sobre a versão GitHub Enterprise Server 3.0.


Observação: Executores hospedados em GitHub não são atualmente compatíveis com GitHub Enterprise Server. Você pode ver mais informações sobre suporte futuro planejado no Itinerário público do GitHub.

Para obter informações sobre como criar etiquetas-padrão e etiquetas personalizadas, consulte "Usando etiquetas com executores auto-hospedados".

Usar executores auto-hospedados em um fluxo de trabalho

As etiquetas permitem que você envie trabalhos do fluxo de trabalho para tipos específicos de executores auto-hospedados, com base em suas características compartilhadas. Por exemplo, se o seu trabalho exigir um componente de hardware específico ou um pacote de software, você poderá atribuir uma etiqueta personalizada a um executor e, em seguida, configurar seu trabalho para ser executado somente em executores com essa etiqueta.

Para especificar um executor auto-hospedado para o seu trabalho, configure runs-on no seu arquivo de fluxo de trabalho com etiquetas de executores auto-hospedados.

All self-hosted runners have the self-hosted label. Using only this label will select any self-hosted runner. To select runners that meet certain criteria, such as operating system or architecture, provide an array of labels that begins with self-hosted (this must be listed first) and then includes additional labels as needed.

Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para GitHub Actions".

Usar etiquetas-padrão para rotear tarefas

Um executor auto-hospedado recebe automaticamente certas etiquetas ao ser adicionado a GitHub Actions. Elas são usadas para indicar seu sistema operacional e sua plataforma de hardware:

  • auto-hospedado: Etiqueta-padrão aplicada a todos os executores auto-hospedados.
  • Linux, Windows, ou macOS: Aplicado, dependendo do sistema operacional.
  • x64, ARM, ou ARM64: Aplicado dependendo da arquitetura do hardware.

Você pode usar o YAML do seu fluxo de trabalho para enviar trabalhos para uma combinação dessas etiquetas. Neste exemplo, um executor auto-hospedado que corresponde a todas as três etiquetas será elegível para executar a o trabalho:

runs-on: [self-hosted, linux, ARM64]
  • auto-hospedado - Execute esse trabalho em um executor auto-hospedado.
  • linux - Use somente um executor baseado no Linux.
  • ARM64 - Use apenas um executor baseado no hardware ARM64.

As etiquetas-padrão são fixas e não podem ser alterados ou removidos. Considere usar etiquetas personalizadas caso precise de mais controle sobre o roteamento de trabalhos.

Usar etiquetas personalizadas para rotear trabalhos

Você pode criar etiquetas personalizadas e atribuí-las aos seus executores auto-hospedados a qualquer momento. As etiquetas personalizadas permitem que você envie trabalhos para determinados tipos de executores auto-hospedados, com base no modo como como são rotulados.

Por exemplo, se você tiver uma tarefa que requer um tipo específico de hardware gráfico, você poderá criar uma etiqueta personalizada denominada gpu e atribuí-la aos executores que têm o hardware instalado. Um executor auto-hospedado que corresponde a todas as etiquetas atribuídas será elegível para executar o trabalho.

Este exemplo mostra um trabalho que combina etiquetas-padrão e etiquetas personalizadas:

runs-on: [self-hosted, linux, x64, gpu]
  • auto-hospedado - Execute esse trabalho em um executor auto-hospedado.
  • linux - Use somente um executor baseado no Linux.
  • x64 - Use somente um executor baseado no hardware x64.
  • gpu - Esta etiqueta personalizada foi atribuída manualmente a executores auto-hospedados com o hardware GPU instalado.

Estas etiquetas operam cumulativamente. Portanto, as etiquetas de um executor auto-hospedado devem corresponder a todas as quatro para ser elegíveis a processar o trabalho.

Precedência de encaminhamento para executores auto-hospedados

Ao encaminhar um trabalho para um executor auto-hospedado, GitHub procura um executor que corresponde às etiquetas runs-on do trabalho:

  1. GitHub primeiro procura um executor no nível do repositório, em seguida, no nível da organização e, por fim, no nível da empresa.
  2. Em seguida, o trabalho é enviado para o primeiro executor correspondente que está on-line e inativo.
    • Se todos os executores on-line estiverem ocupados, o trabalho será agendado no nível com o maior número de executores on-line.
    • Se todos os runners correspondentes estiverem off-line, a tarefa será listada no nível com o maior número de executores off-line correspondentes.
    • Se não houver executores correspondentes em qualquer nível, o trabalho falhará.
    • Se o trabalho permanecer na fila por mais de 24 horas, o trabalho falhará.