경로 변수

경로 변수 (Path variables)

이 글에서는 HCL로 작성한 Packer 템플릿의 경로 변수에 대한 레퍼런스 정보를 다뤄요.

출처: Packer 공식 문서

본문

설명 (Description)

경로를 만들려면 다음 변수를 사용해요:

  • path.cwd: Packer가 시작된 디렉터리.
  • path.root: 입력 HCL 파일 또는 입력 폴더의 디렉터리.

예시 (Examples)

locals {
  settings_file  = "${path.cwd}/settings.txt"
  scripts_folder = "${path.root}/scripts"
  root           = path.root
}

경로 구분자 (Path separators)

경로는 특히 구성 안에서 상대 경로를 쓸 때 슬래시(/)로 구분해 주세요. Windows는 경로를 구분할 때 백슬래시(\)를 쓰지만, Packer는 Windows가 아닌 시스템에서 빌드를 만들 때 /만 경로 구분자로 인식해요. Packer는 백슬래시를 일반 텍스트로도 취급하기 때문에 오류가 생길 수 있어요.

  • abspath는 파일시스템 경로가 담긴 문자열을 받아 절대 경로로 변환해요.
  • basename은 파일시스템 경로의 마지막 부분 만 반환해요. dirname이 반환할 부분은 버리는 셈이에요.
  • fileset은 경로와 패턴이 주어졌을 때 일반 파일 이름들의 집합을 열거해요.
  • dirname은 파일시스템 경로에서 마지막을 제외한 모든 세그먼트를 반환해요. basename이 반환할 부분을 버리는 셈이에요.