Gracias al source tracking podemos hacer un seguimiento de los cambios que desarrollamos tanto en nuestra org via configuración como en local en el Visual Studio Code.
Para activar el source tracking es tan sencillo como activarlo en nuestra organización de producción mediante la opción del setup de la pagina de Dev Hub:
Flujo de trabajo del desarrollador
1. Cargar el proyecto del github (o cualquier otro control de versiones)
git clone https://github.com/cuenta/nombrerepo.git
2. Conectar contra una developer sandbox en la que esté activo el Source tracking
sfdx force:auth:web:login -a aliasorg -r https://test.salesforce.com
3. Al principio de la tarea o desarrollo reseteamos el source tracking, porque es a partir de este momento en el que queremos llevar el control de los cambios:
sfdx force:source:tracking:reset
4. Realizamos los cambios indicados en las tareas tanto en la organización (remoto) como en el Visual studio Code (local). Para ver qué cambios vamos haciendo debemos lanzar el comando:
sfdx force:source:status
5. Si queremos traernos los cambios realizados en la org remota, debemos hacerlo con el siguiente comando:
sfdx force:source:pull
6. Para enviar los cambios locales hechos desde el Visual Studio Code, en esta ocasión debemos usar el comando:
sfdx force:source:push
7. En este punto gracias al control de cambios de git tendremos tanto los cambios que hicimos en la sandbox como los cambios locales. Una vez hechos todos los cambios podemos hacer un push de todos los cambios en nuestro repositorio:
git commit -m “Commit tarea”
git push
Consideraciones
- No mezclar bajo ningún concepto los comandos de push y pull con deploy y retrieve. Debido a que estos comandos no son compatibles con Source Tracking puede llevar el espacio de trabajo del proyecto a un estado no deseado.
- El comando force: source: pull no obtiene todos los metadatos de la organización, solo trae metadatos modificados.
- Junto con Source Tracking, se recomienda encarecidamente utilizar un sistema de control de versiones como GitHub para versionar sus metadatos de Salesforce para aplicaciones de plataforma.
- En la siguiente página podemos ver la relación de metadatos cubiertos en el Source Tracking.
Extra: Generación de paquetes con el plugin SFDX-Git-Delta
SFDX-Git-Delta (* también conocido como SGD *) ayuda a los arquitectos y desarrolladores de Salesforce a lograr 2 cosas con sus despliegues:
- Acelerar las implementaciones identificando los metadatos que se han cambiado desde entre dos commits, dos ramas, ….
- Automatice las despliegues de destructives, listando los metadatos eliminados (o renombrados) en un destructiveChanges.xml
Los pasos a seguir son:
1. Instalación del plugin
sfdx plugins:install sfdx-git-delta
2. ¿Cómo usarlo? Simplemente lanza el siguiente comando desde la raíz del proyecto
sfdx sgd:source:delta –to HEAD –from HEAD^ –output .
Esto nos generará los siguientes ficheros:
- package\package.xml
- destructiveChanges\destructivechanges.xml
- destructiveChanges\package.xml
Una vez generados, solo tenemos que ejecutar el comando:
sfdx force:source:deploy -x package/package.xml
O el siguiente comando para eliminar código en otra organización:
sfdx force:mdapi:deploy -d destructiveChanges –ignorewarnings
También podemos usar el comando de la siguiente manera:
sfdx sgd:source:delta –to fbc3ade6 –from 61f235b1 –output . (Comparar entre commits)
sfdx sgd:source:delta –to develop –from master –output . (Comparar entre ramas)
Ya sabéis, no olvidéis dejar vuestros comentarios en la entrada!!! Happy coding!!!
Referencias:
https://developer.salesforce.com/blogs/2020/04/a-deep-dive-into-source-tracked-projects.html