Job 아티팩트
GitLab CI/CD에서 job 아티팩트를 생성, 다운로드, 탐색, 관리하는 방법을 설명합니다.
job은 파일과 디렉터리의 아카이브를 출력할 수 있습니다. 이 출력을 job 아티팩트라고 합니다. 아티팩트에는 빌드 출력이나 리포트 파일이 포함될 수 있습니다. 기본적으로 이후 job은 이전 Stage에 있는 job의 모든 아티팩트 사본을 가져옵니다. 예를 들어 초반 job이 프로젝트를 빌드하고 그 출력을 아티팩트로 저장할 수 있습니다. 이후 job은 그 아티팩트를 가져와 저장된 빌드 출력에 대해 테스트를 실행합니다. artifacts 키워드에서 지원하는 설정의 전체 목록은 GitLab CI/CD YAML 구문 참조 를 확인합니다. 관련 주제: Job 아티팩트 API Job 아티팩트 관리 Job 아티팩트 생성 # job 아티팩트를 생성하려면 .gitlab-ci.yml 파일에서 artifacts 키워드를 사용합니다. pdf: script: xelatex mycv.tex artifacts: paths: - mycv.pdf 이 예시에서는 pdf 라는 이름의 job이 xelatex 명령을 호출하여 LaTeX 소스 파일인 mycv.tex 로부터 PDF 파일을 빌드합니다. paths 키워드는 job 아티팩트에 추가할 파일을 결정합니다. 파일과 디렉터리의 모든 경로는 job이 생성된 리포지터리를 기준으로 한 상대 경로입니다. 와일드카드 사용 # 경로와 디렉터리에 와일드카드를 사용할 수 있습니다. 예를 들어 xyz 로 끝나는 디렉터리 안의 모든 파일을 포함하는 아티팩트를 생성하려면 다음과 같이 작성합니다. job: script: echo "build xyz project" artifacts: paths: - path/*xyz/* 만료 기간 설정 # expire_in 키워드는 GitLab이 artifacts:paths 에 정의된 아티팩트를 보관하는 기간을 결정합니다. 예를 들면 다음과 같습니다. pdf: script: xelatex mycv.tex artifacts: paths: - mycv.pdf expire_in: 1 week expire_in 이 정의되지 않은 경우 기본 아티팩트 만료 인스턴스 설정이 사용됩니다. 아티팩트가 만료되지 않게 하려면 job 세부 정보 페이지에서 Keep 을 선택할 수 있습니다. 아티팩트에 만료 기간이 설정되어 있지 않으면 이 옵션을 사용할 수 없습니다. 기본적으로 아티팩트는 각 ref의 가장 최근 성공한 파이프라인에 대해 항상 보관됩니다. 아티팩트 이름 명시적으로 지정하기 # artifacts:name 설정을 사용하면 아티팩트 이름을 명시적으로 커스터마이즈할 수 있습니다. job: artifacts: name: "job1-artifacts-file" paths: - binaries/ 특정 파일 제외하기 # artifacts:exclude 를 사용하면 특정 파일이 아티팩트 아카이브에 추가되지 않도록 할 수 있습니다. 예를 들어 binaries/ 의 모든 파일을 저장하되 binaries/ 의 하위 디렉터리에 있는 *.o 파일은 제외하려면 다음과 같이 작성합니다. artifacts: paths: - binaries/ excl