깃헙을 코드 리뷰에 활용하는 방법을 설명하기 위한 리파지터리입니다.

대부분은 Pull Requests를 사용해 코드 리뷰를 할 수 있으며,
기존에 존재하는 리파지터리가 없거나 개인이 진행하는 코드인 경우라면, 커밋 히스토리를 활용하는 방법이 있습니다.

뭐가 좋은가?

  1. 사용하기 간편하고, 금방 익힐 수 있습니다.
  2. 코드 리뷰를 위한 툴을 따로 설치하지 않아도 됩니다.
  3. 온라인으로 잘 정돈된 코드를 바로 볼 수 있습니다.
  4. 라인 단위로 댓글을 달아 리뷰할 수 있습니다.
  5. git 또는 github을 익힐 시간이 정말 부족하다면, 그냥 온라인에서만 작업할 수도 있습니다.

Pull Requests로 리뷰하기

공동 작성하고 있는 코드이거나, 이미 코드가 있는 과제에 적합합니다.

  1. 리뷰어(Reviewer)는 먼저 원본 리파지터리를 준비합니다.
  2. 리뷰받는 사람(reviewee)은 원본 리파지터리를 Fork합니다.
  3. 리뷰받는 사람은 작업을 마친 후, 커밋한 코드를 Pull Requests합니다.
  4. 리뷰어는 Pull Requets 메뉴에서 요청온 코드를 리뷰해줍니다.

(Tip)
팀 내 공동 과제이거나 교육을 위한 과제처럼 여러 사람을 위한 리뷰라면,
요청받은 커밋을 머지하지 않고, 해당 요청을 Close합니다.
과제 코드는 그대로 유지할 수 있고,
리뷰받는 사람은 close 된 다른 사람의 리뷰 히스토리를 참고해 학습할 수 있습니다.

Commits 히스토리로 리뷰하기

개인이 혼자 진행하는 과제 또는 프로젝트인 경우에 적합하며,
Commits 메뉴의 커밋 히스토리에 댓글을 다는 방식으로 리뷰합니다.

  1. 리뷰받는 사람이 직접 자신의 리파지터리를 생성하고 작업합니다.
  2. 리뷰받을 코드를 커밋하고, 리뷰어에게 리뷰받을 커밋 히스토리의 링크를 전달합니다.
  3. 리뷰어는 Commits 히스토리 페이지에서 코드를 리뷰해줍니다.

(Tip)
Commits 메뉴에서는 각 커밋에서 변경한 코드만 볼 수 있습니다.
작업한 전체 내용을 리뷰 받으려면, 작업이 최종 완료된 후에 커밋합니다.

'개발 관리' 카테고리의 다른 글

DevOps와 CI/CD  (0) 2021.06.13
우리팀 Confluence 사용하는 법  (0) 2021.04.19
JIRA의 scrum보드 활용법  (0) 2021.04.15
Jira를 통해 스크럼 관리하기  (0) 2021.04.15
애자일 Scrum(스크럼) 이해하기  (0) 2021.04.15

개요

DevOps, CI(Continuous Integration), CD(Continuous Delivery) 가 무엇인지 알아보고 등장배경 및 필요성을 알아본다.

👬→🙍‍DevOps의 등장

전통적인 개발 조직은 개발자와 오퍼레이터 두 부류로 나뉘어 운영되었다. 개발자는 비즈니스 요구사항에 따라 코드를 완성합니다. 빠른 시간 내에 요구사항을 충족시켜, 필요로 하는 기능을 완성시키는 데 기여합니다. 그리고 오퍼레이트는 완성된 소스코드를 빌드하고 배포합니다. 시간을 준수하여 실수 없이 코드를 배포하는데 집중하며, 업무를 자동화 하는데 기여합니다. 이렇게 애플리케이션을 실제로 서비스하는데까지 두 역할이 서로 다른 목표를 위해 업무를 수행하다보니 시간이 오래 걸리는 이슈에 부딪히게 되었습니다. 그래서 이를 통합적으로 수행하고자 하는 니즈가 DevOps 문화이고 이를 실현하는 DevOps 조직이 출현하게 되었습니다.

🏭CI/CD 의 등장

그러나 소프트웨어 개발 수명 주기는 점점 복잡해지고 업데이트와 배포가 잦아지는 환경 속에서 업무 효율을 낼 수 있는 도구를 필요로 하게 되었습니다. CI/CD는 '자동화된' 지속적인 통합과 배포를 의미합니다. CI 단계에서는 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경을 레포지토리에 정기적으로 병합하는 개발을 수행합니다. CD 단계에서는 코드 변경 사항을 레포지토리에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 릴리스하는 개발을 수행합니다. (이 둘은 서로 다른 역할이지만 보통 함께 구축되기 때문에 CI, CD를 묶어서 부릅니다.) 이를 통해 응용 프로그램의 빌드, 테스트 및 배포의 자동화를 통해 애플리케이션을 더 짧은 주기로 고객에게 제공하게 됩니다.

👎온프레미스 상에서의 CI/CD 구축의 어려움

한 설문조사 결과 CI/CD를 업무에 도입하고 있지 못하는 가장 큰 이유로 스킬셋의 부족함, 툴 선정의 어려움, Best Practice에 대한 지식 부족, 전통적 개발 방식에서 벗어나기 어려움 등이 뽑혔습니다. 실제로 온프레미스 상에서 CI/CD 환경을 구축하는 것은 쉽지 않습니다. 여러 가지 제품 중에 우리 회사에 가장 적합한 제품을 조사하고 검증해야 합니다. 제품을 선택한 이후에는 수많은 환경을 구축하고 연계하고 운영까지 하는데 많은 시간과 공수가 들게 됩니다.

👍클라우드 상에서의 CI/CD 효과

하지만 클라우드에서라면 앞서 한 고민을 덜어줄 수 있습니다. 직접 구축할 필요 없이 클라우드 서비스 제공자가 만든 CI/CD 도구를 쉽게 사용할 수 있습니다. 빠르고 쉽게 리소스를 생성할 수 있는 클라우드의 장점을 누릴 수 있습니다. 온프레미스 상에서 존재했던 복잡한 방화벽 설정이 없고, 보안 환경을 간편하게 설정할 수 있습니다.

'개발 관리' 카테고리의 다른 글

github로 코드리뷰 하기  (0) 2021.08.28
우리팀 Confluence 사용하는 법  (0) 2021.04.19
JIRA의 scrum보드 활용법  (0) 2021.04.15
Jira를 통해 스크럼 관리하기  (0) 2021.04.15
애자일 Scrum(스크럼) 이해하기  (0) 2021.04.15

+ Recent posts