Integración continua – iceScrum

Documentación Esta documentación se aplica solo a iceScrum v7.
Para el antiguo iceScrum R6, lea la documentación o migrate.



La integración continua (IC) juega un papel importante en el desarrollo ágil. iceScrum integra la información de compilación desde su servidor de IC para que no tenga que dejar iceScrum para verificar que sus compilaciones pasen. Esta integración también permite la trazabilidad entre las historias y las construcciones en las que se implementan.

Principios

iceScrum proporciona una estructura de datos genérica para almacenar información de compilación. Es enviado por un servidor de IC a través de la API iceScrum Web Services. Para Jenkins/Hudson y Travis CI, proporcionamos apps para hacerlo automáticamente:

Compilaciones, trabajos y proyectos


La información de compilación se envía cuando su servidor IC construye su aplicación siguiendo las instrucciones descritas en un trabajo.

La información de compilación describe principalmente el nombre, el número, la fecha, el trabajo y el estado de la compilación. Cuando se envía a iceScrum, la información de compilación debe estar asociada a un proyecto (puede asociar varios trabajos con un proyecto). iceScrum sabe que las compilaciones pertenecen al mismo trabajo de acuerdo con el nombre del trabajo que se proporciona.

El Tablero muestra la última información de compilación para cada trabajo asociado con el proyecto. A la izquierda, se muestra el nombre del trabajo. El color del nombre de compilación depende del estado de compilación. Obtendrá más información pasando el cursor sobre ella.

Compilaciones, tareas e historias

Dentro de un proyecto, la información de compilación se muestra con una o varias historias. Las historias se muestran con la compilación si incluyen una o más tareas asociadas con este número de compilación.

La información de compilación también se muestra en las vistas de tareas y detalles de historias de acuerdo con esta asociación. A diferencia de la información del panel que muestra solo la última compilación por trabajo, se muestran todas las compilaciones asociadas.

Información de compilación en el detalle de historia.

El plugin de integración continua incluye tareas en la información de compilación si se encuentran en mensajes de commit de acuerdo con este patrón: T<taskUID>[-<taskEstimation>]. Este patrón es el que definimos para la integración de SCM. En consecuencia, si ya usa esta función de iceScrum, las compilaciones se asociarán con sus tareas automáticamente.

Las siguientes secciones describen cómo configurar la integración con su servidor de IC. Por el momento, tanto Jenkins como Travis CI están disponibles de manera inmediata. Si desea que nuestro equipo desarrolle un nuevo plugin, contáctenos. Háganos saber si desarrolla uno por su cuenta, por lo que podemos considerar ponerlo a disposición de todos.

La App Jenkins


Esta sección describe cómo vincular iceScrum con su servidor Jenkins.

Configuración de iceScrum


La única configuración para hacer en su proyecto iceScrum es habilitar la App Jenkins.

Por el momento, sólo se admiten proyectos de estilo libre, el soporte de Jenkins Pipelines no está disponible todavía.

Habilita la App en su proyecto.

Configuración del plugin Jenkins

Si usa Jenkins, puede instalar el plugin iceScrum directamente desde el menú Gestionar Jenkins> Administrar plugins. Lo encontrará en la pestaña Disponible (se llama plugin iceScrum). Elija Descargar ahora e instalar después de reiniciar.

Si usa Hudson, deberá instalar el plugin manualmente. Descargue el último archivo icesrum.hpi en el directorio $HUDSON_HOME/plugins y reinicie Hudson.

Una vez que reinicie su servidor Jenkins, puede configurar la conexión a iceScrum en el panel de configuración de iceScrum de la configuración de su trabajo.

Configuración de iceScrum con autenticación de token de acceso.

Ingrese su URL de proyecto:

$server/p/$project

Si usa iceScrum Cloud, la URL será:

https://cloud.icescrum.com/p/$project

Autenticación:

  • Ahora iceScrum usa tokens API para la autenticación del servicio web. Aprende cómo generar un token API iceScrum.
  • Para la versión heredada de R6, también puede ingresar las credenciales de un usuario que esté en su equipo.
  • En ambos casos, antes de ir más allá, verifique sus credenciales con el botón Probar credenciales.

Configuración de iceScrum con autenticación para la versión R6.

Finalmente, agregue la acción post-compilación de iceScrum que enviará sus datos de compilación a su servidor iceScrum.

Agregue una acción de post-compilación para actualizar el estado en iceScrum

Si tiene varios trabajos para su proyecto iceScrum, no olvide agregar la acción post-compilación a todos. Luego, el plugin enviará automáticamente datos de compilación a su proyecto iceScrum para cada compilación que incluya commits con el patrón de denominación de tarea iceScrum.

Acción de post-compilación iceScrum

La App Travis CI

Esta sección describe cómo vincular iceScrum con su servidor Travis CI.

Configuración de iceScrum


La única configuración que debe realizar en su proyecto iceScrum es habilitar la App Travis CI.

Configuración de Travis CI


Configurar un webhook
 
Para notificar iceScrum del estado de compilación de Travis CI, debe agregar una notificación webhook al archivo .travis.yml de su proyecto.

language: groovy
notifications:
  webhooks:
    urls:
      - https://cloud.icescrum.com/ws/project/PEETIC/build/travis?icescrum-token=dad27aff397bfes32fdab987
    on_failure: always
    on_start: never
    on_cancel: always
    on_error: always

 
La URL de webhook está construida de esta manera:

$server/ws/project/$project/build/travis?icescrum-token=$access_token
  • servidor: la URL de su servidor iceScrum. Para las instancias de iceScrum Cloud es
    https://cloud.icescrum.com
  • proyecto: su ID o clave del proyecto iceScrum
  • access_token: token de acceso iceScrum API. Aprende cómo generar un token iceScrum API.

 
Aquí es un ejemplo de webhook URL para el proyecto en la nube PEETIC:

https://cloud.icescrum.com/ws/project/PEETIC/build/travis?icescrum-token=dad27aff397bfes32fdab987

 
Obtenga más información sobre las notificaciones de webhook en la documentación oficial de Travis CI.
 
Asegure su token de API:
 
El parámetro de urls debe ser asegurado ya que contiene un token iceScrum. Travis CI le permite encriptar variables en el archivo .travis.yml de su proyecto.

# gem install travis
$ cd ~/pathtoproject/myproject
$ travis encrypt '$server/ws/project/$project/build/travis?icescrum-token=$access_token'

 
Luego inserte el resultado en el archivo .travis.yml de su proyecto.
Sigue siendo necesario un guion antes de la declaración «secure:», ya que no formaba parte de la cadena cifrada.

language: groovy
notifications:
  webhooks:
    urls:
      - secure: &quot;i3Lq3diKBsskZL5QAnNMwYhMjG7MkApeFORj1HfZAwbbFynESB4ZpRQuMbMmKuFm61H/hgVaXfSvHxREfJZEKf71Le1jBYYdnsMZolOvi3NFlFZ5NZMOmsGm9csoJbXxvDGbmg8N6+ecaE/D/6tHPBlO1Hjd5WyqfDRMEl7VmsA258rOj7PHzY0ne+kRUgIc0Q5DYxfVoh2oHs6FSJHDLKJJHwUqrLDSy9lJHJyBjJZUHvRtycavXKvWE9r0zqE2TR1amKFa7YXWseppSvjUOkAwgOx6GXcwzX2ror6X8akns26GY46NvdYlVDzWIw9ArgoUKJF6VM/3wn23CgEMUlDy10w3eSR4Tnni107MzkO7wn+Ovy+xJP/wyZnJYmsgSUyGnERvAkjIHsDOkqCtEbDQbsvS4ggyogATBkLRqsRGPZKrrN/6CQX8Stl67AztFT79pb4Iijd0fJIOag3nkF0m5/dEgHHtsKEMgvHf5CF9T7EEJfVhqbQuv072rIc3CXUkkK3+5196EcnZIzRyx20cblEkTbVx+zMtFI8vg7QsSFdR9NEf3p1uwH5RGzdj6FWJ/jQUoM2i9Sv+Z9rRYUQo0rXDld9inJh26BjTvRkzf4ZDjyISAcbKiz2yZBTiCJh9UGyWCXmw8OP+vBhKTBvHnOYdCzkDAbSh1nw=&quot;
    on_failure: always
    on_start: never
    on_cancel: always
    on_error: always

 
Lea más sobre el cifrado en la documentación oficial de Travis CI.


Pruébalo gratis ahora
Todo lo que necesita para gestionar sus proyectos ágiles