Migrador de Plugins da StackSpot: fique por dentro do desenvolvimento

Imagem capa do conteúdo sobre "migrador de plugins da StackSpot", onde contém as mãos de uma mulher e computador.
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:

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, 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.

Consuma inovação e transforme sua empresa

Assine nossa newsletter e fique em dia com as melhores práticas de tecnologia para gerar impacto nos negócios.

Summary

Related posts

*Material em Inglês

Baixe grátis o eBook
e descubra caminhos para evoluir sua empresa