Introducción a ANT Migration Tool

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.

 

¿Qué es ant?

 

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.

 

Instalación de Ant Migration Tool

 

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

  • También encontramos los ficheros build.xml y build.properties. Estos dos ficheros son necesarios para un funcionamiento correcto. El fichero xml incluye las operaciones y sentencias a ejecutar El fichero properties incluye todos los parámetros de configuración y variables que se utilizan en el fichero xml para las ejecuciones. Aquí se incluyen credenciales de acceso, tipos de metadatos, rutas de carpetas locales donde depositar los ficheros extraídos…
  • El fichero JAR es la librería que debemos incluir en la carpeta de instalación de ANT, concretamente en la carpeta lib.
  • El fichero package.xml es donde se almacena el listado todos los metadatos que o bien queremos descargar o bien hemos extraído de sfdc.

 

 

Operaciones básicas

 

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.

  • sf:retrieve: se utiliza para la descarga de metadatos
  • sf:bulkRetrieve: descarga masiva de metadatos
  • sf:deploy: instalación de metadatos, también se puede utilizar para la ejecución de clases de test. Esta operación es junto con retrieve la más utilizada.
  • sf:deployRecentValidation: permite desplegar la última validación satisfactoria en el entorno
  • sf:cancelDeploy: esta operación cancela el despliegue pasando como parámetro su identificador.
  • sf:describeMetadata: esta operación lista todos los diferentes tipos de metadatos existentes en la organización
  • sf:listMetadata: esta operación lista para un tipo de metadatos todos los ficheros disponibles.

 

Primeros Cambios en ANT

 

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}"/>

A partir de aquí las posibilidades son muchas para poder sacar el máximo partido a esta herramienta

 

Guia introduccion MuleSoft AnyPoint