Contenido


Configuración de integración continua para IBM System Planning Tool

Configuración de construcción en su rutina nocturna

Comments

IBM System Planning Tool (SPT) es una herramienta de aplicación Web que ayuda a los usuarios a diseñar configuraciones de sistema de acuerdo a sus necesidades. Utilizando estas herramientas, un usuario puede configurar ya sea un sistema totalmente nuevo o puede planear un sistema con base en datos de rendimiento existentes o con base en cargas de trabajo nuevas. El plan configurado final de un sistema se llama un plan del sistema o sysplan. El sysplan generado lo puede usar el usuario para hacer una solicitud para comprar servidores IBM. Además de estos planes de sistema generados por SPT también se puede usar para desplegar el plan al sistema físico por Hardware Management Console (HMC).

Las siguientes secciones describen los pasos requeridos para realizar la configuración de una integración continua para un proyecto SPT en un ambiente Linux® pero también aplica a los sistemas operativos IBM AIX® o IBM i (ver la nota siguiente).

Nota: Los lectores pueden usar este artículo como un documento de referencia para configurar su propio ambiente de integración continua para su proyecto. Se requiere que los usuarios cambien los archivos del proyecto, la ruta, el software del controlador de la versión fuente, etc. de acuerdo con las necesidades de su proyecto. También, si se requiere que los usuarios configuren su ambiente en un sistema operativo diferente a Linux, entonces tendría que usar los comandos respectivos de su sistema operativo mientras hacen la configuración.

Pseudo código o algoritmo de la configuración de integración continua

  1. Extraiga los últimos archivos fuente o los archivos fuente incrementales de Configuration Management Version Control (CMVC)
  2. Construya los archivos extraídos.
  3. Si la construcción es exitosa:
    1. Ejecute el paquete/recipiente completo de pruebas y genere el reporte del paquete de pruebas.
    2. Ejecute el guión de cobertura de código y genere el reporte de cobertura de código.
    3. Envíe un correo electrónico acerca del éxito de la construcción con la bitácora de construcción y los reportes de cobertura.
  4. Si falló la construcción, vuelva a intentar la construcción dos veces más después de un intervalo de tiempo específico.
    • Si la construcción es exitosa:
      1. Ejecute el paquete/recipiente de pruebas completo y genere el reporte del paquete de pruebas.
      2. Ejecute el guión de cobertura de código y genere el reporte de cobertura de código.
      3. Envíe un correo electrónico acerca del éxito de la construcción con la bitácora de construcción y los reportes de cobertura.
    • Si falló la construcción:
      1. Encuentre el archivo que hizo que la construcción fallara.
      2. Envíe un correo electrónico al desarrollador involucrado acerca de la falla de la construcción junto con el nombre del archivo fuente que causó la falla.
  5. Repita estos pasos a la hora programada todos los días como se da en la entrada crontab.

Extracción y construcción programada de código

Dos veces al día, el guión de construcción extrae los últimos archivos fuentes de CMVC y construye la fuente (a las 10 a.m. y a las 5 p.m. todos los días).

Si la última construcción fallara, entonces lo intenta dos veces más después de un intervalo de tiempo de 1 minuto desde la primera construcción.

Envía el correo electrónico con el estado de la construcción (éxito/falla) al equipo de proyecto involucrado para que puedan tomar la acción apropiada de acuerdo al resultado.

En caso de falle la construcción incluso después de reintentarlo dos veces, entonces encuentra el archivo que causó que fallara la construcción y le envía un mensaje de alerta al desarrollador, que verificó ese archivo recientemente, para que tome la acción necesaria.

Descargar el software y archivo requeridos

Usted requiere el siguiente software y archivos mientras ejecuta la configuración de la integración continua para el proyecto IBM SPT. Puede descargar estos archivos desde Internet o desde la sección de Descargas.

  • del Software Development Kit de IBM (SDK) for Java™
  • Cliente de línea de comando CMVC para Linux
  • Apache Ant
  • Servidor Apache Tomcat
  • Code Coverage Jar (emma.jar)

