software sitio register oficial lav lab create comlab git teamcity gitlab

sitio - register gitlab



Gitlab-Creación de solicitudes de fusión en el servidor CI (1)

Tengo GitLab 6.3 y TeamCity 8 y también necesito construir ramas de características. Tenemos el siguiente flujo de trabajo (se basa en git-flow, pero se modificó ligeramente de acuerdo con nuestro ciclo de publicación).

Entonces, tenemos una rama de development y una rama de características de push con un nombre específico dev/feature-name-here .

A continuación, creamos una solicitud de fusión en GitLab desde dev/feature-name-here hasta el development .

TeamCity está configurado para ejecutar automáticamente compilaciones para cada sucursal con la siguiente refspec: +:refs/heads/dev/(*) refs +:refs/heads/dev/(*) para que podamos ver una compilación para la feature-name-here rama feature-name-here se inicia automáticamente.

A continuación, tengo un script personalizado que está incrustado en la página de solicitud de combinación de GitLab. Se hace lo siguiente.

  1. Detecta una rama de origen y destino mirando una página de MR
  2. Con la API REST de TeamCity se enumera la compilación que pertenece a una rama de destino (en TeamCity 8 podemos asignar una ID de configuración de compilación personalizada para la compilación, por lo que utilizamos algunos nombres semánticos como devUnit , devIntegration , devWhatever , etc ...)
  3. Crea una tabla que contiene imágenes de estado de compilación para las ramas de origen y destino para cada configuración de compilación relacionada.

Ahora se ve así:

Ahora, este enfoque tiene algunos inconvenientes, como si uno actualiza una rama con otro empuje que no puedo entender en la página de GitLab si los nuevos compromisos ya están construidos o estoy viendo el estado de compilación anterior, por lo que debo hacer clic en el enlace de compilación y verificar en TeamCity

Estamos utilizando GitLab para gestionar nuestros repositorios. Estamos tratando de seguir los procesos de GitFlow y, como parte de eso, nos gustaría poder construir y ejecutar las pruebas contra cualquier solicitud de combinación de forma automática en TeamCity.

Por lo que puedo ver, esto es posible en GitLab CI, pero pasar a eso no es una opción realista para nosotros.

He visto tutoriales sobre cómo lograr esto en GitHUB usando una especificación de rama como + refs / pull / * / merge - ¿GitLAB crea una especificación de rama similar?

Estamos utilizando la versión 4.2 de GitLab, pero podemos actualizarla si es necesario para esta función y la versión 8 de TeamCity