inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Pull requests에 대해

107

동동이

작성한 질문수 22

0

안녕하세요 강의 잘 봤습니다.

제가 토이프로젝트에서 작업했을 때는 깃허브에 직접 들어가 Pull requests 메뉴에 들어가서 버튼누르니까 자동으로 merge하고 테스트, 실행까지 다하던데 pull requests 역할이 무슨 뜻이고, 이것도 설정을 어떻게 하는건지 궁금합니다.

그리고 강의에서는 merge까지는 안 알려주시던데 deploy.yml에서 코드 작성하면 되는건가요?

aws docker ci/cd github-actions aws-code-deploy infrastructure aws-ec2

답변 2

0

JSCODE 박재성

안녕하세요 동아님~~

Pull Request에 대한 설명은 아래 영상에 잘 되어 있는 것 같아 링크 첨부하겠습니다!

https://youtu.be/uvsz2XgRPfM

https://youtu.be/kkQiIXH5w2A

https://youtu.be/tkkbYCajCjM

 

그리고 Pull Reqeust를 눌렀을 때 자동으로 테스트, 실행까지 된 이유는 아래와 같습니다!

name: Deploy Project

on:
  push:
    branches:
      - main  # main 브랜치에 push(merge)되면 실행

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      
      - name: Install Dependencies
        run: npm install
      
      - name: Run Tests
        run: npm test
      
      - name: Deploy
        run: ./deploy.sh

위와 같은 코드에서 main 브랜치로 Pull Request를 올려서 merge를 하게 되면,

main 브랜치에 push가 됐다고 인식합니다. 그러면서 CI/CD가 작동되는 원리입니다!

 

여기서 추가적으로 궁금한 점 있으시면 또 댓글 남겨주세요~!!

최근 개발 공부를 아주 열심히 하고 계신 것 같아서 뿌듯하네요👍👍

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 신동아님.

GitHub의 Pull Request(PR)는 개발자들이 코드 변경 사항을 비교하고 검토할 수 있도록 도와주는 중요한 툴입니다. 이는 코드가 기본 브랜치에 통합되기 전, 코드 리뷰 및 테스트를 거치도록 하기 위해 사용됩니다. PR이 열리면 팀원들의 리뷰를 받아 코드의 질을 보장하고, 버그를 최소화할 수 있는 기회를 제공합니다.

PR에서 자동으로 머지(Merge)하고 테스트, 실행까지 진행되는 과정은 보통 CI/CD 파이프라인에 설정된 작업들이 수반됩니다. GitHub Actions의 워크플로우를 사용하여 PR이 열리거나 병합될 때마다 특정 작업(테스트, 빌드 등)을 자동으로 실행할 수 있도록 설정할 수 있습니다.

Pull Request 설정 방법

  1. GitHub Actions 사용:
    • deploy.yml 또는 다른 이름의 워크플로우 파일을 .github/workflows/ 디렉토리에 생성하여 CI/CD 파이프라인을 설정할 수 있습니다. 이 파일 내에서 ‘on’ 키워드를 사용하여 PR 이벤트(예: on: pull_request)를 트리거로 워크플로우를 실행하도록 설정합니다.
  2. 자동 머지 설정:
    • GitHub에서는 자동으로 특정 조건이 충족되면 머지되도록 설정할 수 있으며, 프로텍티드 브랜치를 설정해 코드 변경의 안전성을 향상시킬 수 있습니다.

강의에서 직접적으로 ‘merge’ 과정이 포함되지 않았다 한다면, 배포 파이프라인 설정(deploy.yml)에서 원하는 시나리오를 직접 작성하여 구현할 수 있습니다. 예를 들어, PR이 특정 조건을 만족하면 머지 후 배포까지 자동화할 수 있도록 워크플로우를 정의할 수 있습니다.

GitHub Actions와 PR 연동 방법에 대한 참고 링크를 추천드립니다:
- GitHub Actions와 Pull Request 연동하기

위 링크들이 질문자님의 이해를 돕기를 바랍니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

무중단 배포

0

56

2

workflows/deploy.yml 궁금증

0

52

2

.git-credentials 파일이 없이 배포가 성공한 이유가 궁금

0

57

1

(해결 - 정보공유) /home/runner/work/_temp/6be6e~0.sh: line 1: ./gradlew: Permission denied 오류

1

63

2

(확인 완료) git config --global creadential.helper store 후에도 비밀번호 물어보는 현상

1

71

2

질문_ 강의 순서 및 그외

0

70

2

섹션 4 - Docker + 백엔드(Spring Boot)

0

63

2

deploy.yml작성후 원격에 push불가

0

63

2

CodeDeploy 사용시 registration 요구

0

104

3

스프링 종료 명령어

0

68

2

RAM & 스왑메모리 폭증하는 문제

0

102

2

섹션 4, 5와 6, 7은 유사한가요?

0

66

1

code deploy 배포입니다.

0

98

3

사용자 삭제가 안되는 이유

0

87

2

이미지 pull중 no basic auth credentials 문제입니다.

0

113

2

Docker Compose파일을 작성했을때 CI CD와의 연동

0

96

2

보안그룹 생성 오류

0

84

3

AWS 5월에 탈퇴해서 그러는데....

0

81

1

배포 오류

0

80

2

node.js 설치시 에러

0

149

2

appspec.yml, 스크립트 파일 수정요청

0

82

2

appleboy/ssh-action stop_script 대체

1

180

2

Vue.js 파일 배포

0

61

2

aws를완강하고 ci/cd로 넘어왔습니다.

0

85

1