BLOG

Migrador de Plugins da StackSpot: fique por dentro do desenvolvimento

Conheça os detalhes do migrador de plugins da StackSpot e como foi o processo de desenvolvê-lo para a v1 do produto!

Curiosidades e detalhes sobre a ferramenta de migração de plugins da StackSpot

Com a nova versão da StackSpot, chamada de V1, alguns recursos da versão antiga, a V0, foram descontinuados. Seguindo a linha de sermos Customer Lovers, precisaríamos impactar minimamente quem já usava a StackSpot, e uma das formas de realizar isto foi termos a possibilidade de migrar conteúdos da V0 para a V1. Então, surge a ideia de uma ferramenta chamada migrador de Plugins.

Dessa forma, confira as razões que levaram a criação de um migrador de Plugins para a StackSpot V1, e também detalhes do seu planejamento e implementação.

Como foi o planejamento do migrador de Plugins da StackSpot

A definição do escopo do migrador de Plugins considerou o seguinte:

  • Os Stackfiles da V0 não possuem uma entidade na V1 diretamente relacionada que permita a migração, mesmo que haja uma semelhança com Starters na V1.
  • A maioria dos campos do arquivo plugin.yaml de Plugins da V0 continuam existindo em Plugins da V1, consequentemente, facilitando a migração de Plugins.
  • De maneira geral, Templates compartilham a mesma estrutura (arquivo .yaml e pastas) de Plugins, portanto Templates também entraram no escopo da migração.

Templates e Plugins são as principais entidades de uma Stack na V0, pois são responsáveis pela leitura de inputs da pessoa usuária, execução de comandos e scripts, e montagem de uma estrutura de arquivos e diretórios que mais tarde formarão uma aplicação base.

Baseado nisto e na análise dos itens citados, foi decidido que o escopo do migrador atuaria em Templates e Plugins, convertendo ambos para Plugins, já que na V1 não existem mais Templates

Por dentro da implementação do migrador de Plugins da StackSpot

Em resumo, o ponto central do migrador de Plugins é um script que lê arquivos no formato YAML, altera a estrutura YAML lida e salva em um arquivo novo, mantendo o original. 

Foi estabelecido que o script de migração seria feito em Python pelos seguintes motivos:

  • O time da StackSpot possui amplo conhecimento nesta linguagem.
  • Possui bibliotecas nativas e confiáveis para manipulação de arquivos, diretórios e estruturas YAML.
  • O Python possui ampla comunidade e adoção, facilitando o aprendizado e o suporte.

O código fonte do script encontra-se neste link.

Como é o funcionamento do migrador de Plugins da StackSpot

O script de migração é chamado por uma Task da StackSpot V0, contida nesta Stack. Ao executar a Task via STK CLI, a pessoa usuária informa o diretório de um Template ou de um Plugin da versão V0. A partir daí, o migrador de Plugins atualiza alguns arquivos do diretório informado para que o mesmo passe a funcionar como um Plugin da versão V1. Em seguida, há exibição do resultado da migração no terminal para a pessoa usuária. 

A imagem abaixo mostra com mais detalhes o processo de migração:

Imagem do artigo "Migrador de Plugins" com script de migração é chamado por uma Task da StackSpot V0, contida nesta Stack. Ao executar a Task via STK CLI, a pessoa usuária informa o diretório de um Template ou de um Plugin da versão V0. A partir daí, o migrador de Plugins atualiza alguns arquivos do diretório informado para que o mesmo passe a funcionar como um Plugin da versão V1. Em seguida, o resultado da migração é mostrado no terminal para a pessoa usuária. 

Por fim, quando o processo de migração termina, o novo Plugin já está pronto para uso na StackSpot V1! 

Conclusão

O migrador de Plugins mostrou-se uma importante ferramenta para acelerar a migração de conteúdos da V0 para a V1, porque, além de permitir trazer os conteúdos para a nova versão, possibilitou que isto fosse feito de maneira automatizada, rápida e confiável. Graças a ele, a adaptação e conversão de Stacks inteiras para a nova versão foi uma realidade!

Gostou da solução? Conta pra gente nos comentários o que achou!

Referências

STACKSPOT. Migrar 4.5 para V1: Principais Diferenças. Documentação StackSpot. Versão 1.0. 

STACKSPOT. Migrar 4.5 para V1: Pré-requisitos para a migração. Documentação StackSpot. Versão 1.0. 

Sobre o autor

Igor Duquia Giumelli

É QA Senior na StackSpot. Nascido em Joinville-SC, é Bacharel em Ciência da Computação pela Universidade do Estado de Santa Catarina (UDESC). Já foi professor de Inglês, desenvolvedor full-stack e hoje atua a mais de 6 anos como QA. Adora automatizar tarefas e testes. Nas horas vagas, curte a família, acompanha futebol, Fórmula 1 e joga videogame.

Posts relacionados

Continue explorando a StackSpot AI

Ícone de uma Folha de Documentos, na cor laranja vibrante, sobre fundo transparente.

Cases

Confira como impulsionamos negócios com soluções que economizam tempo.

Ícone de um Livro, na cor laranja vibrante, sobre fundo transparente.

Imprensa

Confira as últimas notícias, conteúdos e destaques da StackSpot na mídia.

Ícone de uma Pasta de documentos, na cor laranja vibrante, sobre fundo transparente.

Docs

Tudo o que você precisa para dominar a StackSpot AI, de forma simples e em um só lugar.

Ícone de uma Pessoa representando um Usuário, na cor laranja vibrante, sobre fundo transparente.

Sobre

Sua plataforma de agentes inteligentes para todo o ciclo de desenvolvimento.

Receba a nossa newsletter

Compartilhamos insights, artigos e conteúdos relevantes sobre tecnologia. Uma vez por mês, sem encher sua caixa de entrada.