Backstage – Transformando e Reutilizando variáveis em seu template com uma action customizada

Ao criar um template no backstage tive a necessidade de reutilizar váriaveis e também fazer modificações. Por exemplo, eu adquiro um ‘Nome do projeto’ e com esse nome, eu quero que automaticamente eu tenha um artifactId e um packageName para passar para meu template Java a fim de deixar tudo estruturado e padronizado. Utilizando o próprio template, ele é bem limitado com os recursos de programação utilizando o Nunjucks além de que atualmente não conseguimos salvar váriáveis em um contexto para reutiliza-las. Por exemplo, no codigo a baixo, se eu for precisar reutilizar o values.xpto em outro step eu teria que colocar a mesma instrução de código.

steps:
    - id: fetch-template
      name: Fetch Catalog Info
      action: fetch:template
      input:
        url: ./skeleton
        values:
          xpto: ${{ parameters.name | trim | lower  }}

Existe uma Issue para isso no github do backstage. Pode ser que logo essa funcionalidade seja criada, mas mesmo assim, ainda ficamos limitados a funcionalidades.

A maneira mais fácil de solucionar isso e dar mais ‘poder’ de execução, seria criar uma action customizada a fim de realizar essas transformações e reutilizar essas informações geradas nos outros steps.

Para criar uma action customizada, basta seguir o tutorial oficial do backstage: https://backstage.io/docs/features/software-templates/writing-custom-actions . Mas vou deixar aqui minha implementação:

Pronto, agora você consegue reutilizar as váriaveis modificadas desse step em outros lugares, sem precisar ficar duplicando código no template apenas com a instrução de output da action criada: ${{ steps.data.output.youtOutputVar }}

Help DEV – Analista desenvolvedor Java / Android https://helpdev.com.br/zarelli

Backstage – Transformando e Reutilizando variáveis em seu template com uma action customizada

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Rolar para o topo