본문으로 건너뛰기

10. Artifacts

약 3 분cicdjenkins

10. Artifacts

빌드 이후 빌드의 결과를 기록하고 저장하는 방법을 설명합니다.

10.1 Creating and storing artifacts

Pipeline 타입의 Item을 추가로 생성합니다. (e.g. 10-01.CreatingAndStoringArtifacts)

Pipeline에 다음과 같이 스크립트를 추가합니다.

pipeline {
    agent any
    stages{
        stage('Build') {
            steps{
                sh 'echo "Generating artifacts for ${BUILD_NUMBER}" > output.txt'
            }
        }
        stage('Archive') {
            steps {
                archiveArtifacts artifacts: 'output.txt', onlyIfSuccessful: true
            }
        }
    }
}

Archive Stage에 archiveArtifacts 스크립트가 동작하는 예제입니다. 이같은 Pipeline 스크립트 작성을 도와주는 툴을 추가로 확인해 봅니다.

  • Pipeline 하단의 Pipeline Syntax 링크를 클릭합니다.
    1564546308113
  • Sample Step에서 archiveArtifacts: Archive the artifacts를 선택합니다.
    • Files to archive : output.txt
    • 고급...을 클릭합니다.
    • 다음 항목을 활성화 합니다.
      • Archive artifacts only if build is successful
      • Use default excludes
      • Treat include and exclude patterns as case sensitive
    • 하단의 GENERATE PIPELINE SCRIPT를 클릭합니다.

결과물을 확인하면 Pipeline 스크립트에 작성한 형태와 같은 것을 확인 할 수 있습니다.

1564545470815
1564545470815

좌측 메뉴의 Build Now를 클릭하여 빌드 수행 후에 화면에 Artifacts 항목이 추가된 것을 확인할 수 있습니다. UI 상에는 마지막 빌드 결과가 강조되어 나오고 각 빌드에 대한 결과물은 각각의 빌드단계의 다운로드 버튼으로 확인하고 다운로드 할 수 있습니다.

1564545639205
1564545639205

10.2. Fingerprinting for artifact tracking

빌드 이후 보관되는 파일에 대해 어떤 프로젝트, 어떤 빌드 에서 발생한 결과물인지 확인할 수 있는 핑거프린팅 기능을 설명합니다.

Step 1의 프로젝트를 그대로 사용하거나 Pipeline 타입의 Item을 추가로 생성합니다. (e.g. 10-02.FingerprintingForArtifactTracking)

Step 1 Pipeline 스크립트의 archiveArtifactsfingerprint: true를 추가합니다.

pipeline {
    agent any
    stages{
        stage('Build') {
            steps{
                sh 'echo "Generating text artifacts: Build:${BUILD_NUMBER}" > output.txt'
            }
        }
        stage('Archive') {
            steps {
                archiveArtifacts artifacts: 'output.txt', fingerprint: true, onlyIfSuccessful: true
            }
        }
    }
}

파일의 지문을 확인합니다.

  • 첫번째 빌드를 수행하고 빌드 결과 아카이브 파일 output.txt파일을 다운로드 받습니다. (파일을 우클릭하고 다른 이름으로 링크 저장... or Download Linked File 을 클릭하여 파일을 받습니다.)
    1564546697375

  • 좌측 상단의 Jenkins를 클릭하여 최상위 메뉴로 돌아갑니다.

  • 좌측 메뉴의 파일 핑거프린트 확인을 클릭합니다.

  • 파일 선택버튼을 클릭하여 앞서 다운로드한 파일을 선택하고 확인하기버튼을 클릭합니다.

  • 어떤 프로젝트의 몇번째 빌드에서 발생한 파일인지 확인합니다.

  • 두번째 빌드를 수행하고 파일 핑거프린트를 확인해 봅니다.

  • 빌드 번호 정보가 변경된 것을 확인합니다.