Estructura de depósito de paquetes personalizados

La herramienta HCL Commerce Build tool puede crear aplicaciones para los cuatro tipos de servidor: el servidor de transacciones, el servidor de tienda, el servidor de búsqueda y el servidor de personalización. Un ejemplo muestra cómo puede crear sus propias extensiones mediante la HCL Commerce Build tool.Después de ejecutar el Herramienta HCL Commerce Build para crear paquetes, se genera un paquete ZIP para cada componente de servidor. Un solo paquete incluye archivos para un solo componente de servidor.

Estructura y lógica del directorio de despliegue de personalización

En un nivel superior, HCL Commerce Versión 9 utiliza la lógica de compilación y despliegue, que se basa en la herramienta de compilación y despliegue de HCl Commerce de versiones anteriores. La lógica de compilación sigue siendo similar a los procesos de compilación de versiones anteriores. Sin embargo, la lógica de despliegue se separa ahora de los procesos de compilación para una mejor función con la tecnología de Docker.

Dentro de HCL Commerce, se utiliza la tecnología Docker para mejorar la eficiencia de las operaciones. Sin embargo, debido a la estructura de los contenedores de Docker incluidos, los paquetes que necesita crear para desplegar el código personalizado y otros archivos en estos contenedores deben organizarse de acuerdo con una estructura de archivos específica. Los paquetes también deben crearse y desplegarse utilizando lógica específica.

Cuando Empaquete el código personalizado y otros archivos para su despliegue en contenedores Docker, debe utilizar el proceso de compilación HCL Commerce para asegurarse de que los paquetes se puedan desplegar satisfactoriamente en el HCL Commerce. Para obtener más información sobre el proceso de compilación HCL Commerce, consulte Configuración y creación de paquetes.

Cuando se empaquetan archivos para los contenedores del servidor, es necesario crear paquetes desplegables separados para cada tipo de servidor. Puede crear un paquete con el proceso de compilación HCL Commerce para los siguientes tipos de servidor.
  • Servidor de transacciones (ts-app)
  • Servidor de búsqueda (search-app)
  • Servidor de tienda (crs-app)
  • Servidor Commerce UE (xc) (xC-app)
El paquete para cada tipo de servidor tiene una estructura de archivos fija, que se utiliza con la lógica predefinida para aplicar personalizaciones y otros cambios cuando HCL Commerce crea paquetes personalizados para utilizarlos para crear imágenes de Docker para actualizar un entorno.

Estructura de repositorio para crear paquetes de servidor

Después de ejecutar el programa de utilidad WCB para crear un paquete de personalización, obtendrá un archivo ZIP comprimido con el código empaquetado.

Revise la información de los temas siguientes sobre lo que se incluye en el paquete y qué sucede con los archivos al desplegar en las imágenes de Docker.

Creación de paquetes de elementos de base de datos

Para los datos, no es necesario que especifique los elementos que se van a crear. Solo tiene que poner los archivos de datos en directorios relacionados (sql, xml, dataload, acug, acp, acpnls). Para obtener los detalles de las estructuras de archivos, consulte Herramienta HCL Commerce Build estructura de depósito.

Estructura de archivos de paquete desplegable general

Dentro de un paquete desplegable para cualquier tipo de servidor, se pueden incluir cuatro carpetas estándar en el nivel raíz del paquete:
  • Code

    El código de personalización debe incluirse en esta carpeta. Incluya el código dentro de archivos JAR o WAR.

  • Config

    Los cambios de configuración deben incluirse dentro de esta carpeta.

  • (Opcional) Certs

    Incluir certificados personalizados dentro de esta carpeta.

  • (Opcional) DeployScripts

    Incluya la lógica de despliegue personalizado en esta carpeta, como la lógica para definir cómo deben desplegarse las personalizaciones. Si incluye esta carpeta, el archivo applyCustiomization.sh buscará en la carpeta un archivo applyDeployScripts.sh. A continuación, este archivo se utiliza para identificar y procesar cualquier lógica de despliegue ampliado que defina, como por ejemplo para gestionar archivos y carpetas que incluya además de las cuatro carpetas raíz estándar.

Al crear un paquete, los scripts de compilación HCL Commerce empaquetan el código personalizado dentro de las carpetas Code y Config. Estas dos carpetas se crean de forma predeterminada cuando se ejecuta un proceso de compilación para crear un paquete desplegable. La estructura de subcarpeta para las carpetas Code y Config son similares en todos los paquetes para cada tipo de servidor.

Cuando ejecuta un proceso de compilación, las carpetas opcionales Certs y DeployScripts no se crean de forma predeterminada. Si necesita desplegar certificados en un servidor o definir lógica de despliegue personalizada, actualice los scripts de compilaciónHCL Commerce para generar estas carpetas y empaquetar los archivos correspondientes dentro de estas carpetas.

Cuando el proceso de compilación HCL Commerce se ejecuta para crear un paquete personalizado, el proceso llama al archivo applyCustomization.sh. Si el archivo está configurado para generar las carpetas opcionales, el proceso de compilación creará las carpetas y utilizará la lógica predeterminada para cómo manejar los archivos u otros elementos incluidos en las carpetas Se espera que la estructura de subcarpeta para estas carpetas coincida con la estructura siguiente:
  • Para la carpeta Certs, incluya la estructura de archivos siguiente para incluir los elementos:
    
    Certs
      component-name
        CertificateFilename.json
        Certificate2Filename.json
    Donde component-name es el nombre de un componente en el que es necesario aplicar el certificado. Puede incluir varios certificados para un componente. Cada certificado debe definirse como un archivo JSON. Para obtener más información sobre cómo definir la información de certificados en un archivo JSON, consulteGestionar certificados
  • Para la carpeta DeployScripts, incluya la estructura de archivos siguiente para incluir los elementos:
    
    DeployScripts
      component-name
        applyDeployScripts.sh
        
    Donde component-name es el componente de aplicación (ts-app, search-app, crs-app o xc-app). Para cada componente adicional que incluya en el paquete desplegable, incluya un directorio para dicho componente y un archivo applyDeployScripts.sh para definir cómo se van a desplegar los elementos de componente.

Creación de una imagen de Docker personalizada con un paquete desplegable

Cuando necesite crear una imagen de Docker personalizada, debe crear la imagen de Docker predeterminada adecuada con el paquete desplegable personalizado. El proceso de alto nivel para crear esta imagen de Docker personalizada implica el proceso siguiente:
  1. Cree una carpeta con el nombre CusDeploy
  2. Extraiga el paquete personalizado dentro de la carpeta CusDeploy.
  3. Cree un archivo denominado Dockerfile en la misma vía de acceso que la carpeta CusDeploy, por ejemplo, dentro de la misma carpeta principal.
  4. Escriba su Dockerfile para incluir el contenido siguiente:
    
    FROM <Target Component Docker Image>
    COPY CusDeploy /SETUP/Cus
    RUN /SETUP/bin/applyCustomization.sh
    <optional_commands>
  5. Ejecute el mandato de compilación de Docker desde la misma carpeta donde se ha colocado el Dockerfile:
    docker build -t <new docker image name>:<tag> .

Personalización de la carpeta Certs

Certs y DeployScripts no son carpetas obligatorias en el paquete. Puede incluir certificados de terceros para fines de integración en la carpeta Certs. HCL Commerce Version 9 da soporte a la carga de certificados de terceros desde un sitio remoto a un contenedor de Docker durante el inicio y el empaquetado de certificados de terceros en el paquete de personalización. Cuando crea la imagen de Docker personalizada, estos archivos de certificados se copian en el directorio /SETUP/certs/custom.

Personalización de la carpeta DeployScripts

Puede incluir la lógica de despliegue personalizada en la carpeta Deployscripts. Para empaquetar estas dos carpetas en el archivo ZIP final, Personalice los scripts de la herramienta de compilación de HCL Commerce. Puede empaquetar los archivos JAR o scripts personalizados en la carpeta DeployScripts y grabar la lógica de despliegue en applyDeployScripts.sh.

Estructura de depósito de ejemplo

Estos ejemplos son solo para referencia, sirven de punto de partida como ayuda para la configuración de su propio entorno de compilación.

A continuación, WCB_sample.zip proporciona archivos de propiedades de ejemplo que puede utilizar como referencia para comprender mejor lo que necesita configurar. El paquete WCB_sample.zip también contiene el ejemplo de xC.