Integración continua de TeamCity y GitLab

Flexible y adaptable a cualquier flujo de trabajo, TeamCity ofrece potentes herramientas de CI con compatibilidad con integración de primer nivel para GitLab.com, GitLab Enterprise Edition y GitLab Community Edition.

Compile a escala donde otros fracasan

A medida que los proyectos crecen en tamaño y complejidad, se hace cada vez más difícil mantener un proceso de entrega eficiente utilizando solo las capacidades de CI integradas en GitLab. Aquí es donde TeamCity viene en su ayuda. TeamCity es una solución general de CI/CD que no impone ningún flujo de trabajo específico y proporciona la máxima flexibilidad y capacidad de configuración para equipos de todos los tamaños.

Multiplataforma, multinube, multilenguaje

TeamCity está disponible para Linux, Windows y macOS y se puede ejecutar en su propio hardware, en su infraestructura alojada en la nube preferida, en un clúster Kubernetes o en cualquier combinación de estos. Es compatible con todos los lenguajes de programación y se integra con todas las herramientas populares utilizadas para crear y probar software.

Obtenga comentarios procesables

TeamCity proporciona información valiosa y procesable sobre los fallos de compilación y pruebas para ayudar a que su proceso de desarrollo sea mucho más eficiente. Le notifica las pruebas fallidas en tiempo real, mantiene su historial de compilación, registra su duración y marca las pruebas inestables como defectuosas. Cada prueba puede incluir trazas de pila, capturas de pantalla, registros y otros datos necesarios para una investigación rápida.

Compatibilidad con cualquier flujo de trabajo

Configurar la integración continua para sus proyectos de GitLab no podría ser más sencillo. Una vez que haya configurado una conexión a sus repositorios GitLab, solo necesitará unos clics para crear un nuevo proyecto de TeamCity. No importa cómo organice sus proyectos y flujos de trabajo, TeamCity puede compilarlos.

  • Ejecute builds y pruebas de unidad en cada confirmación para obtener comentarios inmediatos sobre sus cambios.
  • Cree flujos de trabajo personalizados basados en el nombre de usuario, el nombre de la rama, el mensaje de confirmación o los cambios en los archivos.
  • Desencadene las compilaciones cuando se abra una solicitud de fusión para ejecutar pruebas automatizadas antes de una revisión del código.
  • Programe compilaciones nocturnas para ejecutar un conjunto completo de pruebas de regresión y mantener una alta calidad del código.
  • Automatice toda una serie de compilaciones y pruebas cuando se fusionan los cambios en una rama de lanzamiento.
  • Inicie el build de un proyecto dependiente cuando un build relacionado finalice correctamente.

Puede utilizar TeamCity para combinar diferentes lenguajes de programación, plataformas e infraestructuras de compilación en un único y sólido proceso de CI. Incluso puede añadir varias raíces VCS para crear procesos de compilación para proyectos con repos alojados tanto en GitLab como en otros sistemas de control de versiones, incluidos GitHub, Bitbucket, Azure DevOps, Mercurial, Subversion y Perforce. Consulte más información sobre las integraciones con VCS.

Automatización posterior a la compilación

Con total compatibilidad con las funcionalidades de GitLab, TeamCity se integra a la perfección y de forma transparente, para ofrecerle una visión completa de sus procesos de DevOps.

Publicación del estado de compilación

TeamCity puede publicar el estado actual de cada compilación en GitLab en tiempo real, desde el momento en que se añade a la cola hasta su finalización, para que pueda supervisar el progreso y ver los resultados directamente desde la confirmación o la solicitud de fusión.

Para obtener más detalles, consulte la sección Commit Status Publisher de nuestra documentación.

Fusión automatizada y manual

Puede configurar reglas para fusionar cambios a una rama automáticamente como parte del proceso de CI. Con compatibilidad para fusiones en cascada, puede crear flujos de trabajo complejos para promover cambios a ramas de integración y lanzamiento protegidas. En el caso de que alguna prueba falle u otras condiciones de fusión automática no se cumplan, puede optar por fusionar los cambios manualmente directamente desde la interfaz de usuario de TeamCity, sin tener que volver a GitLab.

Para obtener más detalles, consulte las secciones Automatic Merge y Manual Branch Merging de nuestra documentación.

Etiquetado VCS

TeamCity facilita la configuración de etiquetas Git para registrar los números de versión frente a los orígenes de los builds correctos (o de todos los builds) de forma automática o manual.

Para obtener más detalles, consulte la sección VCS Labeling de nuestra documentación.

Integración con Sistemas de seguimiento de incidencias

Puede ver los detalles de cualquier incidencia de GitLab a la que se haga referencia en los mensajes de confirmación directamente desde la interfaz de usuario de TeamCity.

