AWS/Part 4. Ch03 패커를 이용한 머신 이미지 관리

CH03_08 후 처리기 (Post-processor)

Engineer-Lee 2022. 6. 7. 23:36
반응형

Post-processor는 패커가 빌드를 끝낸 후에 후처리를 하기 위해 필요하다.

build 블록 내에서 post-processor라는 블록을 지정해서 어떻게 후 처리를 할지 정의할 수 있다.

https://www.packer.io/docs/post-processors

 

Packer by HashiCorp

Post-processors run after the image is built by the builder and provisioned by the provisioner(s).

www.packer.io

보편적으로 많이 사용되는 post-processor들이 있다.

첫 번째로 checksum이다. 보통은 패커가 빌드를 거쳐서 이미지를 만들고 나면 artifact(산출물)이 나온다.

artifact를 가지고 post-processor가 또 다른 artifact를 만든다.

checksum 같은 경우에는 입력산출물을 가지고 checksum 파일을 만든다.

checksum은 해시 함수로 무결성을 검증한다.

 

두 번째로 compress이다. 이는 빌드 결과물을 .tar.gz로 압축을 한다. 또한 다른 압축 파일로도 만들 수 있다.

 

세 번째로 manifest이다. 이는 패커의 빌드 과정을 거치고 나면 해당 빌드 과정에 대한 meta 데이터를 남긴다.

 

마지막으로 local shell이다. 이는 수동으로 커스텀하게 후 처리를 할 수 있다.

 

 

이제 실습코드를 보자

https://github.com/tedilabs/fastcampus-devops/tree/main/2-packer/06-post-processor

 

GitHub - tedilabs/fastcampus-devops: 🚀 패스트캠퍼스 데브옵스 초격차 코스 자료

🚀 패스트캠퍼스 데브옵스 초격차 코스 자료. Contribute to tedilabs/fastcampus-devops development by creating an account on GitHub.

github.com

 

main 파일부터 보면 총 3가지 post-processor가 있다.

첫 번째는 manifest이고 두 번째와 세 번째는 post-processors로 여러 post-processor 블록들을 선언했다.

두 번째와 세 번째post-processors 안의 첫 번째 post-processor는 shell-local로 빌드 산출물을 직접 입력으로 받는다.

두 번째 post-processors의 두 번째 post-processor는 후 처리 산출물을 세 번째 post-processor의 입력으로 보낸다.

반응형