-
Notifications
You must be signed in to change notification settings - Fork 3
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
2-3 [배포] [배포] docker, github workflows 이용한 dev 서버 배포 자동화 #3
Conversation
Backend의 경우 추후 dockerfile의 수정이 필요함 (redis, db 등 연결 필요)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다. 역시 WBD(World Best Developer & Designer)시군요.🧑💻
도커에 대해 잘 몰라서 궁금한 점이 많은 점 양해 부탁드립니다. 그리고 front쪽 package.json 업데이트가 선행되어야 한다고 해서 실수할까봐 우선 approve는 안했습니다~!
registry: ${{ secrets.NCP_CONTAINER_REGISTRY }} | ||
username: ${{ secrets.NCP_ACCESS_KEY }} | ||
password: ${{ secrets.NCP_SECRET_KEY }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dev 브랜치에 push가 이루어지면 NCP 정보들을 .secrets 파일에서 가져와서 사용하는듯 한데, .secrets 파일은 NCP 서버쪽에만 있으면 되는걸까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.secrets
파일은 로컬에서 act를 활용해서 workflow 테스트 할 때만 필요해요.
즉, 로컬 개발환경에서 workflow 테스트할 때만 있으면 되는 파일이고, NCP 서버쪽에는 없어도 됩니다.
깃헙에서 해당 workflow가 실행될 때는 우리 레포지토리의 settings - security - secrets - actions
에 있는 secret 값들을 참조합니다!
.github/workflows/deploy_dev.yml
Outdated
docker stop $(docker ps -a -q) | ||
docker rm $(docker ps -a -q) | ||
docker run -d -p 3001:3001 ${{ secrets.NCP_CONTAINER_REGISTRY }}/prv-backend | ||
docker run -d -p 80:80 ${{ secrets.NCP_CONTAINER_REGISTRY }}/prv-frontend |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
frontend 포트로 80번을 사용하는 이유가 궁금합니다. (제 단순한 이해로는 3000번이면 되지 않나? 라는 생각이 들어서요,,)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
맞아요,, 3000번 써도 됩니다,,ㅎㅎ 다만, 사용자가 직접 들어가는 주소는 http 기본 포트여야하지않을까 생각했던 내용이었습니다.
개발서버이다보니 49.50.172.204:3000은 client가, 49.50.172.204:3001은 api 서버로 해도 괜찮을 것 같습니다.
push: true | ||
tags: ${{ secrets.NCP_CONTAINER_REGISTRY }}/prv-backend:latest | ||
secrets: | | ||
GIT_AUTH_TOKEN=${{ secrets.GIT_TOKEN }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GIT Auth Token은 성빈님 개인이 발급받은 토큰을 사용하시는걸까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 맞아요. 이 repository가 public이다보니 사실 GIT_AUTH_TOKEN
은 필요없습니다.
private repository에 있는 값을 NCP_CONTAINER_REGISTRY
에 push 할 때는 필요한 값 입니다.
window에서 git cz 사용하기 위해서는 .czrc 파일이 존재해야함
서버 내부에 be, fe 별로 envfile이 제공되어야합니다.
개요
자동화 흐름
deploy_dev.yml
에서 작성된 job들이 실행됨.작업사항
BE
FE
리뷰 요청사항
deploy_dev.yml
에서 jobs의 흐름