-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Dakyung Ko edited this page Jun 28, 2019
·
14 revisions
- BACKEND : Spring Boot 2.x
- DATABASE : MySQL
- ORM : JPA
- CLOUD : EC2, S3
- CD/CI : TRAVIS CI, AWS CODE-DEPLOY
- SOURCE VERSION CONTROL : GIT
- REPOSITORY : GITHUB
- ISSUE TRACKER : ZENHUB
- COMMUNICATION : SLACK
- AUTH : OAuth2
- DOCUMENT : SWAGGER
기본적으로 git flow의 브런치 전략을 따른다.
- develop : 개발에 필요한 공통 코드를 작성한다. 이후 기능 개발이 완료된 코드를 feature 브런치에서 merge한다.
- feature/* : 새로운 기능을 개발할 때 develop에서 분기해 작업한다.
- master :
develop
Branch 검토 후merge
한다. 완전히 검증된 코드만을 남겨둔다. - deploy : 최종적으로 배포할 내용을
master
Branch에서merge/push
한다.- 배포용
commit
이 카운트 되는 것을 방지하기 위해master
와 분리한다.
- 배포용
- release : 버전을 관리하기 위한 브런치이다.
major.minor.build
- FE 빌드 파일을 적용해 배포하는 경우
build
버전을 변경한다. - 서버 기능별 작업이 완료된 경우
minor
버전을 변경한다. - 최종적으로 개발이 완료된 후
major
버전을 변경한다.
-
develop
Branch에서 기능에 해당하는 Branch를 생성한다(feature/*
). - 기능별 Branch(
feature/*
)에서 작업을 진행한다. - 이후
develop
Branch로 병합한다. -
develop
Branch 검토 후master
Branch로 병합한다. -
master
Branch에 구현한 기능은 항상 동작하여야한다.
-
master
Branch에서deploy
Branch로merge
한다. - 또는
FE build File
과build.gradle
파일을 변경한 뒤push
한다. -
deploy
Branch로push/merge
시 서버로 자동 배포된다. -
Health Check API
로 서버 실행여부를 확인할 수 있다.
- 프로젝트 최상위 폴더에서 진행한다.
#!/usr/bin/env bash
git checkout deploy
git pull origin deploy
./gradlew test # test 진행
./gradlew build # build 진행
cd build/libs
nohup java -jar $JAR_NAME & # 프로젝트 실행
- 고다경, 김지혜