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