v1.13으로 업그레이드하기
v1.13으로 업그레이드하기
Packer v1.13으로 업그레이드할 때 알아두어야 할 사항을 정리한 문서예요. v1.13에서 바뀐 내용의 자세한 설명은 v1.13 릴리스 노트를 참고하세요.
출처: Packer 공식 문서
본문
개요 (Overview)
Packer를 설치할 때 사용한 패키지 매니저의 upgrade 커맨드를 쓰거나, 기존 바이너리를 내려받아 교체하는 방식으로 Packer를 업그레이드할 수 있어요. 자세한 안내는 Install Packer 문서를 참고하세요.
1.12에서 업그레이드하기
Packer 1.13의 주요 변경점은 다음과 같이 요약할 수 있어요.
- 프로비저너 개선 (Provisioner Enhancement)
- 새로운 함수 지원 (New functions Support)
- 여러 HCL 파일을 포맷하는
packer fmt커맨드 - 최상위
hcp_packer_registry블록 지원
참고: powershell 프로비저너의 변경은 하위 호환이 깨지는 변경이에요.
프로비저너 개선
shell 프로비저너의 inline 필드는 이제 shebang(#!) 라인을 포함한 스크립트를 직접 실행할 수 있게 됐어요. 이 개선 덕분에 inline 커맨드로 전체 스크립트를 제공할 수 있고, templatefile 같은 도구를 통한 동적 스크립트도 가능해집니다.
또한 프로비저너가 실행하는 inline PowerShell 커맨드 주변에 래퍼(wrapper)를 추가해 오류를 잡고, 어떤 커맨드가 오류를 발생시키면 Packer 빌드가 실패하도록 보장해요.
새로운 함수 지원
Packer 1.13의 일부로 더 많은 함수가 소개됐어요.
sum: 숫자로 이루어진 리스트나 집합을 받아 그 숫자들의 합을 돌려줍니다.startswith: 문자열과 접두어(prefix) 문자열 두 값을 받아요. 문자열이 정확히 그 접두어로 시작하면true를 반환합니다.endswith: 문자열과 접미어(suffix) 문자열 두 값을 받아요. 첫 문자열이 정확히 그 접미어로 끝나면true를 반환합니다.
여러 HCL 파일을 포맷하는 packer fmt 커맨드
packer fmt 커맨드가 한 번에 여러 HCL 파일을 포맷할 수 있는 기능이 추가됐어요.
최상위 hcp_packer_registry 블록 지원
Packer 설정의 최상위 레벨에서 hcp_packer_registry 블록을 정의할 수 있게 지원이 추가됐어요. 루트 스키마에서 HCP Packer 레지스트리를 직접 관리하고 참조할 수 있어 개선된 관리가 가능합니다.