2024. 4. 10. 22:23ㆍSoftware Engineering
1. 개요
캡스톤디자인을 하며 프로젝트 개발 중 어려움이 생겨 멘토링을 진행하게 되었다. 멘토링 중 멘토님께서 Portainer를 이용하여 CI/CD를 구축하는 것을 추천해주셨다.
2. Portainer 란?
Portainer란 도커를 관리하는 오픈 소스 컨테이너 관리 도구이다. 웹 기반 인터페이스를 통해 컨테이너들을 조작할 수 있다. 간단하게 생각하면 로컬에서 Docker Desktop을 이용할 때 명령어 말고도 GUI를 이용해 컨테이너, 이미지, 볼륨, 네트워크 등을 조작할 수 있다. Portainer는 이를 웹 기반 인터페이스로 구현하여 로컬은 물론, AWS EC2 등을 이용한 클라우드 환경에서도 편리하게 쓸 수 있도록 해주는 관리 도구이다.
위 사진은 현재 하고 있는 프로젝트의 ec2이다. 아직 프론트엔드 image를 올리지 않았지만 다양한 docker image가 구동되고 있다. 하지만 ec2같은 클라우드 환경에서는 cli기반으로 작업해야하기 때문에 하나씩 조작하기 쉽지 않다.
위 사진은 해당 ec2를 Portainer로 띄운 모습이다. 웹 기반 인터페이스를 이용하기 때문에 Docker Desktop 처럼 쉽게 조작할 수 있다.
컨테이너 뿐만 아니라 이미지, 네트워크, 볼륨도 모두 확인할 수 있다.
컨테이너에서는 해당 도커 이미지의 로그를 확인하거나 명령어를 사용하는 등의 기능도 모두 제공한다.
3. 그래서 Portainer로 CI/CD를 어떻게 한다는 거지?
이 과정을 설명하기 위해 CI/CD를 작업한 전체 과정을 다음 글들을 순서대로 참고하기 바란다.