TeamCity
TeamCity es un potente servidor CI/CD para automatizar flujos de trabajo de software.
Información básica
TeamCity es un servidor de gestión de compilación e integración/entrega continua (CI/CD) desarrollado por JetBrains. Automatiza los procesos de compilación, prueba e implementación de proyectos de software en diversas plataformas y tecnologías.
- Modelo: Servidor CI/CD
- Versión: No aplicable (servidor CI/CD)
- Fecha de lanzamiento: 2 de octubre de 2006
- Requisitos mínimos:
- Servidor: 4 núcleos de CPU, 4 GB de RAM (para equipos pequeños).
- Agente: ~500 MB de RAM, CPU adicional mínima.
- Sistemas operativos compatibles: Windows (7/7x64, 10, 11, Server 2008-2022), Linux (Ubuntu, Debian, RedHat, SUSE, otros), macOS.
- Última versión estable: 2025.07.2
- Fecha de finalización del soporte: no está definida explícitamente; el acceso a las actualizaciones está vinculado a la suscripción.
- Fecha de fin de vida útil: No definida explícitamente.
- Tipo de licencia: Freemium (la Edición Profesional es gratuita para hasta 100 configuraciones de compilación y 3 agentes; las funciones Enterprise requieren una licencia de pago). Licencia perpetua para instalaciones locales.
- Modelo de implementación: local y en la nube.
Requisitos técnicos
- RAM:
- Servidor: 8 GB para hasta 100 compilaciones simultáneas, 16 GB para servidores más cargados o repositorios más grandes.
- Agente: Aproximadamente 500 MB.
- Procesador:
- Servidor: Doble núcleo a 3,2 GHz para configuraciones modestas (p. ej., 60 proyectos, 300 configuraciones de compilación, 50 agentes). Intel Xeon E5520 a 2,2 GHz (4 núcleos, 8 subprocesos) para servidores con alta carga de trabajo (p. ej., 150 proyectos, 1500 configuraciones de compilación, 100 agentes).
- Agente: tiempo mínimo de CPU adicional más allá del proceso de compilación en sí.
- Almacenamiento:
- Servidor: un solo disco duro para configuraciones modestas; 3 discos duros RAID1 (uno general, uno para artefactos/registros/cachés, uno para base de datos) para servidores cargados.
- Agente: depende de los procesos de compilación, incluida la extracción de la fuente, los artefactos descargados y la salida de la compilación.
- Pantalla: No aplicable para componentes de servidor o agente.
- Puertos: Puerto HTTP predeterminado 8111, configurable para HTTPS.
- Sistema operativo: versiones recientes de Windows, Linux o macOS.
Análisis de Requisitos Técnicos
Los requisitos técnicos de TeamCity son altamente escalables y se adaptan a la carga de trabajo y al número de compilaciones simultáneas. El servidor requiere más recursos, especialmente RAM y CPU, a medida que aumenta el número de proyectos, configuraciones de compilación y usuarios. Los requisitos de los agentes se basan principalmente en las compilaciones que ejecutan, con un consumo de memoria base. La E/S de disco es un factor crítico para el rendimiento, especialmente para el servidor y el almacenamiento de artefactos. La flexibilidad para ejecutarse en varios sistemas operativos, tanto para el servidor como para los agentes, ofrece amplias opciones de implementación.
Soporte y compatibilidad
- Última versión: 2025.07.2
- Soporte de sistema operativo:
- Servidor: Windows (7/7x64, 10, 11, Server 2008, 2012, 2016, 2019, 2022), Linux (Ubuntu, Debian, RedHat, SUSE, otros), macOS.
- Agente: Windows (7/7x64, 10, 11, Server 2003, 2008, 2012, 2016, 2019, 2022), Linux, macOS.
- Fecha de finalización del soporte: No se publican fechas fijas de finalización del soporte; el acceso continuo a las actualizaciones y al soporte prioritario generalmente se proporciona a través de suscripciones activas.
- Localización: No se publicitan ampliamente localizaciones específicas de la interfaz de usuario, pero la plataforma se utiliza a nivel mundial.
- Controladores disponibles: Compatible con bases de datos externas, como MySQL (5.7.34+), PostgreSQL (9.6+), Oracle (10g+) y MariaDB (10.2+). Disponemos de una base de datos HSQLDB interna para evaluación.
Análisis del estado general de soporte y compatibilidad
TeamCity demuestra una sólida compatibilidad con los principales sistemas operativos, tanto para su servidor como para sus agentes de compilación, lo que garantiza una amplia aplicabilidad en diversos entornos de TI. Se integra con una amplia gama de herramientas de desarrollo, sistemas de control de versiones (p. ej., Git, GitHub, GitLab, Bitbucket, Subversion, Perforce) y herramientas de compilación (p. ej., Maven, Gradle, MSBuild, Ant). Si bien no se detallan públicamente las fechas de finalización del soporte, JetBrains ofrece actualizaciones y soporte continuos a los suscriptores activos. La disponibilidad de controladores para bases de datos externas populares mejora aún más su adaptabilidad a entornos de producción.
Estado de seguridad
- Características de seguridad: Entornos y agentes de compilación desechables, grupos de agentes para aislar tareas, verificación limpia para la integridad del código fuente, claves SSH para acceso seguro al VCS, almacenamiento seguro de datos confidenciales (parámetros con contraseña), protección CSRF, acceso HTTPS configurable, integración con HashiCorp Vault y política de seguridad de contenido. También está disponible la integración con Snyk para el análisis de vulnerabilidades de código abierto.
- Vulnerabilidades conocidas:
- CVE-2024-27198: Vulnerabilidad crítica de omisión de autenticación (CVSS 9.8) en el componente web, que permite la ejecución remota de código (RCE) no autenticada y control administrativo total.
- CVE-2024-27199: Alta vulnerabilidad de omisión de autenticación y cruce de ruta (CVSS 7.3), que permite la divulgación limitada de información y la modificación del sistema.
- Estado de lista negra: No aplicable.
- Certificaciones: No se enumeran públicamente certificaciones de seguridad específicas.
- Compatibilidad con cifrado: Las claves SSH se almacenan cifradas en el directorio de datos de TeamCity. El acceso HTTPS al servidor es configurable.
- Métodos de autenticación: base de datos interna, dominio de Windows, LDAP, varios proveedores de alojamiento de Git (por ejemplo, GitHub, GitLab, Bitbucket, Azure DevOps, JetBrains Space), HTTP SAML 2.0 (compatible con Okta, OneLogin, AWS SSO, AD FS), autenticación basada en token (introducida en 2019.1), autenticación HTTP básica y autenticación HTTP NTLM.
- Recomendaciones generales: Actualice TeamCity On-Premises lo antes posible a la versión 2023.11.4 o posterior. Si no es posible actualizar de inmediato, aplique el complemento de parche de seguridad proporcionado. Proteja el directorio de datos de TeamCity con acceso restringido. Tenga cuidado al crear solicitudes de extracción públicas y al utilizar agentes aislados o desechables.
Análisis de la calificación general de seguridad
TeamCity incorpora un conjunto completo de funciones de seguridad diseñadas para proteger el flujo de trabajo de CI/CD, incluyendo mecanismos para entornos de compilación aislados, acceso seguro a sistemas de control de versiones y opciones de autenticación robustas. Sin embargo, el reciente descubrimiento y la explotación activa de vulnerabilidades críticas de omisión de autenticación (CVE-2024-27198 y CVE-2024-27199) resaltan la importancia de la aplicación diligente de parches y el cumplimiento de las recomendaciones de seguridad. Si bien la plataforma ofrece sólidas capacidades defensivas, el impacto de estas vulnerabilidades subraya la importancia de las actualizaciones oportunas para mantener una postura segura.
Rendimiento y puntos de referencia
- Puntuaciones de referencia: Las puntuaciones de referencia específicas y estandarizadas no se publican ampliamente.
- Métricas de rendimiento en el mundo real:
- Capaz de manejar hasta 100 compilaciones ejecutándose simultáneamente con una configuración de servidor de CPU de doble núcleo Intel de 3,2 GHz y 8 GB de RAM.
- Los servidores más cargados pueden gestionar más de 1500 compilaciones al día con un Intel Xeon E5520 de 2,2 GHz (4 núcleos, 8 subprocesos) y 16 GB de RAM.
- Altamente escalable, admite múltiples agentes de compilación y proyectos simultáneamente.
- Características como la limpieza más rápida del historial de compilación contribuyen a mejorar el rendimiento del mantenimiento del servidor.
- Consumo de energía: no se detalla explícitamente, pero las instalaciones más grandes pueden tener un alto consumo de recursos.
- Huella de carbono: No se detalla explícitamente.
- Comparación con activos similares:
- A menudo comparado con Jenkins (código abierto, gratuito, gran apoyo de la comunidad).
- En comparación con CircleCI (conocido por su velocidad y opciones en la nube y locales).
- En comparación con GitLab CI/CD (fácil de usar, seguro, flexible).
Análisis del estado general del rendimiento
TeamCity está diseñado para ofrecer un alto rendimiento y escalabilidad, capaz de gestionar flujos de trabajo complejos de CI/CD en proyectos de diversos tamaños. Su rendimiento está directamente relacionado con la infraestructura de hardware subyacente, con recomendaciones de escalado de CPU, RAM y almacenamiento basadas en el número de compilaciones simultáneas y la carga de trabajo general. Si bien no se dispone de cifras de referencia específicas, los comentarios de los usuarios y el diseño arquitectónico indican su capacidad para gestionar tareas exigentes de integración y entrega continuas de forma eficiente. El consumo de recursos puede ser elevado en implementaciones extensas, lo que requiere una planificación cuidadosa de las especificaciones del servidor y del agente.
Reseñas y comentarios de usuarios
Las reseñas de los usuarios destacan constantemente las fortalezas de TeamCity en cuanto a automatización, fiabilidad y su interfaz intuitiva. Muchos elogian sus potentes funciones y su integración fluida con diversas herramientas de desarrollo, incluyendo la compatibilidad con .NET Framework. La capacidad de automatizar compilaciones para pruebas de carga y sus funciones de generación de informes en tiempo real también se citan con frecuencia como ventajas.
Sin embargo, entre las debilidades comunes se incluyen el precio, que puede ser elevado para equipos grandes, y la aparente falta de documentación completa para la configuración inicial, especialmente para la integración de API. Algunos usuarios señalan una curva de aprendizaje más pronunciada sin soporte dedicado del equipo y mencionan que las actualizaciones obligatorias pueden, ocasionalmente, interrumpir el trabajo en curso. El consumo de recursos de la plataforma también puede ser elevado.
TeamCity se recomienda para empresas medianas y grandes, especialmente en desarrollo de software, TI y comercio electrónico, que buscan optimizar y escalar sus procesos de integración y entrega continua. Es ideal para empresas que expanden sus operaciones de desarrollo de software y necesitan una herramienta confiable para la automatización de pruebas e implementación.
Resumen
TeamCity es un servidor de CI/CD robusto y altamente escalable, diseñado para automatizar y optimizar los flujos de trabajo de desarrollo de software. Sus puntos fuertes residen en su completo conjunto de funciones, su amplia compatibilidad con sistemas operativos y herramientas de desarrollo, y su capacidad para gestionar procesos complejos de compilación e implementación. La plataforma ofrece amplios métodos de autenticación y funciones de seguridad, como agentes desechables y claves SSH cifradas, para proteger el proceso de desarrollo.
Sin embargo, las recientes vulnerabilidades críticas de elusión de autenticación (CVE-2024-27198 y CVE-2024-27199) subrayan la necesidad de implementar prácticas de seguridad rigurosas y actualizaciones rápidas. Si bien se elogia su facilidad de uso y fiabilidad, algunos usuarios consideran que su modelo de precios para equipos grandes y el consumo de recursos son inconvenientes.
En general, TeamCity es una excelente opción para organizaciones que buscan una solución de CI/CD potente y flexible, especialmente aquellas con diversas tecnologías y que necesitan alta escalabilidad. Se recomienda priorizar las actualizaciones inmediatas a las versiones con parches más recientes (2023.11.4 o posteriores) o aplicar parches de seguridad para mitigar vulnerabilidades conocidas. Además, una planificación cuidadosa de los recursos de hardware es esencial para optimizar el rendimiento ante cargas de trabajo exigentes.
La información proporcionada se basa en datos públicos y puede variar según la configuración del dispositivo. Para obtener información actualizada, consulte los recursos oficiales del fabricante.