Cómo mejorar los conjuntos de cambios de Salesforce
¿Hay una mejor alternativa a los conjuntos de cambios de Salesforce?
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··3 min de lectura
Una gran ventaja de desarrollar en la plataforma Salesforce es el modelo de sandboxes. Los sandboxes son una forma relativamente sencilla de crear entornos de prueba y desarrollo: solo tienes que acceder a una interfaz gráfica, seleccionar el tipo de entorno que quieres crear y Salesforce se encarga del resto. En comparación con las plataformas de desarrollo anteriores, donde tenías que administrar tus propios entornos de prueba, esto es una gran ventaja.
Y la adopción ha sido excelente. Por lo que hemos observado en las últimas conferencias de desarrolladores de Salesforce a las que asistimos, parece que todos han adoptado por completo el modelo de implementación con sandboxes. Incluso los equipos pequeños que no tienen complejos flujos de integración continua de Salesforce suelen, al menos, realizar primero los cambios en un sandbox y luego pasarlos a producción.
Un componente clave del modelo de sandboxes de Salesforce son los conjuntos de cambios. Los conjuntos de cambios te permiten migrar cambios de metadatos de un entorno de desarrollo a otro, o de un entorno de desarrollo a preproducción o producción. Si no quieres usar scripts de Ant y la herramienta de migración de Force.com los conjuntos de cambios son una excelente opción sencilla, ya que ofrecen una interfaz de usuario intuitiva y requieren un mantenimiento mínimo.

Desafíos de los conjuntos de cambios de Salesforce
A estas alturas, la mayoría de los desarrolladores y administradores de Salesforce probablemente ya conocen y han utilizado los conjuntos de cambios. Y, por lo tanto, probablemente también se hayan desesperado con ellos en algún momento.
LOS CONJUNTOS DE CAMBIOS SON MANUALES Y LENTOS
Para empezar, la gestión de conjuntos de cambios es un proceso muy manual. Tienes que recordar qué cambió y todas las dependencias entre esos cambios. Hemos hablado con grandes organizaciones que manejan hasta cinco hojas de cálculo por correo electrónico y Slack solo para gestionar todo esto. Luego, cuando llega el momento de implementar, dedican un día entero (¡o a veces una semana!) a detener el desarrollo y determinar qué cambió y cuáles son todas las dependencias.
LOS CONJUNTOS DE CAMBIOS SON PROPENSOS A ERRORES
Todo este trabajo manual no solo es tedioso: es una receta para el desastre. Cualquier proceso manual es propenso a generar problemas porque deja abierta la posibilidad de errores humanos.
SIN SEGUIMIENTO DE CAMBIOS NI REVERSIÓN
Sin embargo, el mayor problema de los conjuntos de cambios es que sobrescriben lo que encuentran. Un conjunto de cambios simplemente reescribe tus metadatos de Salesforce. No contempla el historial ni los cambios diferenciales. Esto significa que un conjunto de cambios puede borrar fácilmente meses de trabajo de otro desarrollador.
Además, cuando los errores llegan a producción (como suele ocurrir cuando hay un proceso manual de por medio), no hay forma de volver a un estado anterior.

Usar Git para implementar en lugar de conjuntos de cambios
Los conjuntos de cambios ofrecen ventajas clave que no querríamos perder, en particular:
- Implementaciones sencillas con una interfaz gráfica
- La capacidad de trabajar en sandboxes y pasar los cambios a otros entornos
Pero también hay algunos aspectos que se pueden mejorar:
- Seguimiento automático de los cambios en lugar de tener que recordarlos manualmente
- Implementaciones más rápidas mediante la automatización
- Registro del historial de cambios en los entornos a lo largo del tiempo
- Posibilidad de volver a estados anteriores

Afortunadamente, Git permite obtener todas estas mejoras. Como herramienta de control de versiones, Git facilita la fusión y la creación de ramas, y permite volver a estados anteriores con relativa rapidez.
Para que Git sea aún más fácil de usar y más parecido a los conjuntos de cambios, Blue Canvas desarrolló una interfaz de usuario que permite realizar una implementación basada en Git con solo presionar unos botones. Las diferencias se resaltan automáticamente y cuentas con una interfaz gráfica para seleccionar qué archivos incluir en tu implementación. Ya no tienes que buscar ni recordar qué cambiaste, ni preocuparte por dependencias inesperadas.
Pasar el trabajo de un sandbox a otro, a preproducción o a producción puede hacerse en segundos y de forma continua durante el día. Esto elimina la necesidad de realizar grandes lanzamientos que toman un mes y son propensos a errores, y te permite adoptar un enfoque ágil en tu desarrollo de Salesforce.
En definitiva, implementar con Git en lugar de usar conjuntos de cambios te ahorra tiempo y dinero al incorporar más automatización en tu proceso de gestión de lanzamientos de Salesforce y reducir la cantidad de errores y las horas dedicadas a depurarlos. Puedes probarlo aquí con solo cuatro clics!



