¡Presentamos la resolución de conflictos de fusión para Salesforce!
Detecta errores a tiempo, revisa conflictos y fusiona cambios sin problemas y con tranquilidad 👌
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··6 min de lectura
Esta publicación es la #3 de nuestra serie sobre Git+Salesforce. Si no has leído nuestras publicaciones anteriores, consulta Por qué DevOps para Salesforce es más que conectar un repositorio de Git a una organización de Salesforce y Por qué la fusión es la parte más difícil de integrar Git con Salesforce .
Nos entusiasma anunciar el lanzamiento de nuestra función más reciente para todos los usuarios de Blue Canvas: ¡la resolución de conflictos de fusión! Lamentablemente, los despliegues estresantes de Salesforce, en los que un cambio termina sobrescribiendo el trabajo de un colega, siguen siendo un problema común tanto con los conjuntos de cambios como con las herramientas más recientes de Salesforce. Existe una gran necesidad de contar con una red de seguridad que detecte conflictos de fusión en tiempo real y avise antes de que se produzca algún daño. Nos alegra enormemente ofrecer nuestra nueva función para ayudarte precisamente con eso.
Con la resolución de conflictos de fusión, Blue Canvas detecta en tiempo real si tu despliegue entra en conflicto con otros cambios realizados en la organización de destino. Este importante avance ayudará a todos los equipos de desarrollo y administración de Salesforce a colaborar mejor en su entorno de Salesforce, aplicando el principio de «detectar errores cuanto antes» a los despliegues entre organizaciones y entornos de prueba. Sin más preámbulos, exploremos nuestra experiencia de usuario actualizada y descubramos las nuevas funciones que estamos lanzando para que despliegues con mayor seguridad y tranquilidad.
Comprobación de conflictos de fusión - Un nuevo paso de validación
Además de los pasos de validación existentes (validación de paquetes, revisión por pares y comprobaciones personalizadas), Blue Canvas ahora verificará sistemáticamente cada solicitud de despliegue para detectar conflictos de fusión. Este nuevo paso aprovecha nuestro motor interno de Git para rastrear y comparar con precisión cómo evolucionan las organizaciones de origen y destino mientras tú y tu equipo trabajan en nuevas funciones.

Como puedes ver en la ilustración anterior, el caso ideal (¡y esperamos que el más común!) es que tu espacio de trabajo local esté sincronizado con la organización de destino y, por lo tanto, no haya motivos para preocuparse. En esos casos, nuestro implementador de metadatos simplemente te informará que tu «Despliegue está actualizado» con respecto a la organización de destino. Si las demás validaciones y la revisión por pares se completan correctamente, podrás continuar con el despliegue de forma segura.
El despliegue no se puede fusionar debido a un conflicto - ¡Tu nuevo aliado para detectar errores cuanto antes!
Si se producen cambios en la organización de destino que generan un conflicto con lo que propones desplegar, ahora verás lo siguiente:

Aunque parece sencillo, este mecanismo de protección transforma los flujos de trabajo tradicionales de despliegue de Salesforce. Con los conjuntos de cambios de Salesforce, avanzarías a ciegas: desplegarías tu trabajo y sobrescribirías cualquier cambio realizado en la organización de destino (¡el aporte de un colega!). Para intentar evitarlo, varias herramientas de DevOps te permiten actualizar manualmente el «estado» de la organización de destino y verificar si hubo cambios. Sin embargo, en Blue Canvas creemos que ninguna de estas complicaciones debería recaer en el usuario final, por eso nos hemos esforzado por ofrecer una solución automatizada y siempre activa.
Con la resolución de conflictos de fusión, Blue Canvas se encarga de todas las verificaciones relacionadas con la fusión por ti, sin complicaciones:
- Los conflictos de fusión no se comprueban solo al crear la solicitud de despliegue, sino de forma continua y automatizada (monitoreando lo que sucede tanto en la organización de origen como en la de destino).
- Nuestra función de sincronización rápida garantiza que cualquier cambio en cualquiera de las organizaciones se capture en uno o dos minutos (consulta nuestra publicación del blog sobre este tema)
- En conjunto, esto significa que tienes protección de principio a fin al preparar despliegues de Salesforce con Blue Canvas. Te mantienes al tanto de cualquier cambio en la organización de destino y, al final, puedes hacer clic en el botón «¡Desplegar!» con tranquilidad, sabiendo que la organización de destino quedará en un estado predecible y probado.
Fusión de 3 vías en Salesforce: ¡el control en tus manos!
Nuestro implementador de metadatos mejorado va más allá de comprobar y advertir sobre conflictos de fusión. Nuestro objetivo es guiar a los desarrolladores y administradores en cada paso del proceso, incluso cuando sea necesario revisar y resolver un conflicto específico.
Veamos un flujo de trabajo de despliegue en el que Charlie quiere enviar el siguiente cambio en el que trabajó (SlackOpportunityPublisher.cls envía un aviso sobre las oportunidades modificadas a un canal de Slack; Charlie lo está actualizando para que indique la nueva etapa de la oportunidad modificada):

