Características avanzadas de compilación

La Herramienta HCL Commerce Build proporciona muchas características de compilación avanzadas para soportar configuraciones complejas. Utilice estas características para mejorar el proceso de compilación.

Extracción de código fuente mediante actualización incremental

La Herramienta HCL Commerce Build proporciona una opción para extraer el código fuente mediante una actualización incremental en lugar de una extracción completa. Esta opción permite extraer el código fuente con menos tiempo, especialmente cuando la cantidad de cambios entre los niveles de compilación es reducida. Para habilitar la modalidad de actualización para la extracción del código fuente, siga los pasos que se indican a continuación:

  1. Abra el archivo WCB_installdir/build.properties con un editor de texto y establezca las siguientes propiedades:
    • Establezca la propiedad extract.update.mode para true, de modo que el proceso de extracción de código fuente no elimine el directorio fuente, sino que lo actualice.
    • Establezca source.dir en una vía de acceso estática. La vía de acceso predeterminada ${basedir}/source/${build.label} no es estática porque build.label puede cambiar en cada compilación. Una vía de acceso estática puede ser, por ejemplo, ${basedir}/source. Si se utiliza la característica de soporte de varios tipos de compilación, se puede establecer, por ejemplo, ${basedir}/source/${build.type} de forma que cada tipo de compilación tenga su propio directorio de origen estático independiente para actualizaciones incrementales.
  2. Configure el script Ant de extracción de origen con uno de los ejemplos de script Ant para varios SCM que se han actualizado para dar soporte a la actualización incremental.

Cuando se utiliza esta característica, las operaciones que modifican el código fuente deben realizarse en el directorio de trabajo en lugar del directorio de origen si se personaliza el proceso de compilación. Esta práctica garantiza que las actualizaciones incrementales en el directorio de origen puedan llevarse a cabo con precisión.

Exclusión de elementos web estáticos de módulos web de los paquetes de despliegue

La Herramienta HCL Commerce Build proporciona una forma de excluir de los paquetes de despliegue los elementos web estáticos de los módulos web. Esto es útil para reducir el uso de proceso de compilación y despliegue de contenido estático, como por ejemplo archivos HTML y de imagen, que raramente cambian. Para cada módulo web que requiere exclusión de elementos web estáticos, siga los pasos siguientes:

  1. Si la exclusión se obtiene incluyendo un subconjunto de archivos, cree un archivo nuevo denominado web-content-includes.txt en la raíz del módulo web y, a continuación, añada al archivo los patrones de inclusión, relativos a la raíz del directorio de contenido web del módulo web.
  2. Si la exclusión se obtiene excluyendo un subconjunto de archivos, cree un archivo nuevo que se denomine web-content-excludes.txt en la raíz del módulo web y, a continuación, añada al archivo los patrones de exclusión, relativos a la raíz del directorio de contenido web del módulo web.
  3. Incorpore los archivos nuevos al depósito para que los utilice el proceso de compilación.

El proceso de compilación detectará la existencia de estos archivos y los utilizará para excluir contenido web estático de los módulos web. Utilizar esta característica implica que el paquete de despliegue no puede configurar un entorno nuevo puesto que no están incluidos todos los elementos. Asegúrese de que los usuarios de los paquetes de despliegue tengan presente esta limitación.

