Packer v1.11 릴리스 노트
Packer v1.11 릴리스 노트
이 페이지에서는 Packer v1.11의 변경 사항을 설명해요. 모든 릴리스에 대한 정보는 Packer 저장소를 참고하세요.
출처: Packer 공식 문서
본문
새로운 기능 (New features)
이 릴리스에는 다음 업데이트가 포함돼요.
예측 가능한 플러그인 로딩 (Predictable plugin loading)
Packer가 플러그인을 발견하고 로드하는 방식을 간소화했어요. Packer는 이제 플러그인 디렉터리 밖에 설치된 플러그인 바이너리를 로드하지 않아요. 또한 Packer는 이제 함께 제공되는 SHA256SUM 파일이 있는 바이너리만 로드해요. 플러그인 설치 명령도 업데이트해서, 대부분의 설치 워크플로우가 파일시스템을 수동으로 수정하지 않아도 진행될 수 있게 했어요. 그리고 프로세스와 발생 가능한 오류를 해결하는 방법을 이해할 수 있도록 명확한 안내도 제공하는 데 집중했어요.
이전 버전의 Packer는 여러 위치에서 플러그인을 설치하고 로드할 수 있게 해서 다양한 불일치를 초래했어요. 예를 들어 HCL2 템플릿에서 required_plugins 블록을 구성하면 플러그인 검색 가능성(discoverability)이 제한됐어요. 이는 혼란스러울 뿐 아니라, 지원해야 하는 대체 경로의 수가 많아져 유지 관리 부담도 늘렸어요. Packer가 실행을 시작하기 전에 여러 위치를 확인했기 때문에 많은 명령이 불필요한 성능 문제를 겪기도 했죠.
추가 정보는 다음 주제를 참고하세요.
- 플러그인 로드 방법에 대한 자세한 내용은 Installing Plugins
- 이 변경 사항이 기존 워크플로우에 어떤 영향을 미칠 수 있는지에 대한 정보는 Upgrade to v1.11
Deprecations
다음 기능, 워크플로우, 구성 요소는 deprecated 처리되어 더 이상 지원되지 않아요.
레거시 단일 컴포넌트 플러그인 (Legacy single-component plugins)
Packer는 더 이상 단일 컴포넌트 플러그인을 지원하지 않아요. 예를 들어 packer-builder-<name> 또는 packer-provisioner-<name> 같은 deprecated 명명 규칙을 따르는 레거시 플러그인을 말해요. Packer는 Docker plugin for Packer 같은 다중 컴포넌트 플러그인만 지원해요.
packer-plugin- 이름의 플러그인 바이너리 로딩
Packer는 더 이상 packer-plugin-<name> 명명 규칙을 따르는 플러그인 바이너리를 로드하지 않아요. Packer는 PACKER_PLUGIN_PATH 아래에 예상되는 네임스페이스 디렉터리와 CHECKSUM 파일을 사용해 저장된 플러그인만 로드해요.
버그 수정 (Bug fixes)
Packer가 플러그인을 발견하는 방식의 문제를 수정해 적절한 버전 순서가 보장되도록 했어요. Packer는 더 이상 플러그인 버전을 사전식(lexicographically)으로 정렬하지 않아요. 대신 이제 더 큰 시맨틱 번호를 가진 버전을 로드해요. 예를 들어 버전 1.0.9는 1.0.10보다 사전식으로 크지만, 1.0.10은 1.0.9보다 시맨틱하게 커요. 이 수정으로 Packer는 1.0.9 대신 1.0.10을 로드하게 됐어요.