Como parte del día a día trabajando con Salesforce, llega el momento de pasar nuestros desarrollos y cambios de un entorno de desarrollo a otro, o incluso pasar a Producción.
Desplegar paquetes de metadatos en Salesforce es algo que podemos realizar de diversas formas. En el contenido de este artículo nos vamos a centrar en la herramienta ANT y la librería proporcionada por salesforce para el despliegue de nuestros cambios.
ANT es una herramienta de consola multiplataforma basada en Java, que permite la ejecución y automatización de tareas de todo tipo, similar a otras herramientas del mercado como make, gnumake, nmake y jam.
Su funcionamiento está basado en la lectura lineal e interpretación de ficheros Xml que contienen las diferentes operaciones a ejecutar, desde descomprimir ficheros zip a ejecutar sentencias SQL contra bases de datos.
Ant permite instalar plugins de terceros para añadir operaciones adicionales a la larga lista que ya incluye. Salesforce, basandose en esta herramienta ha desarrollado una librería de uso libre para la gestión de metadatos, la cual se denomina ANT Migration Tool, que podemos instalar y que contiene todas las operaciones necesarias para trabajar con metadatos. Con cada release de Salesforce se libera también una versión actualizada de esta librería.
Previo a esta operación es necesario asegurar que tenemos ANT correctamente instalado y configurado en nuestra máquina. Para más información existe un manual de usuario oficial que se puede utilizar como guía: https://ant.apache.org/manual/index.html
Para instalar de ANT Migration Tool el proceso es muy sencillo, para ello debemos accceder a https://developer.salesforce.com/docs/atlas.en-us.daas.meta/daas/forcemigrationtool_install.htm donde encontraremos la librería más reciente.
Cuando descargamos el zip de salesforce encontramos lo siguiente:
Una carpeta Sample con varios ejemplos con ficheros XML de configuración y ejecución para ANT. Se incluyen varios ejercicios sobre diferentes escenario
Cuando descargamos ANT Migration Tool encontramos ejemplos de las operaciones que podemos ejecutar con esta librería. Aunque principalmente se utilizan las operaciones retrieve, deploy y listMetadata, hay otra que es necesario conocer.
ANT, al ser un programa tan utilizando a nivel mundial, hay mucha información en internet para poder desarrollar cualquier script para la automatización y gestión de metadatos y tareas.
Por ejemplo, en mi día a día realizo varias descargas de diferentes entornos para poder tener un histórico de cambios e identificar problemas. Para evitar que cada vez que hago una extacción se elimine lo anterior, modifique el fichero build.xml para que cada vez que realice una operación retrieve de me descargue el resultado en una carpeta identificada por la fecha y la hora de ejecución.
Con estas sencillas líneas almaceno en una variable la fecha y la hora que, posteriormente utilizo en una operación MKDIR para generar esta carpeta.
<tstamp>
<format property="TODAY_MY" pattern="yyyyMMdd-HHmmss" locale="en,UK" />
</tstamp>
<target name="build">
<echo message="date: ${TODAY_MY}"/>
</target>
<mkdir dir="${TODAY_MY}"/>