Skip to main content

Esta versão do GitHub Enterprise Server será descontinuada em 2025-08-27. 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 Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Using jobs in a workflow

Use workflows to run multiple jobs.

Prerequisites

To implement jobs in your workflows, you need to understand what jobs are. See Understanding GitHub Actions.

Setting an ID for a job

Use jobs.<job_id> para fornecer ao seu trabalho um identificador exclusivo. A chave job_id é uma cadeia de caracteres, e o valor dela é um mapa dos dados de configuração do trabalho. Você precisa substituir <job_id> por uma cadeia de caracteres exclusiva para o objeto jobs. A <job_id> precisa começar com uma letra ou _ e conter apenas caracteres alfanuméricos, - ou _.

Exemplo: Criando trabalhos

Neste exemplo, dois trabalhos foram criados, e os valores de job_id são my_first_job e my_second_job.

jobs:
  my_first_job:
    name: My first job
  my_second_job:
    name: My second job

Setting a name for a job

Use jobs.<job_id>.name para definir um nome para o trabalho, que é exibido na interface do usuário do GitHub.

Defining prerequisite jobs

Use jobs.<job_id>.needs para identificar todos os trabalhos que precisam ser concluídos com êxito antes que este trabalho seja executado. Esse código pode ser uma string ou array de strings. Se houver falha em um trabalho ou ele for ignorado, 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. Se uma execução contiver uma série de trabalhos que precisem uns dos outros, uma falha ou omissão se aplicará a todos os trabalhos na cadeia de dependência do ponto de falha ou omissão em diante. Se quiser que um trabalho seja executado mesmo que um trabalho do qual ele dependa não seja bem-sucedido, use a expressão condicional always() em jobs.<job_id>.if.

Exemplo: Exigindo trabalhos dependentes com sucesso

jobs:
  job1:
  job2:
    needs: job1
  job3:
    needs: [job1, job2]

Neste exemplo, job1 precisa ser concluído com êxito antes que job2 seja iniciado, e job3 aguarda a conclusão de job1 e de job2.

Os trabalhos neste exemplo são executados sequencialmente:

  1. job1
  2. job2
  3. job3

Exemplo: Não exigindo trabalhos dependentes com sucesso

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 após a conclusão de job1 e de job2, independentemente de elas terem sido bem-sucedidas. Para saber mais, confira Evaluate expressions in workflows and actions.

Using a matrix to run jobs with different variables

To automatically run a job with different combinations of variables, such as operating systems or language versions, define a matrix strategy in your workflow.

For more information, see Running variations of jobs in a workflow.