Portainer를 이용한 간편한 CI/CD

2024. 4. 10. 22:23Software Engineering

1. 개요

캡스톤디자인을 하며 프로젝트 개발 중 어려움이 생겨 멘토링을 진행하게 되었다. 멘토링 중 멘토님께서 Portainer를 이용하여 CI/CD를 구축하는 것을 추천해주셨다.

2. Portainer 란?

https://www.portainer.io/

 

Kubernetes and Docker Container Management Software

Portainer is your container management software to deploy, troubleshoot, and secure applications across cloud, datacenter, and Industrial IoT use cases.

www.portainer.io

Portainer란 도커를 관리하는 오픈 소스 컨테이너 관리 도구이다. 웹 기반 인터페이스를 통해 컨테이너들을 조작할 수 있다. 간단하게 생각하면 로컬에서 Docker Desktop을 이용할 때 명령어 말고도 GUI를 이용해 컨테이너, 이미지, 볼륨, 네트워크 등을 조작할 수 있다. Portainer는 이를 웹 기반 인터페이스로 구현하여 로컬은 물론, AWS EC2 등을 이용한 클라우드 환경에서도 편리하게 쓸 수 있도록 해주는 관리 도구이다.

위 사진은 현재 하고 있는 프로젝트의 ec2이다. 아직 프론트엔드 image를 올리지 않았지만 다양한 docker image가 구동되고 있다. 하지만 ec2같은 클라우드 환경에서는 cli기반으로 작업해야하기 때문에 하나씩 조작하기 쉽지 않다.

위 사진은 해당 ec2를 Portainer로 띄운 모습이다. 웹 기반 인터페이스를 이용하기 때문에 Docker Desktop 처럼 쉽게 조작할 수 있다.

컨테이너 뿐만 아니라 이미지, 네트워크, 볼륨도 모두 확인할 수 있다.

컨테이너에서는 해당 도커 이미지의 로그를 확인하거나 명령어를 사용하는 등의 기능도 모두 제공한다.

3. 그래서 Portainer로 CI/CD를 어떻게 한다는 거지?

이 과정을 설명하기 위해 CI/CD를 작업한 전체 과정을 다음 글들을 순서대로 참고하기 바란다.