Despliegue a producción
Para que nuestra nueva versión de aplicación esté disponible para todos los usuarios, necesitamos seguir los siguientes pasos:
- Release: genera un release
commit(compromiso de lanzamiento) y untag - Publish: convierte la
app versionen uncandidate version(versión candidato), generando así unabuildinterna con propósitos detesting(pruebas) - Validate: comprobar si existe algún problema con la versión candidato.
- Deploy: actualiza a la última versión estable todas la cuentas con la aplicación instalada.
- Promote: deja disponible la nueva versión para todos los usuarios finales.

Ahora veamos de manera práctica punto por punto:
Release
Para iniciar un nuevo release debemos usar la siguiente instrucción en la terminal: vtex release seguido del tipo de versión que corresponda a nuestros cambios patch, minor, major.
Basándonos en el semantic versioning, entendemos que:
1 major minor patch2"version": "0. 0. .1"Incrementar la versión ocasiona lo siguiente:
- Modifica el
manifest.jsoncon la nueva versión. - Actualiza el CHANGELOG.md y agrega un TAG de versión.
- Envía los cambios al respositorio de la aplicación.
Veamos un ejemplo teniendo la siguiente app en nuestro manifest.json:
1{2 "name": "io-template",3 "version": "0.0.1"4 //resto del json....5}- Liberando una versión patch stable
vtex release patch stable1{2 "name": "io-template",3 "version": "0.0.2"4}- Liberando una versión minor stable
vtex release minor stable1{2 "name": "io-template",3 "version": "0.1.0"4}- Liberando una versión major stable
vtex release major stable1{2 "name": "io-template",3 "version": "1.0.0"4}Publish
Luego de liberar una nueva versión, debemos publicar la aplicación para que pueda ser instalada en los ambientes que sean necesarios para hacer pruebas y validar su correcto funcionamiento. Con esto generamos una versión candidato.
Ejemplo práctico:
-
Publicar el candidato.
terminal vtex publish -
Validar la versión candidato
Crear un workspace de tipo producción para simular el comportamiento esperado:
terminal vtex use {nombre-del-workspace} --production
Deploy
Si la aplicación ya fue publicada y validada, ingresamos la siguente instrucción en nuestra terminal.
vtex deploy {appvendor}.{appname}@{appversion}Ejemplo práctico:
vtex deploy cruce.store-theme@0.2.10Una vez realizado el caché de VTEX tiene un tiempo promedio de treinta a cuarenta minutos antes de que impacten los cambios.
Si ya estamos seguros de que todo funciona correctamente y nuestras validaciones son satisfactorias, podemos optar por otro método en el cuál no existe un tiempo de espera, el promote
Promote
Para hacer un promote, primero necesitamos estar situados en un workspace de tipo producción. Este workspace será nuestro candidato a ser promovido, es decir que todos los cambios hechos en nuestras aplicaciones serán enviados directamente al Master y por lo tanto afectará a los usuarios finales.
Un vtex promote:
- requiere de un workspace productivo.
- se realiza después de una etapa de Testing / QA.
- no tiene tiempo de
cache. - afecta directamente a
producción. - es estrictamente necesario si queremos que nuestra aplicación sea pública y pueda ser instalada en nuestra (u otras) tiendas.
Ejemplo:
vtex workspace promoteEjemplo práctico:
vtex {tu-workspace-productivo} promote# o si estamos parados en el repositorio de nuestra aplicación:vtex promote