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

송병훈님의 프로필 이미지

작성한 질문수

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

.travis.yml 파일 작성하기 (배포 부분)

Git의 하나의 Repository 안에서 branch별 배포가 가능한가요?

작성

·

742

0

안녕하세요. 저는 IT 교육 프로그램에서 5명의 팀원과 프로젝트를 진행하고 있습니다.

GitLab에서 하나의 Repository 안에서 작업을 하고 있습니다. 테스트 서버와 실환경 서버를 분리해서 진행해보려고 합니다. 그러기 위해 master 브랜치에 Push 될 때는 테스트 서버에 배포를 하고, master 에서 테스트 이후에 안정적인 코드를 production 이라는 브랜치에 Push 하려고 합니다.

이때 하나의 Repository에서 브랜치별로도 다른 서버로 배포를 진행할 수 있나요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.
Git에서는 하나의 Repository 안에서 다른 브랜치에 대한 배포를 진행할 수 있습니다. 이를 위해서는 Git의 Hooks 기능을 사용하거나, CI/CD 파이프라인을 구성해서 자동 배포하는 방법을 사용할 수 있습니다.

흔히 사용되는 방법 중 하나는 Git의 Hooks 기능을 사용하는 것인데요. 프로젝트의 .git 폴더 안에 있는 hooks 폴더에 pre-push, post-push 등의 스크립트를 작성하여 특정 브랜치에 푸시될 때마다 자동으로 배포 스크립트를 실행하도록 설정할 수 있습니다.

또 다른 방법으로는 GitLab 등의 Git 호스팅 서비스에서 제공하는 CI/CD 기능을 사용하는 것입니다. 해당 서비스에서는 .gitlab-ci.yml 파일을 생성하여 브랜치별로 배포 스크립트를 작성하고, 이를 푸시할 때마다 자동으로 실행되도록 설정할 수 있습니다.

이러한 방법들을 사용하면 하나의 Repository 안에서 다양한 브랜치에 따른 서버로의 배포를 간단하게 구현할 수 있습니다. 하지만 상세한 설정 및 배포 방법은 프로젝트의 구조와 환경에 따라 다르므로, 실제로 어떻게 구성하고 사용할지에 대해서는 프로젝트 팀과 상의하여 결정하시는 것을 추천드립니다.
감사합니다.