Convenciones de etiquetas de versión de Monorepo

1 minuto de lectura

¿Existe un estándar para usar etiquetas de versión en monorepos? Es algo en la línea de 1.0.0-myapp1y 2.1.0-myapp2 ¿aceptable? ¿O hay otra forma de diferenciar versiones entre aplicaciones?

  • Una etiqueta corresponde a una confirmación, que a su vez corresponde a todo el repositorio. Por lo tanto, no está claro qué significaría etiquetar un mononucleosis infecciosa-repo basado en los nombres de los componentes individuales.

    –Oliver Charlesworth

    15 de noviembre de 2017 a las 19:52

  • Si cada aplicación necesita una versión diferente, es una buena señal de que necesita un repositorio para cada una de ellas. Usaría un esquema de una sola versión para este repositorio o dividiría el repositorio para cada aplicación.

    – Gonzalo Matheu

    15 de noviembre de 2017 a las 20:12

avatar de usuario
LeGEC

tags están organizados en directorios y archivos (todas las referencias de git son, ejecutar tree .git/refs/tags para ver eso), por lo que sugeriría nombrar las etiquetas:

myapp1/1.0.0
myapp1/1.0.1
 ...
myapp2/2.1.0
myapp2/2.2.0
 ...

Esto agrupará las versiones de cada aplicación, y algunos comandos tratarán los números “naturalmente”:

# list tags, sorted by version number :
$ git tag --list --sort="version:refname"
myapp1/1.0.2
myapp1/1.0.10
myapp1/2.0.0
myapp1/10.0.0
myapp2/1.0.0
myapp2/2.0.0
myapp2/11.0.0

Si desea evitar que aparezcan las “etiquetas para myapp2” cuando inspeccione el registro de myapp1, puede usar --decorate-refs=<pattern> :

# this will include tags starting with 'myapp1', and all branches :
$ git log --oneline --graph --decorate-refs=refs/tags/myapp1 --decorate-refs=refs/heads

Si necesita esto regularmente, puede agregar un alias para ello:

$ git config alias.logmyapp1 log --decorate-...

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad