Saltar al contenido

WebSphere Commerce – Management Center: Integración Jenkins

En este post queremos discutir cómo Jenkins puede ser integrado con el Centro de Gestión de Comercio de WebSphere. Revisaremos una implementación a medida de una herramienta para el Centro de Gestión y cómo se puede configurar y utilizar su espacio de trabajo. Todo el código relevante está disponible en GitHub.

Jenkins Integration Tool

El objetivo de la herramienta es poder pedir información a Jenkins y hacer construcciones para trabajos. Con el fin de comunicarse con Jenkins, implementamos un comando de control personalizado. Este comando puede ser ejecutado de dos maneras diferentes: A través de la interfaz de usuario del Centro de Gestión y por una llamada REST. La llamada REST no es estrictamente necesaria para la herramienta, pero puede ser útil durante el desarrollo. Si no se necesitan capacidades REST para el comando, se pueden ignorar las clases y configuraciones que tienen que ver explícitamente con la realización de una llamada REST.

Get Started

Para usar la herramienta, importa los archivos del git repository (o lar partes relevantes) en tu workspace

  • Si tiense personalizaciones existentes en tu espacio de trabajo, ten cuidado de no sobrescribirlas, y sólo copia las secciones relevantes de los siguientes archivos:
    • LOBTools/WebContent/WEB-INF/spring-extension.xml
    • LOBTools/WebContent/WEB-INF/src/xml/commerce/shell/ApplicationMenuItems.xml
    • Rest/WebContent/WEB-INF/config/resources-ext.properties
  • Para ejecutar el comando Jenkins como un servicio REST, necesitamos una política de acceso en su lugar. Copia los files en DataLoad/xml, a una localización similar en el xml folder fuera del espacio de trabajo (donde se encuentran el resto de las políticas de acceso). Entonces cárgalo a la base de datos, usando el script acpload.bat.

Configuraciones

La herramienta lee configuraciones desde el STORECONF database table

integration.jenkins.hostName,
integration.jenkins.port,
integration.jenkins.username,
integration.jenkins.password

Para insertar datos en el STORECONF table, usa comandos similares a

INSERT INTO WCS.STORECONF (STOREENT_ID, NAME, VALUE, OPTCOUNTER) VALUES(0, 'integration.jenkins.hostName', 'ThisIsMyHostName', 1);

donde, el string ThisIsMyHostName es el host name del Jenkins server.

Uso

Una vez que los archivos han sido añadidos al espacio de trabajo y las configuraciones cargadas en la base de datos, la herramienta está lista para ser utilizada. Inicia la aplicación WebSphere Commerce y accede al Centro de Gestión. Las siguientes imágenes visualizan el funcionamiento de la herramienta.

Abre el Centro de Gestión de WebSphere y seleccione la Herramienta de Integración del Menú

integrationToolNoSelection.jpg

Selecciona el objeto Jenkins en la vista de Explorador.

integrationToolJobList.jpg

Esto mostrará una lista de todos los trabajos disponibles en el servidor de Jenkins, junto con alguna información básica sobre el mismo. Selecciona un trabajo para ver la vista detallada de los bienes.

integrationToolJobProperties.jpg

Cuando un objeto es seleccionado podemos ejecutar una construcción del trabajo haciendo clic en el botón de construcción de Jenkins. También podemos refrescar la información haciendo clic en el botón de actualización en la barra de herramientas. Ten en cuenta que para ver la información de registro de la consola el trabajo debe ser refrescado manualmente.

Conclusión

Hemos discutido cómo añadir una herramienta de integración personalizada de Jenkins al Centro de Gestión de WebSphere y cómo utilizar la herramienta para gestionar ciertas tareas de Jenkins directamente desde el Centro de Gestión de WC Esto es sólo un ejemplo de cómo se puede personalizar el Centro de Gestión de WebSphere para hacer todo tipo de tareas diferentes. Esto puede añadir valor a los usuarios de negocios disminuyendo la cantidad de diferentes herramientas y simplificando su flujo de trabajo. Obten acceso a todo el código relevante en GitHub.