Skip to content
Latchkey

O Que É um Job Output no GitHub Actions?

Um job output é um valor que um job publica para que os jobs que o need possam lê-lo pelo contexto needs.

Os jobs são isolados, então passar dados entre eles exige um mecanismo. Os job outputs permitem que um job exponha valores, como uma versão calculada ou uma tag de imagem, que os jobs posteriores consomem.

O que é

Um valor nomeado declarado no map outputs: de um job, originado de um step output. Os jobs dependentes o leem por meio de needs.<job>.outputs.<name>.

Declaring a job output
jobs:
  build:
    runs-on: ubuntu-latest
    outputs:
      version: ${{ steps.v.outputs.version }}
    steps:
      - id: v
        run: echo "version=1.2.3" >> "${GITHUB_OUTPUT}"

Como funciona

Um step escreve um valor em seu step output; o job mapeia isso para um job output; um job posterior que lista o produtor em needs o lê a partir do contexto needs.

Consuming it
  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - run: echo "Deploying ${{ needs.build.outputs.version }}"

Quando usá-los

  • Passar uma versão ou tag calculada do build para o deploy.
  • Compartilhar uma flag booleana que controla um job posterior.
  • Repassar um identificador curto em vez de um artifact completo.

Por que importa

Os job outputs são a forma canônica de passar valores pequenos entre jobs, números de versão, tags, flags calculadas, mantendo os pipelines DRY sem artifacts para strings minúsculas.

Conceitos relacionados

Os job outputs se baseiam em step outputs e na palavra-chave needs e são lidos pelo contexto needs.

Principais conclusões

  • Um job output expõe um valor para jobs dependentes.
  • Ele é originado de um step output.
  • Leia-o via needs.<job>.outputs.<name>.

Guias relacionados