2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

젠킨스(Jenkins)에서 빌드 아티팩트를 보관하는 방법은 무엇인가요?

_____
Q: 젠킨스에서 빌드 아티팩트(Artifact)란 무엇인가요?
A: 빌드 아티팩트는 빌드 과정에서 생성된 결과물로, 예를 들어 컴파일된 바이너리, 라이브러리, 패키지 파일(war, jar, zip 등)이나 로그 파일 등이 포함됩니다. 젠킨스에서는 이 아티팩트를 저장하고 관리할 수 있습니다.

Q: 젠킨스에서 빌드 아티팩트를 보관하려면 어떻게 설정하나요?
A: 젠킨스 빌드 설정에서 ‘빌드 후 조치(Post-build Actions)’ 섹션에 있는 ‘아티팩트 보관(Archive the artifacts)’ 옵션을 사용합니다. 여기서 저장할 파일 패턴(예: /target/*.jar, build/ /*.war)을 지정하면 빌드 후 해당 파일들이 젠킨스 서버에 저장됩니다.

Q: 아티팩트를 보관할 때 파일 경로 패턴은 어떻게 작성해야 하나요?
A: 파일 경로 패턴은 Ant 스타일 글로브 패턴을 사용합니다. 예를 들어, 빌드 폴더 하위의 모든 jar 파일을 저장하려면 ` /*.jar`, 특정 폴더 내 파일을 지정하려면 `target/*.jar`와 같이 작성합니다.

Q: 아티팩트 보관은 어디에 저장되나요?
A: 아티팩트는 젠킨스 마스터 또는 해당 빌드를 수행한 에이전트 워크스페이스의 젠킨스 홈 디렉토리 내 빌드 기록 폴더(jobs/프로젝트명/builds/빌드번호/archive/)에 저장됩니다.

Q: 보관된 아티팩트는 어떻게 접근하나요?
A: 각 빌드 결과 페이지에서 ‘아티팩트’ 섹션에 보관된 파일 목록과 다운로드 링크가 표시됩니다. 이를 통해 웹 인터페이스로 바로 아티팩트를 내려받을 수 있습니다.

Q: 빌드가 많아지면 아티팩트 용량이 커지는데, 어떻게 관리하나요?
A: 젠킨스의 ‘빌드 유효 기간 관리(Build Discarder)’ 설정에서 오래된 빌드 삭제 정책을 설정하면, 자동으로 오래된 빌드와 해당 아티팩트를 제거해 디스크 공간을 절약할 수 있습니다.

Q: 파이프라인 스크립트에서 아티팩트를 보관하려면 어떻게 하나요?
A: 젠킨스 파이프라인에서는 `archiveArtifacts` 단계를 사용합니다. 예를 들어:
```groovy
archiveArtifacts artifacts: 'build/libs/*.jar', fingerprint: true
```
이렇게 하면 지정한 파일들을 아티팩트로 보관합니다.

Q: 여러 개의 아티팩트를 따로 보관하려면 어떻게 해야 하나요?
A: ‘아티팩트 보관’ 옵션 내 파일 패턴에 쉼표(,)로 여러 경로를 구분하거나 파이프라인에서 여러 번 `archiveArtifacts`를 호출하면 됩니다. 예:
```
target/*.jar, docs/*.pdf
```

Q: 아티팩트에 대해 추가적인 메타데이터(예: 무결성 검사 Fingerprint)를 설정할 수 있나요?
A: 네, ‘아티팩트 보관’ 설정에서 ‘Fingerprinting’을 활성화하면 배포 및 추적에 유용한 무결성 정보가 함께 기록됩니다. 파이프라인 스크립트에서도 `fingerprint: true` 옵션을 사용 가능합니다.

Q: 보관된 아티팩트를 외부 스토리지(예: AWS S3, Nexus)로 전송하는 방법은?
A: 기본 아티팩트 보관 기능은 젠킨스 내부 저장에 한정되므로, 플러그인(예: S3 플러그인, Nexus Artifact Uploader)을 설치하거나 빌드 후 단계에서 스크립트를 이용해 별도로 업로드하는 방식을 사용합니다.

---

요약:
- 젠킨스에서 아티팩트를 보관하려면 ‘빌드 후 조치’에서 ‘아티팩트 보관’ 설정을 사용합니다.
- 파일 패턴으로 저장할 결과물을 지정하고 빌드 결과 페이지에서 다운로드 가능하게 만듭니다.
- 파이프라인에서는 `archiveArtifacts` 명령을 이용합니다.
- 오래된 빌드를 자동 제거하는 정책을 함께 설정하는 것이 좋습니다.
- 플러그인을 통해 외부 저장소 연동도 지원합니다.
Jenkins에서 빌드 아티팩트를 보관하는 방법은 주로 다음과 같은 절차를 통해 이루어집니다.

아티팩트는 빌드 과정에서 생성된 파일이나 디렉토리를 말하며, 보다 나은 배포와 유지보수를 위해 보관됩니다.

1. Jenkins 프로젝트 구성 1. 프로젝트 생성 : Jenkins 대시보드에서 ‘뉴 아이템(New Item)’을 클릭하고, 프리 스타일 스타일 프로젝트 또는 파이프라인 프로젝트를 생성합니다.



2. 소스 코드 체크아웃 : 소스 코드 관리(SCM) 섹션에서 Git, SVN 등으로 소스 코드를 체크아웃합니다.



2. 빌드 스텝 추가 1. 빌드 스텝 정의 : 필요한 빌드 도구(예: Maven, Gradle, Ant 등)를 설정하고 빌드를 진행합니다.



2. 빌드 아티팩트 생성 : 빌드 과정에서 필요한 파일들이 생성되도록 빌드 스크립트를 작성해야 합니다.

일반적으로 Output 디렉토리 내에서 생성됩니다.



3. 아티팩트 보관 설정 1. 아티팩트 아카이빙 : - `프리 스타일 프로젝트`の場合: - 프로젝트 구성에서 ‘빌드 후 조치(Add post-build action)’ 섹션을 찾습니다.

- ‘아티팩트 아카이브(Archive the artifacts)’를 클릭합니다.

- 아카이브할 파일 패턴을 입력합니다.

예: `build/libs/*.jar` (JAR 파일의 경우). - `파이프라인 프로젝트`の場合: - 스크립트 내에 `archiveArtifacts` 명령을 사용하여 파일을 아카이브합니다.

```groovy pipeline { agent any stages { stage('Build') { steps { // 빌드 명령 } } } post { success { archiveArtifacts artifacts: ' /target/*.jar', fingerprint: true } } } ```

4. 아티팩트 접근 및 다운로드 - Jenkins UI에서 실행된 빌드 결과 페이지로 이동하면, 아카이브된 아티팩트를 확인할 수 있습니다.

- 각 빌드의 "아티팩트" 섹션에서 파일을 다운로드할 수 있으며, 이러한 아티팩트는 저장되어 필요할 때마다 접근이 가능합니다.



5. 보관 정책 - 정기적인 정리 : 서버의 디스크 공간을 관리하기 위해 오래된 아티팩트는 정기적으로 삭제하는 것이 좋습니다.

Jenkins의 ‘유지 관리’ 설정에서 특정 기간 후 아티팩트를 삭제하도록 설정할 수 있습니다.



6. 외부 스토리지 활용 - Jenkins가 기본적으로 제공하는 아카이브 기능 외에도, S3, Nexus, Artifactory 등의 외부 저장소를 활용하여 아티팩트를 보관할 수 있습니다.

이를 통해 장기 보존 및 버전 관리를 할 수 있습니다.

이와 같은 방법으로 Jenkins에서 빌드 아티팩트를 효율적으로 보관하고 관리할 수 있습니다.

작성자: 이다윤 [비회원] | 작성일자: 1년 전 2025-03-22 15:11:06
조회수: 169 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.