HCP Packer 빌드 파이프라인 메타데이터 참조

HCP Packer 빌드 파이프라인 메타데이터 참조

이 주제는 HCP Packer가 빌드 파이프라인에서 수집하는 풍부한 메타데이터에 대한 참조 정보를 제공해요. 추가 정보는 풍부한 CI/CD 파이프라인 메타데이터를 참고해 주세요.

출처: 문서

본문

개요

다음 표는 HCP Packer가 빌드 파이프라인 메타데이터를 수집하는 구성 요소를 개요로 보여 줘요:

구성 요소 캡처되는 세부 정보
CI/CD pipeline ID, job 이름, runner 세부 정보
Git remote 참조, 커밋 해시, 커밋 작성자, 커밋되지 않은 변경 여부 플래그
운영 체제 OS 이름, 아키텍처, 버전
Packer 및 Packer 플러그인 버전 빌드에 사용된 Packer 버전, 플러그인 이름, 플러그인 버전
Packer 빌드 명령 사용자가 실행한 Packer 빌드 명령 옵션: debug, except, force, only, var, var-file. HCP Packer는 var 옵션에 지정된 민감한 변수는 추적하지 않아요.

메타데이터 세부 정보

다음 표는 HCP Packer가 캡처하고 추적하는 빌드 파이프라인 메타데이터 속성을 설명해요. Packer는 빌드 파이프라인 메타데이터를 JSON으로 저장해요. 데이터의 렌더링된 보기는 예시 JSON을 참고해 주세요:

속성 설명 타입
packer 빌드를 실행하는 데 사용된 Packer 바이너리에 대한 세부 정보를 포함하는 객체 Object
packer.version 시맨틱 버전 형식의 Packer 버전 String
packer.plugins 빌드에 사용된 각 플러그인의 name과 version을 포함하는 객체 목록 List
packer.plugins.name 플러그인의 이름 String
packer.plugins.version 시맨틱 버전 형식의 플러그인 버전 String
packer.os Packer 바이너리가 아티팩트를 빌드하기 위해 실행된 운영 체제에 대한 세부 정보를 포함하는 객체 Object
packer.os.details 운영 체제 아키텍처와 버전 정보를 포함하는 객체 Object
packer.os.details.arch OS 아키텍처 String
packer.os.details.version 시스템이 보고한 OS 버전 String
packer.os.type 운영 체제의 유형 String
packer.options 빌드를 실행하는 데 사용된 Packer 바이너리 옵션을 나타내는 객체 Object
packer.options.force Packer가 force 옵션을 지정해 실행될 때 true Boolean
packer.options.debug Packer가 debug 옵션을 지정해 실행될 때 true Boolean
packer.options.except Packer가 except 옵션을 지정해 실행될 때 지정된 빌드 및 포스트 프로세서 목록 List
packer.options.only Packer가 only 옵션을 지정해 실행될 때 지정된 빌드 및 포스트 프로세서만 목록 list
packer.options.vars Packer가 vars 옵션을 지정해 실행될 때 지정된 변수 목록 List
packer.options.var-files Packer가 var-files 옵션을 지정해 실행될 때 지정된 변수 파일 목록 List
packer.options.path Packer 바이너리의 경로 String
cicd CI/CD 파이프라인에 대한 세부 정보를 포함하는 객체 Object
cicd.details CI/CD 플랫폼이 제공하는 속성을 포함하는 객체. HCP Packer는 GitHub Actions 및 GitLab CI/CD를 지원해요. 추가 정보는 플랫폼 문서를 참고해 주세요. Objects
cicd.details.<CI/CD_PLATFORM_ATTRIBUTES> CI/CD 플랫폼이 제공하는 속성 String
cicd.type CI/CD 파이프라인 플랫폼의 유형 String
vcs 버전 관리 시스템에 대한 정보를 포함하는 객체 Object
vcs.details VCS에서 검색한 세부 정보를 포함하는 객체 Object
vcs.details.author 아티팩트 구성 작성자로 식별된 사람의 이름 String
vcs.details.commit 빌드와 연결된 커밋 ID String
vcs.details.has_uncommitted_changes 아티팩트가 커밋되지 않은 변경으로 빌드되었을 때 true Boolean
vcs.details.ref VCS에서 아티팩트 빌드와 연결된 태그나 브랜치 이름 같은 remote 참조 String
vcs.details.type VCS의 유형 String

예시 JSON

다음 예시는 GitHub Actions 빌드 파이프라인과 연결된 풍부한 메타데이터를 포함해요:

{
  "packer": {
    "version": "1.11.2",
    "plugins": [
      {
        "name": "docker",
        "version": "1.0.10"
      }
    ],
    "os": {
      "details": {
        "arch": "amd64",
        "version": "6.5.0-1024-azure"
      },
      "type": "linux"
    },
    "options": {
      "force": true,
      "debug": false,
      "except": [],
      "only": [
        "aws.docker"
      ],
      "vars": [
        "client_id",
        "client_secret"
      ],
      "var-files": [
        "variables.pkrvars.hcl"
      ],
      "path": "app.pkr.hcl"
    }
  },
  "cicd": {
    "details": {
      "GITHUB_ACTOR": "octo",
      "GITHUB_ACTOR_ID": "24626766",
      "GITHUB_EVENT_NAME": "push",
      "GITHUB_JOB": "metadata-phase-2-poc-linux",
      "GITHUB_REF": "refs/heads/poc_gha_env",
      "GITHUB_REPOSITORY": "hashicorp/cloud-packer-service",
      "GITHUB_REPOSITORY_ID": "362182133",
      "GITHUB_SHA": "eba36b80139ba1f42bc3f22760257ba1377ee6fe",
      "GITHUB_TRIGGERING_ACTOR": "octo-1",
      "GITHUB_WORKFLOW_URL": "https://github.com/hashicorp/cloud-packer-service/actions/runs/10058116707"
    },
    "type": "github-actions"
  },
  "vcs": {
    "details": {
      "author": "Octo <[email protected]>",
      "commit": "eba36b80139ba1f42bc3f22760257ba1377ee6fe",
      "has_uncommitted_changes": false,
      "ref": "poc_gha_env"
    },
    "type": "git"
  }
}

더 알아보기