-
Notifications
You must be signed in to change notification settings - Fork 0
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
Refactor #54 CI/CD 파일 수정 및 서버 재배포 관련 설정 #56
Conversation
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.
수정 사항 적어뒀으니 확인해주시고 수정 부탁드립니다!
.github/workflows/dev.yml
Outdated
deploy: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
if: github.ref == 'refs/heads/develop' |
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.
배포는 해당 브랜치에 push 됐을 때, 즉 핫픽스로 바로 푸시하거나 PR이 머지됐을 때만 돌아가기 때문에
해당 조건문에는 지금 발생한 이벤트가 push 인지 확인하는 조건문이 들어가면 될 것 같습니다
따라서 if: github.event_name == 'push' 로 지정해주면 push 이벤트가 발생할 때만 deploy가 돌아갈 거에요
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.
확인해보니 해당 조건문으로도 push 될 경우에만 동작하는 것 같습니다
하지만 봤을 때 직관적으로 이해되지 않는 느낌이 있어서 위 코멘트 대로 수정해주셔도 좋을 것 같습니다!
.gitignore
Outdated
@@ -1,4 +1,5 @@ | |||
HELP.md | |||
weeth-dev.env |
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.
env는 깃허브에 올라가는 환경변수 파일이 아니고, EC2에 다이렉트로 생성할 파일이라서 깃 이그노어에 따로 추가해줄 필요는 없습니다!
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.
ec2 서버 자체에 있는 환경변수 파일 참조하도록해서, gitinore에 있던 내용 수정했습니다
sudo docker stop $EXISTING_CONTAINER_ID | ||
sudo docker rm $EXISTING_CONTAINER_ID | ||
fi | ||
|
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.
현재 status가 running 즉 활성화된 컨테이너를 찾아 중지하고, 삭제하는 스크립트는 잘 작성 되었지만,
도커 컨테이너에 문제가 있어 status=exited 인 컨테이너도 찾아서 중지 및 삭제 해줘야 포트나 컨테이너명 충돌이 일어나지 않습니다.
해당 스크립트로 기존 yml에 작성되어있기 때문에 해당 코드 참고하시면 될 것 같습니다!
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.
EXISTING_CONTAINER_ID=$(sudo docker ps -q -f "status=exited") 해당 부분 추가해서, 컨테이너 상태가 exited인 경우에도 기존 컨테이너를 삭제하도록 수정하겠습니다
PR 내용
weeth rds랑 ec2 연결해놓았고, develop 서버 CI/CD 구성 수정 및 빌드 및 배포 조건 설정 완료했습니다.
개인 레포(test1)에서 테스트 한뒤에 weeth-be 레포에서 작업했습니다.
해당 로직이 확실하게 맞는지 1차로 피드백 받고 추가적인 작업 진행하려고 합니다
PR 세부사항
기존 환경변수에 추가로 새로운 환경변수들, 깃헙 환경변수 설정에 업로드 해놨습니다
메인 서버와 별개로 진행되는 서버기 때문에, develop 브랜치에 직접 푸시, pr이 생성됐을때만
cicd가 작동하도록 코드를 구성했습니다.
빌드: develop 브랜치에 대한 PR이 생성되거나 푸시될 때만 빌드가 진행됩니다.
배포: develop 브랜치에 직접 푸시될 때만 배포가 이루어집니다.
관련 스크린샷
주의사항
노션에 ec2에 들어가는 환경변수랑 깃허브 환경변수 내용들도 업로드 해놓았습니다.
미완성 pr입니다. 빌드 + 배포 코드 내용들이랑 weeth-dev.env 파일관리 등 피드백 내용 달아주시면 정말정말 감사드리겠습니다......
체크 리스트