Pasos para la extracción de código y configuración de construcción programadas

  1. Descargar y copiar la carpeta de construcción del proyecto v1r2m0d y los archivos cmvc_Linux_client_commands.tar, apache-ant-1.8.2-bin.tar y emma.jar al sistema de configuración.

    Nota: Aquí, v1r2m0d es una de las carpetas del proyecto –SPT que contiene todos los archivos fuentes del proyecto.

  2. Cambiar el directorio a la carpeta en la que se copió el archivo tar cliente de la línea de comando CMVC.
    [root@localhost ~]# cd
                            CMVC_client/ [root@localhost CMVC_client]# ls cmvc_Linux_client_commands.tar
  3. Extraer los archivos del archivo tar del cliente de línea de comando CMVC.
    [root@localhost CMVC_client]#tar -xvf
                            cmvc_Linux_client_commands.tar
  4. Cambiar el directorio a bin/ y cuando haga la lista de archivos, puede ver todos los archivos de comando CMVC.
     [root@localhost
                            CMVC_client]# cd bin/ [root@localhost bin]# ls Access Authority Cfgrelproc
                            cmvclog Config Defect Feature Folder Level Note Prereq Release Size Track
                            Approval Become client.cmc cmvcntrl Conflict Environment File Host
                            LevelMember Notify Process Report Stage User Approver Cfgcomproc Cmvchost
                            Component Coreq Family Fix Interest Migrate Package Project Shadow Test
                            Verify
  5. Descargar e instalar Apache Ant.

    Después de descargar, extraiga los contenidos de la carpeta Ant utilizando los siguientes comandos.

     gzip -d apache-ant-1.8.2-bin.tar.gz tar -xf
                            apache-ant-1.8.2-bin.tar
  6. Si no está instalado Java, entonces instalarlo y establecer el classpath.
    • Descargar IBM SDK for Java e instalarlo.
                                      ./ibm-java-i386-sdk-7.0-0.0.bin
    • Después de esto, establecer la ruta en /etc/profile.d

      Crear un archivo llamado java.sh y agregar las siguientes líneas a ese archivo.

       vi /etc/profile.d/java.sh export
                                      JAVA_HOME=/opt/ibm/java-i386-70 export
                                      ANT_HOME=/root/apache-ant-1.8.2 export CMVC_HOME=/root/CMVC_client
                                      export CMVC_AUTH_METHOD=PW export
                                      CMVC_FAMILY=xxxx@xxxx.yyyy.ibm.com@1312 export CMVC_USER=zzzz
                                      PATH=$PATH:$JAVA_HOME/bin:${ANT_HOME}/bin:$CMVC_HOME/bin:

    Nota: Cambiar la ruta de estos archivos de acuerdo con la configuración del proyecto.

  7. Agregar el nombre de familia CMVC y el número de puerto al archivo de servicios.

    Syntax

    xxxx@xxxx.yyyy.ibm.com 1312/tcp

    Donde, xxxx@xxxx.yyyy.ibm.com es el nombre de familia CMVC y 1312 es el puerto CMVC correspondiente.

    Adjuntar este arriba de la línea en el archivo /etc/services .

     nimhub
                            48002/tcp # Nimbus Hub nimhub 48002/udp # Nimbus Hub nimgtw 48003/tcp #
                            Nimbus Gateway nimgtw 48003/udp # Nimbus Gateway com-bardac-dw 48556/tcp #
                            com-bardac-dw com-bardac-dw 48556/udp # com-bardac-dw iqobject 48619/tcp #
                            iqobject iqobject 48619/udp # iqobject # Local services
                                xxxx@xxxx.yyyy.ibm.com 1312/tcp

    Comentar las líneas si tienen el mismo puerto (por ejemplo, se comentan en la siguiente entrada de archivo, líneas con puerto 1312, que tengan el mismo puerto que el de la familia CMVC).

     rxmon 1311/tcp # RxMon
                            rxmon 1311/udp # RxMon #sti-envision 1312/tcp # STI
                                Envision
    #sti-envision 1312/udp # STI Envision bmc_patroldb 1313/udp # BMC_PATROLDB

Ejecutar un paquete de pruebas programado y generar un reporte de cobertura de código programado

Después de cada construcción exitosa, el guión de construcción ejecuta un paquete completo de pruebas (recipiente de prueba/casos de prueba) y genera el reporte del paquete de pruebas para el proyecto SPT.

También, después de cada construcción exitosa, ejecuta el guión de cobertura de código y genera el reporte de cobertura de código en formato HTML para que cualquier miembro del equipo del proyecto pueda descargar esos reportes de cobertura y verificarlos más tarde.

Pasos de configuración de cobertura de código programados

  1. Descargar y copiar el archivo emma.jar (jar de cobertura de código) al directorio <your jre dir>/lib/ext/.

    Por ejemplo: /root/nightly_builds_docs/ibm-java-i386-60/jre/lib/ext/emma.jar

  2. Proporcionar permisos para ejecutar el archivo emma.jar.
                            chmod +x emma.jar

