Versionamento & Build

Projetos profissionais exigem controle de versão confiável e um processo de build padronizado.
O Lino adota Semantic Versioning (SemVer) para gerenciar versões de cada serviço e fornece comandos para gerar imagens Docker já nomeadas de acordo com a versão ativa do serviço.

Versionamento de Serviços

Cada serviço no Lino possui versionamento independente, permitindo que eles evoluam em ritmos distintos sem exigir sincronização global.

Padrão SemVer

MAJOR.MINOR.PATCH
  • MAJOR → mudanças incompatíveis (breaking changes).
  • MINOR → novas funcionalidades compatíveis.
  • PATCH → correções de bugs e melhorias internas.

Exemplos:
1.0.0 → primeira versão estável.
1.1.0 → novos endpoints adicionados sem quebra de compatibilidade.
2.0.0 → mudanças que exigem atualização dos clientes.

Comando lino version

O CLI oferece suporte nativo para incremento de versões:

lino version bump

O assistente interativo guiará você para escolher o tipo de incremento (major, minor, patch) e atualizar automaticamente o arquivo de configuração do serviço com a nova versão.

Cada execução atualiza o manifesto de versão do serviço, garantindo:

  • Rastreamento claro de mudanças.
  • Consistência com práticas de release.
  • Alinhamento com pipelines de CI/CD.

Build de imagens Docker

O Lino gera automaticamente imagens Docker para cada versão de serviço ou aplicação web, eliminando tarefas manuais.

Padrão de Nomeação:

nome-projeto/services/nome-servico : major.minor.patch

As imagens podem ser publicadas em qualquer registro:

  • Docker Hub
  • GitHub Container Registry
  • AWS ECR
  • Azure Container Registry
  • ou qualquer outro repositório compatível.

Comando lino build

Para compilar e gerar imagens Docker, basta executar:

lino build

O que acontece nesse processo:
1. O código do serviço e/ou aplicação web é compilado.
2. As configurações necessárias (connection strings, secrets, variáveis de ambiente) são aplicadas.
3. Uma imagem Docker é gerada com base na versão SemVer atual.
4. A imagem recebe nome e tag padronizados.

Esse processo garante builds consistentes e reprodutíveis, reduzindo falhas em ambientes de produção e acelerando o deploy em pipelines CI/CD.

Assim, o Lino combina versionamento independente por serviço com um processo de build automatizado, entregando governança de releases e distribuição confiável em qualquer ambiente.

Ocorreu um erro não tratado. Recarregar 🗙