¿Cómo limitar los artefactos de las compilaciones de TeamCity?

Para ahorrar espacio en disco y evitar problemas de rendimiento, puede limitar los artefactos almacenados en compilaciones y proyectos específicos de TeamCity. Hay tres maneras de hacerlo:

  • Empaquetar varios archivos de artefactos en un solo archivo.
  • Limitar el tamaño de los archivos de artefactos y el número de artefactos por compilación.
  • Configurar la limpieza automática de archivos innecesarios.

Empaquetar los artefactos de compilación en un archivo

TeamCity puede crear automáticamente un archivo de artefactos de compilación antes de publicarlos. Para configurar esta opción, abra General Settings en una configuración de compilación y especifique las rutas de los artefactos en artifact paths (patrones separados por comas o por líneas nuevas) en el siguiente formato:

[+:|-:]source => target_archive.*, donde:

  • [+:|-:]source - una ruta a los archivos o directorios que se publicarán como artefactos de compilación (+:) o se excluirán de la publicación (-:). Se recomienda utilizar rutas de origen relativas al directorio de comprobación de la compilación, aunque también se admiten rutas absolutas.
  • target_archive.* - una ruta a un archivo que TeamCity debería crear para empaquetar artefactos, donde .* es la extensión del archivo. Los tipos de archivo compatibles son zip, 7zip, jar, tar y tar.gz. La ruta de destino no puede ser absoluta; especifíquela en relación con el directorio de comprobación de la compilación.

Por ejemplo, para empaquetar todos los archivos y subdirectorios almacenados en el directorio nombre_directorio en el archivo ZIP nombre_archivo, introduzca lo siguiente en el campo Artifact paths:

nombre_directorio => nombre_archivo.zip

Consulte este artículo de documentación para obtener más detalles y ejemplos sobre cómo configurar las rutas de los artefactos.

Limitar el tamaño y el número de archivos de artefactos

Puede especificar el tamaño máximo permitido de un archivo de artefacto de compilación y el número máximo de artefactos por compilación a nivel global en el servidor de TeamCity. Para ello, utilice la configuración correspondiente en la sección Build Settings de Administration | Global Settings.

Definir las reglas de limpieza

Puede pedir a TeamCity que elimine automáticamente los artefactos antiguos e innecesarios de una configuración de compilación específica. Para ello, configure las reglas de limpieza en Project Settings | Clean-up Rules:

  • Haga clic en la fila Base rule en una configuración de compilación que desee cambiar. Si la fila de la regla base está oculta, haga clic en Show 1 inherited rule (cada configuración de compilación hereda una regla base de su proyecto principal de forma predeterminada).
  • En la sección Clean artifacts del cuadro de diálogo emergente, seleccione la opción Custom policy y especifique una regla para eliminar los artefactos de compilación. Por ejemplo:
    • Elimine los artefactos de todas las compilaciones anteriores a la n-ésima compilación exitosa.
    • Elimine los artefactos de todas las compilaciones que tienen más de n días desde la última compilación exitosa.
    • Elimine los artefactos por nombres según los patrones especificados.

      En el campo Artifact patterns, introduzca patrones separados por líneas nuevas para los nombres de los artefactos con el fin de añadir o excluir de la limpieza los artefactos que coincidan. Por ejemplo:

      • +:**/file*.* - elimina los artefactos que contienen «file» en sus nombres.
      • -:**/file*.jar - excluye de la limpieza los artefactos .jar con «file» en sus nombres.
  • En la sección de Dependencies del cuadro de diálogo de la regla base, puede especificar si desea eliminar o conservar los artefactos de las compilaciones de dependencia que forman parte de una cadena.