0Pricing
DevOps Bootcamp · Aula

Exportando modelos nomeados reutilizáveis

Publicando parciais que outros gráficos podem incluir

Exportando modelos nomeados reutilizáveis é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Modelos nomeados são o conteúdo principal

Um pacote de biblioteca distribui seu conteúdo na forma de modelos nomeados. Você os escreve com define, exatamente como faria em qualquer arquivo _helpers.tpl.

{{- define "common.fullname" -}}
{{ .Release.Name }}-{{ .Chart.Name }}
{{- end -}}

Dê um espaço de nomes aos seus modelos

Os nomes dos modelos são globais em um pacote e em suas dependências. Prefixe os seus com o nome da biblioteca, como common.labels, para evitar conflitos.

{{- define "common.labels" -}}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}

Coloque-os em templates

Os modelos de biblioteca ficam no diretório templates do pacote, em arquivos com um sublinhado inicial para que o Helm nunca os renderize como manifestos.

common/
  templates/
    _labels.tpl
    _names.tpl

Define não produz saída por si só

Um bloco define isolado não produz nada quando o pacote é renderizado. O modelo só emite texto quando outro pacote o inclui posteriormente.

Exporte um recurso completo

Você pode definir um objeto inteiro do Kubernetes como um único modelo nomeado. Os consumidores então renderizam um Service completo com uma única chamada a include.

{{- define "common.service" -}}
apiVersion: v1
kind: Service
metadata:
  name: {{ .Release.Name }}
{{- end -}}

Aceite o contexto do chamador

Dentro de um fragmento, o ponto é o que quer que o chamador forneça. Ler .Values e .Release permite que o seu modelo se adapte a cada pacote consumidor.

{{- define "common.image" -}}
{{ .Values.image.repository }}:{{ .Values.image.tag }}
{{- end -}}

Documente o escopo esperado

Como os fragmentos confiam na entrada que recebem, deixe um comentário informando o contexto necessário. Um consumidor que passe o ponto errado receberá erros confusos.

{{/* common.fullname expects the root context (.) */}}

Mantenha uma única responsabilidade por modelo

Divida a lógica em fragmentos pequenos e focados: um para nomes, um para rótulos e um para seletores. Peças pequenas podem ser compostas facilmente em muitos pacotes.

Os marcadores de espaço em branco importam

Envolva define e end em marcadores de hífen, como {{- e -}}, para que a saída da biblioteca não insira linhas em branco indesejadas no YAML do consumidor.

{{- define "common.name" -}}
{{ .Chart.Name }}
{{- end -}}

Nada é exportado até ser incluído

Definir um modelo o torna disponível, não ativo. Ele só contribui para a saída quando um pacote de aplicação o chama com include ou template.

Um pequeno conjunto de auxiliares reutilizáveis

Alguns fragmentos, como common.fullname e common.labels, formam o vocabulário compartilhado sobre o qual todo pacote da equipe pode ser construído.

{{- define "common.fullname" -}}
{{ printf "%s-%s" .Release.Name .Chart.Name }}
{{- end -}}

Verificação rápida

Por que uma biblioteca deve prefixar os nomes de seus modelos, usando common.labels em vez de labels?

Recapitulação: exportando modelos

Você publica lógica reutilizável com define em arquivos com prefixo de sublinhado, cria um espaço de nomes para os nomes e confia no ponto do chamador para obter o contexto. 🧩

Perguntas Frequentes

A aula “Exportando modelos nomeados reutilizáveis” é grátis?

Sim — o texto completo de “Exportando modelos nomeados reutilizáveis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Exportando modelos nomeados reutilizáveis”?

Publicando parciais que outros gráficos podem incluir Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Exportando modelos nomeados reutilizáveis”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Declarando um tipo de gráfico de biblioteca
  2. Exportando modelos nomeados reutilizáveis
  3. Consumindo uma biblioteca como dependência
  4. Substituindo localmente os padrões da biblioteca
← Voltar para DevOps Bootcamp