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

Refactor #54 CI/CD 파일 수정 및 서버 재배포 관련 설정 #56

Merged
merged 2 commits into from
Oct 5, 2024

Conversation

huncozyboy
Copy link
Member

@huncozyboy huncozyboy commented Oct 4, 2024

PR 내용

weeth rds랑 ec2 연결해놓았고, develop 서버 CI/CD 구성 수정 및 빌드 및 배포 조건 설정 완료했습니다.
개인 레포(test1)에서 테스트 한뒤에 weeth-be 레포에서 작업했습니다.
해당 로직이 확실하게 맞는지 1차로 피드백 받고 추가적인 작업 진행하려고 합니다

PR 세부사항

기존 환경변수에 추가로 새로운 환경변수들, 깃헙 환경변수 설정에 업로드 해놨습니다
메인 서버와 별개로 진행되는 서버기 때문에, develop 브랜치에 직접 푸시, pr이 생성됐을때만
cicd가 작동하도록 코드를 구성했습니다.

빌드: develop 브랜치에 대한 PR이 생성되거나 푸시될 때만 빌드가 진행됩니다.
배포: develop 브랜치에 직접 푸시될 때만 배포가 이루어집니다.

관련 스크린샷

image


주의사항

노션에 ec2에 들어가는 환경변수랑 깃허브 환경변수 내용들도 업로드 해놓았습니다.
미완성 pr입니다. 빌드 + 배포 코드 내용들이랑 weeth-dev.env 파일관리 등 피드백 내용 달아주시면 정말정말 감사드리겠습니다......

체크 리스트

  • 리뷰어 설정
  • Assignee 설정
  • Label 설정
  • 제목 양식 맞췄나요? (ex. #0 Feat: 기능 추가)
  • 변경 사항에 대한 테스트

@huncozyboy huncozyboy self-assigned this Oct 4, 2024
@huncozyboy huncozyboy linked an issue Oct 4, 2024 that may be closed by this pull request
Copy link
Member

@hyxklee hyxklee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수정 사항 적어뒀으니 확인해주시고 수정 부탁드립니다!

deploy:
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/develop'
Copy link
Member

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가 돌아갈 거에요

Copy link
Member

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

env는 깃허브에 올라가는 환경변수 파일이 아니고, EC2에 다이렉트로 생성할 파일이라서 깃 이그노어에 따로 추가해줄 필요는 없습니다!

Copy link
Member Author

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

Copy link
Member

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에 작성되어있기 때문에 해당 코드 참고하시면 될 것 같습니다!

Copy link
Member Author

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인 경우에도 기존 컨테이너를 삭제하도록 수정하겠습니다

huncozyboy

This comment was marked as outdated.

@huncozyboy huncozyboy merged commit 25e6e37 into develop Oct 5, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor #54 CI/CD 파일 수정 및 서버 재배포 관련 설정
2 participants