TeamCity 빌드의 아티팩트를 어떻게 제한할 수 있나요?

디스크 공간을 절약하고 성능 문제를 방지하기 위해 특정 TeamCity 빌드 및 프로젝트에 저장된 아티팩트를 제한할 수 있습니다. 아티팩트 제한을 위한 주요 방법에는 3가지가 있습니다.

  • 여러 아티팩트 파일을 1개의 아카이브로 압축.
  • 아티팩트 파일 크기 및 빌드당 아티팩트 개수 제한.
  • 불필요한 파일을 자동으로 정리하도록 구성.

빌드 아티팩트를 아카이브로 압축

TeamCity는 아티팩트를 게시하기 전 빌드 아티팩트에서 아카이브를 자동으로 생성할 수 있습니다. 이 동작을 구성하려면 빌드 구성의 General Settings(일반 설정)를 열고 artifact paths(아티팩트 경로)(줄바꿈 또는 쉼표로 구분된 패턴)를 다음 형식으로 지정합니다.

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

  • [+:|-:]source – 빌드 아티팩트로 게시(+:)하거나 게시할 항목에서 제외(-:)할 파일 또는 디렉터리 경로. 절대 경로도 지원되지만 빌드 체크아웃 디렉터리에 상대적인 소스 경로를 사용하는 것이 좋습니다.
  • target_archive.* – TeamCity에서 아티팩트 압축을 위해 생성하는 아카이브 경로이며, .*는 아카이브 확장자입니다. 지원되는 아카이브 유형은 zip, 7zip, jar, tartar.gz입니다. 대상 경로는 절대 경로로 지정할 수 없습니다. 빌드 체크아웃 디렉터리에 대한 상대 경로로 지정하세요.

예를 들어, directory_name이라는 디렉터리에 저장된 모든 파일 및 하위 디렉터리를 archive_name ZIP 아카이브로 압축하려면 Artifact paths(아티팩트 경로) 필드에 다음과 같이 입력합니다.

directory_name => archive_name.zip

아티팩트 경로 구성 방법의 자세한 설명 및 예시는 이 문서 자료를 참조하세요.

아티팩트 파일 크기 및 개수 제한

TeamCity 서버에서 허용되는 빌드 아티팩트 파일의 최대 크기와 빌드당 최대 아티팩트 개수를 전역으로 지정할 수 있습니다. Administration(관리) | Global Settings(전역 설정)Build Settings(빌드 설정) 섹션에서 해당 설정을 사용해 보세요.

정리 규칙 정의

TeamCity를 설정하여 특정 빌드 구성의 오래되고 불필요한 아티팩트를 자동으로 삭제할 수 있습니다. Project Settings(프로젝트 설정) | Clean-up Rules(정리 규칙)에서 정리 규칙을 구성하세요.

  • 변경하려는 빌드 구성의 기본 규칙(Base rule) 행을 클릭합니다. 기본 규칙 행이 표시되지 않은 경우 Show 1 inherited rule(상속된 규칙 1개 표시)을 클릭합니다(기본적으로 각 빌드 구성은 상위 프로젝트의 기본 규칙을 상속).
  • 팝업 대화상자의 Clean artifacts(아티팩트 정리) 섹션에서 Custom policy(사용자 지정 규칙) 옵션을 선택하고 빌드 아티팩트 제거 규칙을 설정합니다. 다음은 예시입니다.
    • n번째 성공한 빌드보다 오래된 모든 빌드의 아티팩트 제거.
    • 마지막으로 성공한 빌드 이후 n일이 지난 모든 빌드의 아티팩트 제거.
    • 지정된 패턴에 따라 이름으로 아티팩트 제거.

      Artifact patterns(아티팩트 패턴) 필드에 줄바꿈으로 구분된 아티팩트 이름 패턴을 입력하여, 정리할 항목 중 일치하는 아티팩트를 추가하거나 제외합니다. 다음은 예시입니다.

      • +:**/file*.* – 이름에 ‘file’이 포함된 아티팩트 제거.
      • -:**/file*.jar – 이름에 ‘file’이 포함된 .jar 아티팩트를 정리할 항목에서 제외.
  • 기본 규칙 대화상자의 Dependencies(종속성) 섹션에서 체인의 일부인 종속성 빌드의 아티팩트 삭제 또는 유지 중 원하는 옵션을 지정할 수 있습니다.