Skip to content
Latchkey

O Que É um Job no GitHub Actions?

Um job é uma unidade de trabalho em um workflow. Ele roda em um runner e contém uma lista ordenada de steps.

Workflows são feitos de jobs. Cada job recebe um runner novo, executa seus steps em ordem e reporta seu próprio pass/fail. Entender jobs é essencial para controlar paralelismo e dependências.

O que é

Um job é uma entrada nomeada sob a chave jobs: do workflow. Ele especifica onde roda com runs-on: e o que faz com uma lista de steps:.

A single job
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm test

Como funciona

Cada job roda em sua própria máquina virtual nova. Steps dentro de um job compartilham o filesystem e o ambiente daquela máquina, mas jobs diferentes são isolados uns dos outros.

Paralelo por padrão

Quando um workflow tem múltiplos jobs, eles rodam em paralelo, a menos que você declare dependências com needs:. Isso torna os workflows rápidos, mas significa que os jobs não podem assumir nenhum estado compartilhado.

Por que isso importa

Dividir o trabalho em jobs permite paralelizar, condicionar deploys a testes e rodar steps diferentes em sistemas operacionais diferentes. Cada job também é uma unidade de cobrança e de concorrência.

Conceitos relacionados

Jobs contêm steps, rodam em runners e podem ser sequenciados com a palavra-chave needs: para formar um grafo de dependências.

Principais conclusões

  • Um job roda em um único runner novo.
  • Jobs rodam em paralelo, a menos que sejam ordenados com needs:.
  • Steps em um job compartilham um filesystem; jobs separados não.

Guias relacionados