Para obtener más detalles, consulte la sección Integrating TeamCity with Issue Tracker de nuestra documentación.

Notificaciones instantáneas

Notifique a los autores de confirmaciones y a los miembros del equipo los builds rotos o las pruebas fallidas, celebre las ejecuciones de prueba satisfactorias o informe a los revisores de código cuando se hayan completado las comprobaciones de integración continua y los cambios estén listos para su revisión. TeamCity ofrece compatibilidad nativa con Slack, correo electrónico y notificaciones de IDE y navegador, mientras que el rico ecosistema de complementos proporciona compatibilidad adicional con notificaciones de Microsoft Teams, Telegram y Discord.

Autenticación simplificada

Tanto si utiliza TeamCity Cloud como TeamCity On-Premises, puede usar su cuenta existente de GitLab.com o GitLab CE/EE para la gestión de identidades y accesos.

  • Permita a los usuarios iniciar sesión en TeamCity con sus credenciales existentes de GitLab.
  • Con los resultados de la compilación y las pruebas publicados automáticamente en GitLab, puede elegir si desea permitir que todos los usuarios de GitLab accedan a TeamCity o restringir el acceso a un subconjunto de usuarios responsables de configurar los procesos de compilación.
  • Asignar usuarios existentes de TeamCity a perfiles de GitLab.
  • Configure los permisos de usuario en TeamCity independientemente de los roles de GitLab.

Potentes funcionalidades de TeamCity para complementar su flujo de trabajo

Inteligencia de pruebas en tiempo real

Cuando las compilaciones y las pruebas fallan, la principal prioridad es comprender la naturaleza del problema e identificar la raíz del mismo. TeamCity puede:

  • Identifique la confirmación exacta que introdujo un fallo, notifique al autor del cambio y asigne investigaciones automáticamente.
  • Analice el historial de pruebas para identificar los fallos corregidos en compilaciones posteriores e identificar las pruebas defectuosas.
  • Utilice inspecciones de IntelliJ IDEA o ReSharper para proporcionar los resultados del análisis estático de código como parte de su proceso de compilación.
  • Mida el alcance de la cobertura de sus pruebas automatizadas gracias a la compatibilidad nativa con herramientas Java y .NET y a las integraciones con muchos otros ejecutores de compilación, como Ant, Maven y Python.

Optimizaciones de CI

Los ciclos de comentarios cortos y rápidos son fundamentales para una estrategia DevOps eficaz. TeamCity agiliza los flujos de trabajo de creación y pruebas para ofrecer rápidamente información sobre los últimos cambios, acelerando el proceso de publicación y dándole más tiempo para investigar y solucionar cualquier problema.

  • Los pasos de compilación están optimizados de forma predeterminada para reutilizar artefactos de compilación no modificados.
  • TeamCity identifica automáticamente los agentes de compilación más rápidos y la ordenación de tareas más eficiente, lo que supone un ahorro considerable de recursos informáticos y tiempo para proyectos de gran envergadura.
  • Obtenga comentarios más rápidamente distribuyendo las pruebas automatizadas entre varios agentes con paralelización automática.
  • Los resultados de las pruebas se notifican en tiempo real, por lo que puede empezar a investigar los fallos incluso antes de que finalice el paso de compilación.

Preguntas frecuentes: Integración continua con TeamCity y GitLab

¿Es gratuita la integración de TeamCity con GitLab?

La integración con GitLab está disponible en todas las versiones de TeamCity, incluida la versión gratuita autoalojada. También puede probarla gratis en TeamCity Cloud, que incluye un periodo de prueba de 14 días.

¿Es TeamCity mejor que GitLab?

No es exacto comparar TeamCity y GitLab porque son diferentes tipos de herramientas. TeamCity ofrece más funciones y flexibilidad que las capacidades integradas de CI/CD de GitLab, pero no tiene funciones como el seguimiento de incidencias o el alojamiento de Git.

¿Es TeamCity compatible con GitLab Container Registry?

Sí, TeamCity admite todos los registros Docker más populares, incluyendo GitLab Container Registry. Además de las operaciones habituales de extracción y ejecución, TeamCity también puede eliminar automáticamente imágenes Docker obsoletas durante la limpieza del servidor, lo que resulta especialmente útil en configuraciones CI/CD locales.

Más información sobre la integración con Docker de TeamCity.

¿Puede compilar su código en TeamCity sin enviarlo a GitLab?

Al instalar el complemento de TeamCity a un IDE basado en IntelliJ o Visual Studio, puede ejecutar un proceso de CI en su código sin confirmarlo. Esta funcionalidad es especialmente apreciada por los desarrolladores de juegos.