Considere el ejemplo en el que todas las imágenes de la carpeta de la tienda Aurora en el módulo Stores se deben excluir de los paquetes de despliegue. Para utilizar esta característica, puede crear un archivo de exclusión workspace/Stores/web-content-excludes.txt en el repositorio con el contenido siguiente:
Aurora/images/**

Exclusión de elementos EAR del paquete de despliegue

La Herramienta HCL Commerce Build proporciona una forma de excluir elementos EAR de los paquetes de despliegue. Esta opción es útil para excluir elementos EAR que no se modifican mediante la personalización, como módulos EE Java con enlaces específicos del entorno de desarrollo que produce problemas de configuración y arranque de la aplicación si se han desplegado en otro entorno de destino. Complete los pasos siguientes para utilizar esta característica:

  1. Si la exclusión se obtiene incluyendo un subconjunto de archivos, cree un archivo nuevo denominado ear-dir-includes.txt en la raíz del proyecto de WC y, a continuación, añada los patrones de inclusión al archivo.
  2. Si la exclusión se obtiene excluyendo un subconjunto de archivos, cree un archivo nuevo denominado ear-dir-excludes.txt en la raíz del proyecto de WC y, a continuación, añada los patrones de exclusión al archivo.
  3. Incorpore los archivos nuevos al depósito para que los utilice el proceso de compilación.

El proceso de compilación detectará la existencia de estos archivos y los utilizará para excluir elementos EAR. Utilizar esta característica implica que el paquete de despliegue no puede configurar un entorno nuevo puesto que no están incluidos todos los elementos. Asegúrese de que los usuarios de los paquetes de despliegue tengan presente esta limitación.

Plantéese el caso en el que todos los archivos JAR del proyecto WC se deben excluir de los paquetes de despliegue. Para utilizar esta característica, puede crear un archivo de exclusión workspace/WC/ear-dir-excludes.txt en el repositorio con el contenido siguiente:

*.jar

Programa de utilidad de codificación de archivo de propiedades autónomo

Para su comodidad, se incluye un programa de utilidad de codificación de archivos de propiedades autónomo en Herramienta HCL Commerce Build. Después de configurar el script setenv al configurar los valores de compilación, efectúe los siguientes pasos para utilizar el programa de utilidad:

  1. Vaya al directorio WCB_installdir.
  2. Ejecute el mandato siguiente, donde file es el archivo de propiedades que se codificará:
    • Windows wcbd-encode-properties.bat -Dfile=file
    • LinuxAIXwcbd-encode-properties -Dfile=file

Soporte para varios tipos de compilación

La Herramienta HCL Commerce Build soporta varias configuraciones de compilación basadas en el tipo de compilación. Para utilizar esta característica, complete los siguientes pasos para configurar y ejecutar el proceso de compilación:

  1. Cuando configure los valores de compilación, en lugar de crear WCB_installdir/build.properties y WCB_installdir/build.private.properties, cree los archivos como WCB_installdir/build-build-type.properties y WCB_installdir/build-build-type.private.properties, donde build-type es un identificador para el tipo de compilación.
  2. Cuando ejecute el proceso de compilación, especifique la opción siguiente cuando llame al mandato wcbd-ant.bat o wcbd-ant:
    -Dbuild.type=build-type

El identificador del tipo de compilación se añadirá al nombre de directorio de registro y al nombre de archivo del paquete de despliegue. También se definirá una nueva propiedad build.type en el archivo wcbd-build-info.properties que se generará y añadirá a los paquetes de despliegue.

Notificaciones de correo electrónico del estado de compilación

El proceso de compilación se puede configurar para enviar notificaciones de correo electrónico acerca del éxito o fracaso. Para notificaciones de fracaso, el archivo de registro se adjunta para mayor comodidad. Para activar esta funcionalidad en los valores de compilación, siga los pasos que se indican a continuación:

  1. Abra WCB_installdir/build.properties con un editor de texto y establezca las propiedades bajo la sección "Propiedades para notificación de correo electrónico". Consulte los comentarios en el archivo para obtener detalles.
  2. Si el servidor SMTP requiere autenticación, abra WCB_installdir/build.private.properties con un editor de texto y establezca las propiedades siguientes:
    • mail.user
    • mail.password

Registro y rastreo adicionales

Ant proporciona una opción detallada y una opción de depuración para proporcionar el rastreo adicional que es útil para la determinación de problemas. Para habilitar la modalidad detallada, proporcione la opción -v o -verbose cuando llame al mandato wcbd-ant.bat o wcbd-ant para ejecutar el proceso de compilación. Asimismo, para habilitar la modalidad de depuración, proporcione la opción -d o -debug cuando llame al mandato wcbd-ant.bat o wcbd-ant para ejecutar el proceso de compilación.

La Herramienta HCL Commerce Build proporciona un registrador personalizado que captura los datos de rendimiento del proceso de compilación. El registrador genera en la consola la hora de inicio y finalización y el tiempo transcurrido para cada destino que se ejecuta. A continuación se muestra una sección de ejemplo de los datos de rendimiento producidos por el registrador para el destino de extracción en el proceso de compilación:

[Wed, 21 Jul 2010 10:56:54 -0400] wcbd-build > extract

extract:
[echoNL] Extracting source code with C:\IBM\WCDE_ENT90\wcbd/extract-local.xml.
[delete] Deleting directory C:\IBM\WCDE_ENT90\wcbd\source\empty
[mkdir] Created dir: C:\IBM\WCDE_ENT90\wcbd\source\empty
[Wed, 21 Jul 2010 10:56:54 -0400] extract-local > all

all:
[delete] Deleting directory C:\IBM\WCDE_ENT90\wcbd\source\empty
[mkdir] Created dir: C:\IBM\WCDE_ENT90\wcbd\source\empty
[copy] Copying 448 files to C:\IBM\WCDE_ENT90\wcbd\source\empty
[copy] Copied 191 empty directories to 5 empty directories under C:\IBM\WCDE_ENT90\wcbd\source\empty
[Wed, 21 Jul 2010 10:56:55 -0400] extract-local < all (1 second)
[Wed, 21 Jul 2010 10:56:55 -0400] wcbd-build < extract (1 second) 

Para utilizar el registrador, proporcione las opciones siguientes cuando llame al mandato wcbd-ant.bat o wcbd-ant para ejecutar el proceso de compilación:

-logger com.ibm.commerce.wcbd.ant.logger.PerformanceLogger
Nota: Ant no captura la salida detallada, de depuración ni de registrador en el archivo de registro que el proceso de compilación suele generar. La salida adicional solo se visualiza en la consola, por lo tanto las corrientes de error y de salida estándar deben redirigirse a un archivo de registro independiente al ejecutar el proceso de compilación con estas opciones de registro y rastreo. Este registro se puede realizar añadiendo las opciones siguientes al llamar al mandato wcbd-ant.bat o wcbd-ant para ejecutar el proceso de compilación, donde log-file es el archivo de registro en el que se escribe la salida de consola:
> log-file 2>&1

Opciones de depuración para EJBDeploy

Las propiedades siguientes en los valores de compilación proporcionan una forma de generar más información de depuración para EJBDeploy:
Opciones de depuración para EJBDeploy
Nombre de propiedad Usage
ejbdeploy.codegen Establezca esta propiedad en true para mantener los archivos de origen Java que EJBDeploy ha generado.
ejbdeploy.keep.generated Establezca esta propiedad en true para mantener el directorio de trabajo después de que se complete EJBDeploy. El directorio de trabajo suele ser${working.compile.dir}/${type}/${module.name}
ejbdeploy.quiet Establezca esta propiedad en false para inhabilitar la modalidad silenciosa para EJBDeploy de forma que se visualice la información de registro detallada.
ejbdeploy.no.validate Establezca esta propiedad en false para visualizar mensajes de validación de EJBDeploy.
ejbdeploy.trace Establezca esta propiedad en true para habilitar el rastreo interno para EJBDeploy.
ejbdeploy.jvm.max.memory Establezca esta propiedad en un valor más alto que el valor predeterminado de 256 MB si EJBDeploy está agotando la memoria.

Si el mandato falla en el proceso de compilación, abra WCB_installdir/build.properties con un editor de texto para establecer estas propiedades y, a continuación, ejecute de nuevo el proceso de creación.