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.
Visão Geral
A workflow run is made up of one or more jobs
, which run in parallel by default. Para executar trabalhos sequencialmente, você pode definir dependências em outros trabalhos usando a palavra-chave jobs.<job_id>.needs
.
Cada trabalho é executado em um ambiente de executor especificado por runs-on
.
Você pode executar quantos trabalhos desejar, desde que esteja dentro dos limites de uso do fluxo de trabalho. Para obter mais informações, consulte "Limites de uso e cobrança" para executores hospedados em GitHub e "Sobre executores auto-hospedados" para limites de uso de executor auto-hospedado.
Se precisar encontrar o identificador exclusivo de uma tarefa em execução em um fluxo de trabalho, você poderá usar a API de GitHub Enterprise Server. Para obter mais informações, consulte "Trabalhos do fluxo de trabalho".
Configurando um ID para um trabalho
Use jobs.<job_id>
to give your job a unique identifier. A chave job_id
é uma string, e seu valor é um mapa dos dados de configuração do trabalho. Você deve substituir <job_id>
por uma string exclusiva para o objeto jobs
. <job_id>
deve começar por uma letra ou _
, além de conter somente caracteres alfanuméricos, -
ou _
.
Example: Creating jobs
Neste exemplo, foram criados dois trabalhos e seus valores de job_id
são my_first_job
e my_second_job
.
jobs:
meu_primeiro_trabalho:
name: meu primeiro trabalho
meu_segundo_trabalho:
name: meu segundo trabalho
Definir um nome para um trabalho
Use jobs.<job_id>.name
to a name for the job, which is displayed on GitHub.
Definindo trabalhos dos pré-requisitos
Use jobs.<job_id>.needs
to identify any jobs that must complete successfully before this job will run. Esse código pode ser uma string ou array de strings. Se houver falha em um trabalho, todos os trabalhos que dependem dele serão ignorados, a menos que os trabalhos usem uma expressão condicional que faça o trabalho continuar.
Example: Requiring successful dependent jobs
jobs:
job1:
job2:
needs: job1
job3:
needs: [job1, job2]
Neste exemplo, job1
deve ser concluído com êxito antes do início de job2
, e job3
aguarda a conclusão de job1
e job2
.
Os trabalhos neste exemplo são executados sequencialmente:
job1
job2
job3
Example: Not requiring successful dependent jobs
jobs:
job1:
job2:
needs: job1
job3:
if: ${{ always() }}
needs: [job1, job2]
Neste exemplo, job3
usa a expressão condicional always()
para que ela sempre seja executada depois de job1
e job2
terem sido concluídos, independentemente de terem sido bem sucedidos. Para obter mais informações, consulte "Expressões".