인프런 커뮤니티 질문&답변

Sanha Kang님의 프로필 이미지

작성한 질문수

비전공자도 이해할 수 있는 CI/CD 입문·실전

[실습] Github Actions 기본 문법 정리

DB 마이그레이션 방법 및 풀리퀘스트 거부 시 처리

해결된 질문

24.07.31 12:20 작성

·

80

0

안녕하세요 강의 잘 보고 있습니다~~
강의를 듣다 의문점이 생겨 질문을 드립니다.

전체적인 과정에 대해 생각해보다 나온 생각으로 하나의 강의에 직접적인 연관이 있지는 않습니다.

  1. 개발 서버, QA, 스테이징 서버, 운영서버의 DB CI/CD는 현업에서 어떤 식으로 하나요?

찾아본 결과 두 가지 방식이 있었습니다.

  1. Docker volume

  2. Flyway 등 마이그레이션 라이브러리 사용

만약 EC2 RDS를 사용하면 다른 서버에서도 그냥 DB를 사용해야 하는 게 아닌가 하는 생각이 듭니다. 개발서버는 Docker를 사용하고 운영서버에서는 RDS를 사용하는 식으로 하지는 않을 것 같은데 관련 내용이 궁금합니다.

Docker volume을 사용하여 대량의 데이터를 관리하는 경우가 현업에서 있는지 궁금합니다.


  1. QA브랜치에서 테스트를 통과하지 못하면 수정 브랜치를 만들어 개발서버에 다시 머지하고 테스트하나요? QA브랜치 뿐만 아니라 다른 브랜치에 오류가 생기면 바로 머지 할 지(hotfix처럼), 개발 브랜치에 머지 해 테스트를 다시 할 지 선택하는 건지 궁금합니다.


  1. 풀 리퀘스트가 거절되면 통합된 코드들은 어떻게 되는 지 궁금합니다. 항상 롤백이 되는 거라고 이해하면 될까요?

쉽고 확실하게 설명해주셔서 많이 배웠습니다. 조금 더 확실히 하기 위해서 질문을 드립니다. 항상 감사합니다!!

답변 1

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

2024. 07. 31. 13:03

안녕하세요 Sanha Kang님!

이 강의의 내용보다 한 단계 깊은 내용에 대해 고민하고 계시군요👍

물어보신 질문에 대해 하나씩 답변 드려볼게요:)

 

  1. 규모가 어느 정도 있는 현업에서는 Docker를 활용해서 DB를 운영하지는 않습니다. Docker를 활용해 DB를 운영하는 게 오히려 불편한 경우가 많기 때문입니다. 그래서 자체적으로 MySQL을 설치해서 쓰거나, AWS RDS와 같은 클라우드 서비스를 쓰는게 일반적입니다 :)

 

  1. 개발 문화가 어느정도 자리 잡힌 회사에서는 QA 브랜치에 Merge를 하기 전에 PR(Pull Request)을 거치게끔 구성해둡니다. PR을 올리면 그 때 테스트 코드를 실행시켜서 테스트 통과 여부를 확인할 수 있게 셋팅해둡니다. 그렇다면 QA 브랜치에 통과되지 않은 코드가 머지되진 않겠죠~??

 

  1. 풀 리퀘스트는 승인 되기 전까지 통합되지 않습니다! 그렇기 때문에 풀 리퀘스트가 승인 됐을 때를 제외하고는 기존 코드가 통합되기 전의 상태입니다.

 

이 외로 궁금하신 점 있으시면 편하게 질문 또 남겨주세요~~