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

[BE] dev환경 배포 방식 수정 #381

Merged
merged 5 commits into from
Oct 11, 2024
Merged

Conversation

ehBeak
Copy link
Contributor

@ehBeak ehBeak commented Oct 3, 2024

관련 이슈

작업 내용

dev 환경의 모니터링 변경으로 backend-dev-cd파일을 수정했습니다.
dev 환경을 배포할 때, momo-dev-api 이미지만 최신화하여 재시작하고 그 외, 모니터링 관련 컨테이너는 그대로 두도록 수정했습니다.

그외 모니터링 컨테이너 목록

  • promtail
  • loki
  • node_exporter
  • prometheus
  • grafana

특이 사항

질문1)
docker-compose.yml 파일은 현재 momo-dev 인스턴스에 위치합니다.
momo-config 서브모듈로 옮겨서 인스턴스 내부에서가 아닌, 로컬에서도 관리할 수 있게 수정해야 하나 고민입니다.
서브모듈에서 관리한다면, 인스턴스에 직접 접속하는 번거로움도 줄일 수 있고 문제 발생 시 빠르게 롤백할 수 있는 장점 등이 있는 것 같습니다.
이 부분에 대해서 팀원들의 의견이 궁금합니다~

질문2)
momo-dev-api 이미지만 재실행하는 것이 맞을까요?
다른 모니터링 관련 컨테이너(promtail, grafana 등..)는 배포 시에 업데이트될 필요가 없어서 이렇게 했습니다.
그런데 제가 예상하지 못한 문제점이 있을 수도 있으니, 확인 부탁드립니다.

리뷰 요구사항 (선택)

@ehBeak ehBeak self-assigned this Oct 3, 2024
@seunghye218 seunghye218 added 🐈‍⬛ 백엔드 백엔드 관련 이슈에요 :) ⚙️ 환경설정 환경을 설정해요 :) labels Oct 4, 2024
Copy link
Contributor

@seunghye218 seunghye218 left a comment

Choose a reason for hiding this comment

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

docker-compose.yml을 서브모듈로 관리한다면 설정 변경으로 인한 배포를 지속적으로 할 수 있을 것 같아요. 변경된 서비스만 재시작 시키는 방법은 찾아봐야할 것 같지만 좋다고 생각합니다~!

# 4. 미사용 이미지를 정리
# 2. 실행 컨테이너 중 app 서비스만 재시작
- name: Restart app service
run: docker compose -f $HOME/docker-compose.yml up -d --no-deps app
Copy link
Contributor

Choose a reason for hiding this comment

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

restart가 아닌 up 명령어를 사용해야 바뀐 설정 파일이 적용되어 반영되네요! --no-deps 옵션을 사용해 불필요한 종속성 서비스가 재시작시키지 않을 수 있겠네요 👍

Copy link
Member

Choose a reason for hiding this comment

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

--no-deps 👍👍

Copy link
Member

@hw0603 hw0603 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다~

저도 docker-compose 파일도 서브모듈로 관리하는 것이 번거로움을 줄일 수 있어서 좋을 것 같아요.

다만, compose 자체도 원본 레포지토리와 형상관리가 같이 되어야 한다고 생각해서, 가능하다면 민감정보들을 제외한 compose 파일을 현 레포지토리에 두고, CD 스크립트에서 Github Secret을 불러와서 실행 가능한 진짜 compose 파일을 만드는 것이 좀 더 마음에 듭니다ㅎㅎ

# 4. 미사용 이미지를 정리
# 2. 실행 컨테이너 중 app 서비스만 재시작
- name: Restart app service
run: docker compose -f $HOME/docker-compose.yml up -d --no-deps app
Copy link
Member

Choose a reason for hiding this comment

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

--no-deps 👍👍

Copy link
Contributor

@seokmyungham seokmyungham left a comment

Choose a reason for hiding this comment

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

저도 마크와 페드로 의견에 동의합니다.
그 작업만 마저 해주시면 좋을 것 같아요.
수고하셨습니다 백희~

Copy link
Contributor

@ikjo39 ikjo39 left a comment

Choose a reason for hiding this comment

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

저도 마크와 페드로 의견에 동의합니다!
고생 많으셨어요 배키

Copy link

github-actions bot commented Oct 10, 2024

Test Results

153 tests   153 ✅  19s ⏱️
 32 suites    0 💤
 32 files      0 ❌

Results for commit 941b93f.

♻️ This comment has been updated with latest results.

@ehBeak
Copy link
Contributor Author

ehBeak commented Oct 10, 2024

질문에 대한 의견을 반영해서 다시 pr 올립니다~!

이전까지 방식은 단순히 docker 컨테이너를 run하는 과정이었습니다.
그래서 이전에 돌아갔던 모니터링 컨테이너가 모두 down 되는 문제가 발생했습니다.

이를 해결하고자 dev 환경을 배포할 때, momo-dev-api 이미지만 최신화하여 재시작하고
그 외, 모니터링 관련 컨테이너는 그대로 두도록 수정했습니다
docker-compose.yml 파일은 숨겨야 할 정보가 많아서, 숨길 정보를 githubSecret에 두지 않고 docker-compose.yml파일 전체를 momo-conifg 파일에 넣어두었습니다.

내부 커밋 내역

확인 부탁드립니다~

@hw0603
Copy link
Member

hw0603 commented Oct 11, 2024

머지 전 dev 인스턴스에서 간이 테스트만 해 주시고, 이상 없다면 바로 머지하셔도 될 것 같네요!

@ehBeak ehBeak force-pushed the refactor/refactor-dev-cd branch from 6cf93c5 to 941b93f Compare October 11, 2024 08:58
@ehBeak ehBeak merged commit 875ccc8 into develop Oct 11, 2024
6 checks passed
@ehBeak ehBeak deleted the refactor/refactor-dev-cd branch October 11, 2024 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚙️ 환경설정 환경을 설정해요 :) 🐈‍⬛ 백엔드 백엔드 관련 이슈에요 :)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[BE] dev 환경의 CI/CD를 수정해요 :)
7 participants