Quando usar
- Acionar pela
$specsfy-specialist-deployao preparar release, imagem destinada a deploy, tag Git ou promoção entre ambientes. - Em pedido completo de release ou deploy, devolver a coordenação para
$specsfy-specialist-deploydepois de preparar e conferir a versão. - Não publicar imagem, tag, GitHub Release nem executar deploy sem autorização
explícita. A preparação local pode criar ou atualizar
SEMVER.
Fluxo
- Localizar a raiz do projeto e ler
SEMVER, tags Git, changelog e artefatos relacionados à entrega. - Criar
SEMVERsomente quando ele estiver ausente e a versão inicial tiver sido confirmada. - Classificar a alteração como
patch,minoroumajor, explicar o efeito e propor a próxima versão antes de escrever. - Atualizar
SEMVERdurante a preparação autorizada e propagar o mesmo valor para metadados, imagem e manifestos que pertencem à entrega. - Executar testes e conferir que a versão é superior à publicação anterior.
- Quando houver autorização para publicar, enviar primeiro o artefato imutável. Criar a tag Git e a GitHub Release somente depois que o artefato estiver disponível.
- Entregar a versão, o digest, o commit, os ambientes alcançados e os comandos de reversão.
Padrões
- Manter
SEMVERna raiz com uma única versão estávelMAJOR.MINOR.PATCHe quebra de linha final. - Usar
patchpara correção compatível,minorpara capacidade compatível emajorpara mudança incompatível. - Tratar
SEMVERcomo fonte da versão preparada. Tags Git, anotações OCI, changelog e referência da stack devem reproduzir o mesmo valor. - Publicar imagens com tag SemVer e commit, registrar o digest e fazer o deploy por digest quando a plataforma permitir.
- Conferir se uma tag imutável já existe antes do push. Nunca substituir uma imagem ou tag publicada.
- Usar o utilitário local para operações determinísticas:
node scripts/semver.mjs current --project .node scripts/semver.mjs bump patch --project .node scripts/semver.mjs verify 1.4.1 --project .node scripts/semver.mjs docker-tag registry.example/app --project .node scripts/semver.mjs verify-docker-tag registry.example/app:1.4.1 --project .Ao instalar a skill, ajuste o primeiro caminho para apontar para
specsfy-specialist-versioning/scripts/semver.mjs dentro da biblioteca de
skills do agente.
Antipadrões
- Usar
latestcomo identidade de uma entrega. - Alterar
SEMVERdepois que a imagem já foi compilada com outro valor. - Criar a tag Git antes de confirmar a presença da imagem no registry.
- Recompilar o mesmo número para corrigir uma publicação. Prepare um novo incremento.
- Misturar a preparação local com autorização implícita para publicar ou alterar um ambiente remoto.
Validação
- Executar
currenteverifypara confirmar o conteúdo deSEMVER. - Gerar a tag Docker com
docker-tage executarverify-docker-tagantes do build, push ou deploy, uma tag diferente doSEMVERinterrompe o fluxo. - Comparar a versão com a tag Git anterior e recusar valor igual ou inferior.
- Comparar
SEMVER, tag da imagem, anotações OCI, changelog e manifesto de deploy. - Confirmar o digest publicado antes de criar a tag Git.
- Conferir que o rollback aponta para uma versão e um digest já disponíveis.
Skills relacionadas
$specsfy-specialist-deployé a única responsável por coordenar o fluxo completo de release ou deploy.$specsfy-specialist-dockerconstrói e publica a imagem identificada pela versão preparada aqui.$specsfy-specialist-docker-swarmaplica no cluster a imagem e o digest conferidos por esta skill.$specsfy-specialist-ansibletransporta os manifestos versionados e executa o preflight nos hosts.$specsfy-specialist-delivery-engineeringcoordena testes, promoção, tag e GitHub Release.
Leia references/standards.md para a correspondência entre SemVer, Git, imagens OCI e a sequência de publicação.