[이보라] Sprint11#161
Conversation
KWANHYEONGLEE
left a comment
There was a problem hiding this comment.
로컬 개발 환경의 컨테이너화부터 CI/CD파이프라인까지 완수하시느라 정말 수고 많으셨습니다 👏
특히 작성하신 docker-compose 에서 healthcheck를 활용해 DB의 상태를 확인하고 서버를 띄우는 부분이 인상적이었습니다!
스프린트 미션 진행하시느라 정말 수고 많으셨습니다. LGTM 🍀
| depends_on: | ||
| db: | ||
| condition: service_healthy # DB가 완전히 준비된 후 앱 실행 |
There was a problem hiding this comment.
단순히 depends_on만 사용한것이 아니라 헬스체크까지 진행하신점 너무 좋습니다! 👍
|
|
||
| services: | ||
| db: | ||
| image: postgres:latest |
There was a problem hiding this comment.
최신 버전(latest)의 postgres 이미지를 이용하고 계시네요!
지금은 문제없이 잘 돌아갈 수 있으나 추후에 이미지 버전이 업데이트되었을 때 오류가 발생할 수 있습니다.
그렇기때문에 되도록이면 RDS의 postgresql 버전을 명시해서 작성해주시는게 좋습니다. (ex. postgres:15)
( pr-test.yaml 파일에서는 정확한 버전을 명시하셔서 잘 사용하고 계시네요!)
| environment: | ||
| - DATABASE_URL=${DATABASE_URL} | ||
| - JWT_ACCESS_TOKEN_SECRET=${JWT_ACCESS_TOKEN_SECRET} | ||
| - PORT=${PORT} | ||
| - NODE_ENV=${NODE_ENV} |
There was a problem hiding this comment.
환경변수를 이용하여 진행하신 점 좋네요!!
| # DB가 준비될 때까지 기다리는 헬스 체크 | ||
| options: >- | ||
| --health-cmd pg_isready | ||
| --health-interval 10s | ||
| --health-timeout 5s | ||
| --health-retries 5 |
| script: | | ||
| cd ~/7-sprint-mission | ||
| git pull origin main | ||
|
|
||
| cd sprint11 | ||
| npm install | ||
| npx prisma generate | ||
| npx prisma migrate deploy | ||
| npm run build | ||
|
|
||
| # PM2로 서버 재시작 | ||
| pm2 reload all || pm2 start dist/main.js --name "my-app" | ||
|
|
||
| echo "배포가 완료되었습니다!" |
There was a problem hiding this comment.
만약 새로운 폴더를 새로 만들어서 작업을 진행하게되면 (ex. sprint 12, sprint 13...)
작성하신 스크립트로는 새로운 코드가 서버에 적용되지 않을거같은데 어떻게 해결할 수 있을까요?? 🤔
There was a problem hiding this comment.
새로운 폴더에 맞춰서 스크립트를 변경하면 되지 않을까요?!😭.. 현재는 새 미션마다 폴더를 새로 생성해서 작업중이라 저렇게 했었습니다! ㅠㅠ
요구사항
Github Actions 활용
Docker 이미지 만들기
다음을 만족하는 Dockerfile과 docker-compose.yaml을 작성해 주세요.
멘토에게