(2020.07.07)프로젝트 초기 설정 논의(1) - woowacourse-teams/2020-devbie GitHub Wiki
작성자 : 보스독
Git Flow vs Github Flow
- 발표자 : 유안
- Git Flow 보다는 Github Flow를 사용하는게 어떨까
- 브랜치 종류가 복잡한 Git Flow에 비해 Github Flow는 master 외 브랜치는 자유롭게 이용함
- 주로 이슈 및 PR기능을 사용
- PR이 Merge될 때 해당 이슈와 브랜치를 close한다.
- IntelliJ에서 저장소를 연결하면 Open Task를 사용해서 이슈를 찾고, 해당 이슈를 기반으로 브랜치를 새로 만들 수 있음.
- 이슈 템플릿을 활용하면, 이슈를 작성할 때 반복되는 작업을 줄일 수 있다.
- 이슈 → 프로젝트, 프로젝트 → 이슈 두 방법 모두 가능하지만, 이슈 → 프로젝트 등록으로 가는게 깔끔함.
Coding Convention
- 발표자 : 보스독
- 프론트엔드 코딩 컨벤션
- 프론트 프레임워크 vue.js로 결정
- ESLint와 Prettier사용
- ESLint는 vue에서 공식적으로 권장하는
eslint-plugin-vue
를 사용 - Prettier는 ESLint와 통합으로 사용하기 위해서
eslint-plugin-prettier
를 사용 - IntelliJ의 ESLint 설정에서
Run eslint --fix on save
를 체크하면 저장시 자동으로 체크하도록 함.
- ESLint는 vue에서 공식적으로 권장하는
- 백엔드 코딩 컨벤션
- 자바 + IntelliJ
- 네이버 핵데이 코드 스타일 적용
- Checkstyle IDE 플러그인 사용
- 컨벤션 위반 시 빌드 안되게 막음
- 자바 + IntelliJ
Github Issue / PR
- 발표자 : 소니
- 스프린트 주기는 마일스톤으로 관리
- 마일스톤 안에는 에픽들이 등록됨 → 에픽을 사용하려면 젠 허브(zen hub)를 설치해야 함.
- 이슈
- 미리 작성해 둔 템플릿에 맞게 작성 → feature, bugfix
- 역할에 맞는 라벨 달고 담당자를 assign한다.
- 에픽 안에서 관련 기능별 이슈들의 진행사항을 체크한다.
- 이슈 등록할 때, 얼마나 걸릴지 Estimate을 설정하는 기능 활용하자.
- 젠 허브 (zen hub)
- 크롬 익스텐션 설치, 에픽을 사용하기 위해서 필요하다.
- 칸반에서 에픽의 진도 현황을 볼 수 있다.
- 스프린트 주기는 1주에 한번을 목표로 한다.
- 이슈와 PR은 최대한 작은 기능 단위로 나눈다. 큰 이슈일 경우 상의하여 작게 분할하기로 한다.
- PR은 하나의 이슈에 매칭되도록 하고 PR이 닫힐 때 이슈도 함께 닫히도록 한다.
fixes #이슈번호
orresolve #이슈번호
Gradle + SpringBoot + Travis CI + Coveralls
- 발표자 : 코일
- 참고링크 by 조졸두
- Travis는 PR을 자체 서버에서 검증 한 후 build가 안되면 Merge가 안되게 함.
- 빌드를 못하게 제약을 거는 것은
Jacoco
프로그램을 통해서 함. (Jacoco는 자바코드의 테스트 커버리지를 체크하는 도구) - 테스트는 gradle 기반으로 테스트한다.
Github + Slack 연동 완료 ⭕️
초기설정 논의 현황
- ✅코딩 컨벤션 : ESLint, Naver-code-convention
- .gitignore : application.properties etc..
- spring boot starter : dependencies
- Travis Ci + Jacoco : Coverage Limit
- Frontend + Backend Port Integration
- Git flow VS Github flow
- Maria DB 계정 설정 (처음엔 h2로 작업)