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>.
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.
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>.