Skip to content
Latchkey

O que é uma variável de template? Explicado

Uma variável de template é um marcador nomeado em um template que um mecanismo de templating substitui por um valor concreto para produzir o texto final.

Uma variável de template permite escrever um único arquivo com espaços em branco para preencher e, então, gerar muitas versões concretas a partir dele. Um mecanismo de templating lê o template, procura cada variável e substitui o valor. O CI depende disso para renderizar configurações, manifestos e relatórios por ambiente - um template, valores diferentes para staging e produção.

O que é uma variável de template

Uma variável de template é um marcador escrito em uma sintaxe de templating, muitas vezes chaves duplas ao redor de um nome, embutido em texto de outra forma estático. O mecanismo substitui cada marcador por um valor fornecido, produzindo a saída final renderizada. O template permanece reutilizável; apenas os valores mudam.

Mecanismos de templating

Existem muitos mecanismos - Jinja, Go templates, Handlebars e o templating do Helm entre eles. Além da simples substituição, eles frequentemente suportam condicionais, loops e funções, de modo que um template pode adaptar sua estrutura, não apenas seus valores. O mecanismo define a sintaxe exata do marcador e suas capacidades.

Templating versus interpolação

Eles se sobrepõem, mas diferem em escopo. A interpolação de shell ou de CI substitui variáveis de ambiente em comandos em tempo de execução. O templating é uma etapa de render deliberada que produz um arquivo inteiro a partir de um template e um conjunto de valores, geralmente com lógica mais rica como loops e condicionais.

Variáveis de template em CI

Os pipelines renderizam templates para produzir configurações específicas de ambiente: um manifesto Kubernetes por ambiente, uma configuração de deploy com a região correta, ou um arquivo de notas de release a partir de um template mais a versão. Uma etapa de render preenche as variáveis e, então, uma etapa posterior aplica ou publica o resultado.

Rendering a template in CI
# Render a template with values in a CI step
steps:
  - run: |
      export VERSION=1.4.0
      envsubst < deploy.tpl.yml > deploy.yml
  - run: kubectl apply -f deploy.yml

Nota Latchkey

Ferramentas de templating como envsubst, Jinja ou Helm são CLIs comuns que seu job instala, e na Latchkey esses downloads de ferramentas e dependências ficam em cache entre runs, de modo que uma etapa de render permanece rápida.

Principais conclusões

  • Uma variável de template é um marcador nomeado que um mecanismo de templating substitui por um valor concreto.
  • Mecanismos de templating adicionam lógica como condicionais e loops além da simples substituição.
  • O CI renderiza templates para produzir configurações e arquivos por ambiente, e então aplica o resultado.

Guias relacionados