Ahora imagina que Elliot (colega de Charlie) también está trabajando en esa clase. Elliot la está editando directamente en UAT para aclarar una ambigüedad en la notificación de Slack (solo avisa cuando se modifica la primera oportunidad, aunque puede haber más):


Como Elliot modificó UAT directamente, la versión de Charlie quedó desactualizada. Si Charlie implementara su código en UAT, el cambio de Elliot se sobrescribiría sin aviso. Con la resolución de conflictos de fusión, Blue Canvas te advertirá explícitamente y te invitará a seleccionar «Resolver conflictos»:
‘Resolver conflictos’ te lleva a un panel interactivo de fusión de 3 vías donde puedes comparar el origen con el destino y definir con precisión cómo quieres que quede el resultado final. Esto les da a los desarrolladores y administradores de Salesforce control total sobre el resultado de la fusión.

Ten en cuenta que, mientras trabajas en la fusión, Blue Canvas guarda tu trabajo como borrador (para que puedas retomarlo más adelante) e informa a tu equipo a través de la interfaz para que pueda coordinarse contigo (o incluso continuar el trabajo si es necesario).
Fusión automática en Salesforce: ¡la cereza del pastel! 🍒
Ya mencionamos que la resolución de conflictos de fusión es una evolución de nuestro motor de Git para el seguimiento del historial y las implementaciones de Salesforce. Esto nos permite ir más allá y ofrecer una práctica automatización para casos de fusión simples. Considera estos dos cambios en el mismo archivo, provenientes de distintas organizaciones (la de Charlie y la de Elliot):


Como estos cambios se distinguen claramente en el diff de Git, Git (y, por extensión, Blue Canvas) permite fusionarlos automáticamente sin que tengas que intervenir. En Blue Canvas, estos escenarios se verán así:

¡Solo haz clic en el botón Fusionar y Blue Canvas actualizará el paquete de implementación según corresponda! Así, puedes ver qué cambios se están combinando y tener la tranquilidad de que tu implementación está en buenas manos.
Conclusión - ¡Pruébalo, disfrútalo y comparte tus comentarios!
Hemos ilustrado la resolución de conflictos de fusión con algunos ejemplos de Apex, ¡pero el mismo flujo de trabajo está disponible para cualquier cambio en los metadatos de Salesforce! Puedes implementar tus campos personalizados y otros objetos de Salesforce de forma segura, con las mismas advertencias y orientación sobre conflictos de fusión que aparecerán si hay cambios paralelos o incompatibles en la organización de destino.
¡La mejor forma de conocer esta nueva función es probarla! Ya está disponible para todas las nuevas pruebas gratuitas y la estamos habilitando en todas las cuentas existentes. ¿Al principio no ves muchos cambios en la interfaz? Piensa en esta función como una bolsa de aire: permanece oculta y se activa justo cuando la necesitas para protegerte si tu cambio entra en conflicto con otro.
Comparte tus comentarios con nosotros, disfruta de nuestra prueba gratuita de 15 días si aún no lo has hecho, ¡y disfruta de tus implementaciones con Blue Canvas!
Saludos,
El equipo de Blue Canvas



