O Que É uma Variável de Pipeline? Passando Valores Através de uma Execução
Uma variável de pipeline é um valor nomeado que jobs e steps podem ler durante uma execução, usado para configurar o comportamento sem chumbar valores no código.
Pipelines precisam saber de coisas: para qual environment fazer deploy, qual versão marcar com tag, qual endpoint de API acessar. Variáveis de pipeline carregam esses valores para seus jobs e steps. Elas mantêm a configuração fora dos seus scripts, deixam um mesmo pipeline se comportar de forma diferente por branch ou environment, e fornecem uma forma controlada de injetar secrets.
De onde vêm as variáveis
- Built-in: a plataforma define valores como o SHA do commit e o nome da branch.
- Definidas: você declara variáveis no arquivo do pipeline.
- Armazenadas: secrets e config definidos nas configurações do projeto ou da org.
- Computadas: um step escreve um valor que outros steps então leem.
Escopo e precedência
Variáveis podem ter escopo no pipeline inteiro, em um único job ou em um step. Escopos mais estreitos geralmente sobrescrevem os mais amplos, então uma variável em nível de job vence uma em nível de pipeline com o mesmo nome. Conhecer a precedência evita surpresas.
Um exemplo rápido
No GitHub Actions você lê uma variável como ${{ vars.DEPLOY_ENV }} ou uma variável de environment como ${ENV_NAME} dentro de um step de shell. Definir env: ENV_NAME: staging em um job a torna visível para todo step naquele job.
Variáveis vs secrets
Variáveis simples servem para config não sensível. Secrets (chaves de API, tokens) são um tipo especial de variável: criptografados em repouso e mascarados nos logs. Nunca coloque uma credencial em uma variável simples, e nunca dê echo de um secret no log.
Passando valores entre jobs
Steps em um job compartilham variáveis livremente, mas jobs são isolados. Para enviar um valor de um job para outro você usa outputs de job, que a plataforma passa ao longo da aresta de dependência. É assim que um build job pode entregar uma string de versão a um deploy job.
Principais conclusões
- Uma variável de pipeline é um valor nomeado que jobs e steps leem em tempo de execução.
- Variáveis podem ser built-in, definidas, armazenadas ou computadas durante a execução.
- Use secrets (não variáveis simples) para credenciais; passe valores entre jobs via outputs.