Los pasos para configurar el servidor Apache para descargar la bitácora de construcción, la bitácora del resultado de la ejecución de la recipiente de prueba y los reportes de cobertura

  1. Descargar y copiar la carpeta apache-tomcat-7.0.27 folder a /root/nightly_builds_docs.
  2. Cambiar el directorio a la carpeta bin de la carpeta Apache Tomcat.
     cd /root/nightly_builds_docs/apache-tomcat-7.0.27/bin
  3. Iniciar el servidor Apache Tomcat ejecutando el comando siguiente.
     ./startup.sh &

Configurar la carpeta de construcción del proyecto, guiones shell y cronjob

Esta sección describe los pasos requeridos para configurar la carpeta de construcción del proyecto, los guiones shell y cronjob para programar la extracción del código y ejecutar la construcción.

Pasos para configurar la carpeta de construcción de la carpeta de construcción y los guiones shell

  1. Crear la carpeta cmvc_extract bajo la carpeta del proyecto v1r2m0d donde se colocarán los nuevos archivos fuentes extraídos de CMVC.
    mkdir
                            /root/nightly_builds_docs/build/v1r2m0d/cmvc_extract
  2. Crear la carpeta build_home bajo la carpeta del proyecto v1r2m0d donde se copiaran los nuevos archivos fuentes sin la ruta cmvc lo cual se copiará de la carpeta cmvc_extract y más tarde se construyen los archivos.
    mkdir
                            /root/nightly_builds_docs/build/v1r2m0d/build_home
  3. Copiar los siguientes guiones shell en la carpeta de construcción del proyecto (/root/nightly_builds_docs/build/v1r2m0d.hpi/) y proporcionar los permisos para ejecutar los siguientes guiones.
    • send_failed_build_mail.sh
    • nightlyBuild_retry.sh
    • coverage_script.sh
    chmod 777 send_failed_build_mail.sh chmod 777
                            nightlyBuild_retry.sh chmod 777 coverage_script.sh
  4. Copiar el guión shell principal, build_coverage_send_mail.sh a la carpeta /root/nightly_builds_docs/build/ y proporcionar los permisos para ejecutar este guión de shell.
 chmod 777 build_coverage_send_mail.sh

Configurar el cronjob para programar la extracción del código y ejecutar la construcción

  1. Configurar un programador / cronjob para ejecutar el guión de construcción en una hora específica del día.
    1. Instalar crontab usando el siguiente comando.
      [root@localhost v1r2m0d]#
                                      crontab -e no crontab for root - using an empty one crontab:
                                      installing new crontab

      Nota: Se abre un editor Vi donde necesita capturar el trabajo con horarios y luego guardar y cerrar.

    2. Crear una entrada crontab para ejecutar un guión específico a la hora especificada del día.

      Nota: Proporcionar las entradas crontab de acuerdo con las necesidades de su proyecto. A continuación se dan algunos ejemplos.

      La entrada crontab siguiente se ejecuta diariamente a las 12.05 a.m.

      [root@localhost
                                      v1r2m0d]# crontab -l 5 0 * * * export
                                      JAVA_HOME=/root/nightly_builds_docs/ibm-java-i386-
                                      60;/root/nightly_builds_docs/build/build_coverage_send_mail.sh
                                      &

      La entrada crontab siguiente se ejecuta dos veces diariamente, una a las 12 de la noche y otra a las 12 del mediodía.

      00 0,12 * * * export
                                      JAVA_HOME=/root/nightly_builds_docs/ibm-java-i386-
                                      60;/root/nightly_builds_docs/build/build_coverage_send_mail.sh
                                      &

      La siguiente entrada crontab se ejecuta cada hora.

      0 * * * * export
                                      JAVA_HOME=/root/nightly_builds_docs/ibm-java-i386-
                                      60;/root/nightly_builds_docs/build/build_coverage_send_mail.sh
                                      &

      La siguiente entrada crontab se ejecuta diariamente una vez a las 10 a.m. y una vez a las 5 p.m.

      0 10,17 * * * export
                                      JAVA_HOME=/root/nightly_builds_docs/ibm-java-
                                      i386-60;/root/nightly_builds_docs/build/build_coverage_send_mail.sh
                                      &

      La siguiente entrada crontab se ejecuta diariamente una vez a las 10 a.m. y una vez a las 5 p.m. y envía la salida crontab a un archivo de texto.

      0
                                      10,17 * * * export JAVA_HOME=/root/nightly_builds_docs/ibm-java-
                                      i386-60;/root/nightly_builds_docs/build/ build_coverage_send_mail.sh
                                      > /root/nightly_builds_docs/build/crontab_output.txt
                                      &
  2. Reiniciar el sistema.

Recursos


Recursos para Descargar


Comentarios

Inicie Sesión o Regístrese para agregar comentarios.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Linux
ArticleID=967340
ArticleTitle=Configuración de integración continua para IBM System Planning Tool
publish-date=03072014