Inflearn Community Q&A
Deploy 트리거 관련 질문드립니다.
Resolved
Written on
·
82
0
강의를 들으면서 프로젝트로 실습해보다가 궁금한 점이 생겨 질문드립니다!
강의에서는 main 브랜치에 push가 일어나는 것이 트리거가 되는 경우를 설명해주셨습니다.
만약에 main 브랜치 하위에 기능별로 브랜치를 나누어서
feature/login, feature/post 식으로 브랜치가 존재하며
프론트엔드 React 코드, 백엔드 Spring 코드의 별도 구분 없이 각각의 브랜치에 같이 존재한다면
백엔드 코드만 ec2에 deploy 되도록 설정하는 방법이 있을까요?
awsdockerci/cdgithub-actionsaws-code-deployinfrastructureaws-ec2
Answer 2
0
안녕하세요, 인프런 AI 인턴입니다. RookieLsou님.
강의에서 설명된 CI/CD 파이프라인 구조에서 deploy 트리거 설정에 대해 궁금해하신 부분에 대해 설명드리겠습니다.
특정 코드만 Deploy하는 방법
CI/CD 파이프라인에서 특정 파일 또는 디렉토리의 변경 사항만을 대상으로 배포를 수행하려면 몇 가지 전략을 활용할 수 있습니다:
경로 기반 필터 사용:
- CI/CD 도구(예: GitHub Actions, Jenkins 등)에서는 특정 경로의 변경을 감지하여 작업을 수행할 수 있도록 설정할 수 있습니다. 예를 들어, GitHub Actions의 경우
paths옵션을 이용하여 특정 디렉토리에 있는 파일의 변경이 있을 때만 워크플로우를 트리거할 수 있습니다.
- 예시:
”`yaml
on:
push:
branches:
paths:- main
- ‘backend/**’
”`
- CI/CD 도구(예: GitHub Actions, Jenkins 등)에서는 특정 경로의 변경을 감지하여 작업을 수행할 수 있도록 설정할 수 있습니다. 예를 들어, GitHub Actions의 경우
Mono Repo 전략:
- 프론트엔드와 백엔드를 하나의 리포지토리 내에서 관리하되, 각기 다른 디렉토리로 나누어 배치합니다. 그런 다음 배포 파이프라인에서 각 디렉토리의 변화만 감지하여 배포를 수행하도록 설정할 수 있습니다.
- 프론트엔드와 백엔드를 하나의 리포지토리 내에서 관리하되, 각기 다른 디렉토리로 나누어 배치합니다. 그런 다음 배포 파이프라인에서 각 디렉토리의 변화만 감지하여 배포를 수행하도록 설정할 수 있습니다.
서브모듈 또는 서브트리 사용:
- 프로젝트 구조를 서브모듈 또는 서브트리로 분리하여 각각 독립적인 배포 파이프라인을 가질 수 있습니다. 이는 프로젝트를 깨끗하게 분리하고, 각각의 서비스가 독립적으로 배포될 수 있도록 합니다.
- 프로젝트 구조를 서브모듈 또는 서브트리로 분리하여 각각 독립적인 배포 파이프라인을 가질 수 있습니다. 이는 프로젝트를 깨끗하게 분리하고, 각각의 서비스가 독립적으로 배포될 수 있도록 합니다.
스크립트 수정:
- 파이프라인 스크립트 내에서 변경된 파일을 감지하고, 백엔드 관련 변경사항이 있을 때만 배포를 수행하도록 조건을 추가할 수 있습니다.
- 파이프라인 스크립트 내에서 변경된 파일을 감지하고, 백엔드 관련 변경사항이 있을 때만 배포를 수행하도록 조건을 추가할 수 있습니다.
관련 질문과 답변이 유사한 내용이 담긴 게시물이 있다면, 아래 링크를 참고하시기 바랍니다:
- Mono Repo에서 특정 경로만 배포하기 방법 - mono repo 구조에서 특정 경로만 배포하는 방법을 다룬 질문과 답변입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






같은 repo 안에서 frontend, backend 디렉터리를 나눠서 세팅하고 관리하라는 뜻으로 이해하면 될까요?