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

Dev와 Prod 서버 분리 #91

Open
wants to merge 2 commits into
base: development
Choose a base branch
from
Open

Conversation

leobang17
Copy link
Contributor

Issue Number

작업 내용

github action 스크립트 및 docker-compose 스크립트를 이용해 dev 서버와 prod 서버를 분리함.

Prod 서버: imc-server-prod docker compose 프로젝트

  • imc-docker-bridge 네트워크
  • :prod 이미지 태깅
  • 3xxx 포트 배정 (기존과 동일)
  • secrets.PROD_ENV 환경변수 사용

Dev 서버: imc-server-dev docker compose 프로젝트

  • imc-docker-bridge-dev 네트워크
  • :dev 이미지 태깅
  • 4xxx 포트 배정 (api-gateway는 4000번 포트)
  • docker container name에 -dev 접미사
  • secrets.DEV_ENV 환경변수 사용

중요!

이제 환경변수 전달시 하나하나 전달하지 않고, 하나의 github action secret에 모두 전달함.
(as-is)

          echo "GOOGLE_CLIENT_ID=${{secrets.GOOGLE_CLIENT_ID}}" >> .env
          echo "GOOGLE_CLIENT_SECRET=${{secrets.GOOGLE_CLIENT_SECRET}}" >> .env
          // ..

(to-be)

          if [ "${{ github.ref }}" == "refs/heads/main" ]; then
            echo "${{ secrets.PROD_ENV }}" > ${{ env.ENV_FILE }}
          else
            echo "${{ secrets.DEV_ENV }}" > ${{ env.ENV_FILE }}
          fi

헤드위그 Notion: Server 환경변수 < < 해당 페이지에 환경변수 값이 있으니, 꼭 배포된 remote와 동기화될 수 있도록 변경사항이 있다면 양 쪽 모두 수정해주세요~~


더 자세한 내용은 커밋 메시지 참고

Reference

Check List

#1 development 브랜치에 PR이 merge 될 때
- secrets.DEV_ENV를 환경변수로 전달
- docker 이미지에 dev tag
- docker-compose-dev.yaml 을 이용해서 컨테이너 구성
- docker container name은 접미사 '-dev'를 붙임
- 4xxx port로 포워딩

#2 main 브랜치에 push 할 때
- secrets.PROD_ENV를 환경변수로 전달
- docker 이미지에 prod tag
- docker-compose-prod.yaml 을 이용해 컨테이너 구성
- docker container name은 전과 동일
- 3xxx port로 포워딩
dev/prod를 분리함에 따라 mysql container의 배포 전달과정도 수정됨.
별도의 container를 두진 않고 동일한 mysql container에 connection을 맺되, database를 분리해서 사용함.
- 따라서 dev와 prod 모두의 docker network에 편입되도록 설정
@leobang17 leobang17 self-assigned this Sep 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant