목차
01. 사전조건
- 'Configuration IaC-CI' 을 진행하세요.
- 'Create Log Workspace with Terraform' 릴리즈가 우선되어야 합니다.
- primaryKey와 workspaceId가 필요합니다.
02. Release Pipeline 구성하기
가. Pipelines > Releases > New pipeline을 선택합니다.
나. Empty job으로 생성합니다.
- Realese pipeline이름은 'IaC Create VM Image'로 저장합니다.
다. 'Add an artifact'를 선택하고, Configuration IaC-CI 을 참조하도록 설정합니다.
라. Tasks를 선택하고, terraform을 검색하여 task를 아래와 같이 배치 합니다.
마. Variables를 선택하여, 환경변수를 설정 하고 저장합니다.
- CLIENT_ID =
- CLIENT_SECRET =
- LOCATION =
- PACKER_IMAGE_NAME =
- PRIMARY_KEY =
- RESOURCE_GROUP_NAME =
- SUBSCRIPTION_ID =
- TENANT_ID =
- WORKSPACE_ID =
바. 'Replace token' 구성
- Replace token은 Release환경변수를 ubuntu.json의 변수에 치환하기 위해 설정합니다.
- Display Name = task의 이름
- Root directory = {IaC - CI drop}/packer-azurelinuximage
- Target files = ubuntu.json
- File encoding = auto
- Escape values type = no escaping (escap문자가 포함된 변수가 있으므로, no escaping해줘야 합니다.)
- Verbosity = nomal
- Token prefix = {{user '
- Token suffix = '}}
사. Command Line Script 구성
- Replace Token이 정상 설정되었는지 확인 하는 Task입니다.
- Script
cat $(System.DefaultWorkingDirectory)/_IaC-CI/drop/packer-azurelinuximage/ubuntu.json
아. 'Use Packer'는 Packer tool을 Install하는 task입니다.
자. 'Packer build' 구성하고 저장합니다.
- Display name =
- Connected Service Type =
- Azure Resource Manager Subscription =
- Command = build
- Packer Template Location = {IaC CI drop}/packer-azurelinuximage/ubuntu.json
차. 'Create Release'를 선택합니다.
카. Release 로그를 확인 합니다.
타. Azure Portal에서 생성된 VM Image를 확인 합니다.
Add Comment