Prevalidación de una reversión (y una versión) en Salesforce
Cómo prevalidar tu versión en Salesforce y tener una reversión lista, por si acaso.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··4 min de lectura
¿Alguna vez has tenido que hacer una reversión en Salesforce contrarreloj? ¡No es nada agradable! Por eso, en el Rincón del CTO de esta semana, queremos compartir una breve historia de un equipo de Salesforce bastante avanzado que conocimos recientemente.
No solo prevalidan cada versión importante en un sandbox recién creado antes de pasarla a producción (algo que muchos equipos hacen), sino que también prevalidan la reversión de esa versión antes de llevarla a producción (algo que muy pocos equipos hacen).
No habíamos visto antes este nivel de rigor, así que pensamos en compartirlo como una práctica interesante para los equipos que quieren ser especialmente cuidadosos con sus lanzamientos en Salesforce.
Prevalidación de la versión y su reversión con Ant
Este equipo lanza una versión cada dos semanas. Antes de cada lanzamiento, crea un sandbox directamente desde producción para reproducir ese entorno con la mayor fidelidad posible. Nos parece una idea brillante. Demasiados de nuestros clientes tienen sandboxes que no se han actualizado en meses o años. La validación y las pruebas que un equipo puede realizar en un sandbox tan desactualizado son, francamente, bastante arriesgadas.
Luego, crean un package.xml e implementan todos los cambios de la versión en el sandbox recién creado con la Herramienta de migración Ant para Salesforce. Hasta aquí, todo bastante habitual.
Aquí es donde se pone interesante. En cuanto completan esa implementación, crean una implementación inversa que revierte esos cambios. Generan el archivo destructiveChanges.xml y el package.xml correspondiente para deshacer la implementación. Así pueden validar que es posible revertirla si algo sale mal.
Ahora están listos para pasar a producción. Cuando lo hacen, ya tienen experiencia revirtiendo exactamente la versión que están implementando y saben que pueden deshacerla si es necesario. Esto les da la confianza para lanzar la versión sabiendo que cuentan con un plan de respaldo bien probado y que conocen a fondo.
¿Por qué?
Antes de decir que esto es demasiado cauteloso o paranoico, considera lo siguiente: Salesforce es fundamental para tu negocio. Para muchos de nuestros clientes, si Salesforce deja de funcionar o presenta errores, los camiones se detienen, los alimentos se echan a perder, se pierden ingresos y los clientes se enojan. Por eso, contar con una estrategia adecuada de gestión de versiones que permita deshacer cambios es crucial. Imagina que una inversión multimillonaria en Salesforce deja de funcionar sin una solución rápida. Rodarían cabezas.
Tener una reversión prevalidada lista para usar permite a los equipos implementar con confianza. Es una pequeña inversión inicial, pero resulta muy valiosa cuando algo sale mal. Cualquiera que haya tenido que hacer una reversión contrarreloj sabe lo desesperante y estresante que puede ser. La mayoría de los equipos que usan Salesforce hoy no cuentan con un sistema de control de versiones ni con respaldos a los que puedan recurrir rápidamente. Y, como cualquier desarrollador de Salesforce puede confirmar, lograr que un conjunto de cambios pase la validación, especialmente bajo presión, puede llevar horas y mucho ensayo y error manual.
Si alguna vez has pasado por eso, sabes que desearías haber dedicado 5 minutos a preparar una reversión prevalidada.
Cómo Blue Canvas puede potenciar esta práctica
Una de las principales razones por las que la mayoría de los equipos no hace esto es que implementar lleva tiempo y es difícil. A muchos equipos les cuesta imaginar realizar dos implementaciones separadas el día del lanzamiento cuando ya les resulta difícil completar una a tiempo.
Como Blue Canvas hace que las implementaciones sean tan directas y sencillas, elimina muchas de las barreras para realizar este tipo de reversión prevalidada.
Si creas un nuevo sandbox desde producción, puedes conectarlo a Blue Canvas en solo unos clics. Luego puedes implementar tu versión en ese sandbox usando despliegues de versiones masivos o un despliegue típico.
Blue Canvas crea automáticamente el archivo package.xml y gestiona cambios destructivos en Salesforce automáticamente. Esto ahorra mucho tiempo.
Una vez que hayas implementado la versión en el sandbox, puedes revertirla en solo unos clics con nuestra tecnología de reversión para Salesforce. Puedes tomar la última instantánea del código fuente, revertir la versión y confirmar que la reversión pasará la validación correctamente (como debería, ya que acabas de implementar la versión sin problemas). Configurar todo esto lleva solo unos minutos y, en esencia, lo que tienes es una respaldo continuo de tus metadatos de Salesforce, que puedes revisar y restaurar en cualquier momento.

Después, puedo clonar ambas versiones y validarlas en producción antes de implementar, usando el mismo package.xml pregenerado con todos los mismos cambios.

En este caso, simplemente clonas cada una y las diriges a producción.

Ahora esto pasará la validación tal como esperas. En este punto, ambas implementaciones ya están validadas. Así que solo tienes que ejecutar la implementación rápida de la versión cuando estés listo.

Una vez implementada esa versión, puedes estar tranquilo porque tienes una reversión prevalidada lista para usar. Puedes deshacer la versión con solo hacer clic en un botón.



