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"
}
}