Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #82

Merged
merged 3 commits into from
Jul 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,21 @@ POPO는 PoApper에서 개발하고, POSTECH 총학생회에서 운영하는 포

## How to Deploy

POPO 어플리케이션은 Docker Container로 실행되고 있으며, [Swarmpit](https://swarmpit.io/)을 통해 오케스트레이션 되고 있다.
POPO 어플리케이션은 Docker Container로 실행되고 있으며, [Docker Swarm](https://docs.docker.com/engine/swarm/)을 통해 오케스트레이션 되고 있다. [Portainer](https://www.portainer.io/)라는 웹 도구를 사용해 컨테이너 환경을 제어하고 모니터링 하고 있다.
Dev-Prod의 two-stage 배포 정책을 가지고 있으며, 각 stage에 배포하기 위한 조건은 아래와 같다.

- Dev Stage
- POPO 도커 이미지의 `latest` 버전을 업데이트 한다.
- 이때, Web 어플리케이션의 경우는 도커 이미지 빌드 때 `NEXT_PUBLIC_ENV=dev`로 설정해줘야 한다.
- `latest` 버전이 업데이트 되면, Swarmpit에서 Auto-deploy 해준다.
- `latest` 버전이 업데이트 되면, Github Action을 통해 Auto-deploy 해준다.
- Prod Stage
- POPO 도커 이미지의 특정 태그를 업데이트 한다. (ex. `v1.2.3`)
- 이때, Web 어플리케이션의 경우는 도커 이미지 빌드 때 `NEXT_PUBLIC_ENV=prod`로 설정해줘야 한다.
- Swarmpit에서 "직접" Prod stage의 버전을 바꿔준다.
- Portainer 웹에서 "직접" Prod stage의 버전을 바꿔준다.

## Contributors & Maintainer

- Seokyun Ha ([@bluehorn07](https://github.com/BlueHorn07))
- Jeongwon Choi ([@jjeongone](https://github.com/jjeongone))
- Hyojeong Yun ([@hodori314](https://github.com/hodori314))
- Hyojeong Yun ([@hyojeongyunn](https://github.com/hyojeongyunn))
- Gwanho Kim ([@khkim6040](https://github.com/khkim6040))