이전 글에서 구축한 뛰어난 artifact 생성 방법에 이어, 이번에는 그러한 artifact를 다른 파이프라인에서 손쉽게 활용하는 방법을 알아보겠습니다. 생성된 artifact를 효과적으로 공유하고 재사용함으로써 프로젝트의 효율성을 한 단계 업그레이드할 수 있는 방법을 함께 살펴보도록 하겠습니다.
#9. 다른 파이프라인에서 활용하기 위한 Artifact 생성 및 특정 파일 지정 방법
다른 파이프라인에서 확장자가 ‘apk’인 파일들을 효과적으로 활용하고자 할 때, 아래와 같은 파이프라인 스크립트를 작성하여 원하는 작업을 수행할 수 있다. 이 스크립트는 생성된 ‘apk’ 파일들을 감지하고, 해당 파일들을 추출하여 원하는 작업을 자동화하는 방법을 제시한다.
stage('detect apk') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
script {
dir('/path/your/directory') {
try {
archiveArtifacts artifacts: '**/*.apk', allowEmptyArchive: true
} catch (Exception e) {
}
}
}
}
}
}
이렇게하면 내가 지정한 폴더의 apk들만 artifact 로 모여있게 된다.
그럼 이제 이 apk를 다른 파이프라인에서 어떻게 활용할지 알아보도록 하자.
#10. 이전 파이프라인에서 생성된 apk 활용하기
- 다음은 앞서 생성된 apk를 새로운 파이프라인 스크립트에서 활용하는 예시이다.
stage('get apk') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
script {
dir('/path/your/directory') {
try {
copyArtifacts(projectName: '이전 파이프라인 이름', filter: "*/*.apk", selector: lastSuccessful()) // selector 에는 어떠한 빌드에서 가져올 것인지 적어주면 된다.
} catch (Exception e) {
}
}
}
}
}
}
- 이렇게하면 현재 파이프라인 내부에 artifact로 디렉토리가 생성되고, 내가 가져온 파일들이 들어가게 된다. 이를 자유롭게 활용해 원하는 테스트를 진행 할 수 있다.
Artifact를 효과적으로 활용하여 다른 파이프라인에서 원하는 작업을 자동화하는 방법을 살펴보았습니다. 이렇게 구축한 스마트한 파이프라인은 프로젝트의 생산성을 높이고, 작업을 효율적으로 관리할 수 있는 새로운 가능성을 여는 것입니다. 지금까지의 노력과 배운 것을 토대로 더 나은 개발 환경을 만들어 나가는 여정을 함께 하기를 기대합니다. 감사합니다.