Skip to content

Commit cd7d214

Browse files
committed
add(github) : 이슈,pr 템플릿 추가
1 parent 7f58fe7 commit cd7d214

6 files changed

Lines changed: 249 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: 기능 개발 이슈 템플릿
2+
description: 새로운 기능 개발을 위한 이슈 템플릿입니다.
3+
title: "[Feature] "
4+
labels: ["feature"]
5+
assignees: []
6+
body:
7+
- type: textarea
8+
id: summary
9+
attributes:
10+
label: 1. 기능 개요 (Summary)
11+
description: 개발하려는 기능의 목적과 배경을 간단히 작성해주세요.
12+
placeholder: 예) 주문 결제 API의 예외 처리 및 로깅 개선
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: details
18+
attributes:
19+
label: 2. 상세 설명 (Details)
20+
description: 구현해야 할 기능의 구체적인 요구사항을 작성해주세요.
21+
placeholder: 예) 결제 실패 시 PaymentException 발생, 주문 상태 업데이트 트랜잭션 분리 등
22+
validations:
23+
required: true
24+
25+
- type: textarea
26+
id: test_cases
27+
attributes:
28+
label: 3. 테스트 시나리오 (Test Scenario)
29+
description: 예상되는 테스트 케이스를 작성해주세요.
30+
placeholder: 예) 결제 실패 시 400, 주문 상태 CANCELLED 변경 등
31+
validations:
32+
required: false
33+
34+
- type: textarea
35+
id: references
36+
attributes:
37+
label: 4. 참고 자료 (References)
38+
placeholder: 관련 이슈/PR/문서 링크 등을 적어주세요.
39+
validations:
40+
required: false
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: 리팩토링 이슈 템플릿
2+
description: 코드 구조 개선 또는 품질 향상을 위한 이슈 템플릿입니다.
3+
title: "[Refactor] "
4+
labels: ["refactor"]
5+
assignees: []
6+
body:
7+
- type: textarea
8+
id: goal
9+
attributes:
10+
label: 1. 리팩토링 목적 (Goal)
11+
placeholder: 예) PaymentService 결제 로직 복잡도 감소
12+
validations:
13+
required: true
14+
15+
- type: textarea
16+
id: target
17+
attributes:
18+
label: 2. 개선 대상 (Target)
19+
placeholder: 예) PaymentService, OrderController 등
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: approach
25+
attributes:
26+
label: 3. 개선 방향 (Approach)
27+
placeholder: 예) Strategy 패턴 적용 / 메서드 분리
28+
validations:
29+
required: false
30+
31+
- type: textarea
32+
id: testing
33+
attributes:
34+
label: 4. 테스트 검증 (Testing)
35+
placeholder: 예) 기존 단위 테스트 통과 여부 확인
36+
validations:
37+
required: false
38+
39+
- type: textarea
40+
id: references
41+
attributes:
42+
label: 5. 참고 자료 (References)
43+
placeholder: 관련 문서/PR 링크
44+
validations:
45+
required: false
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: 버그 제보 이슈 템플릿
2+
description: 버그 또는 오류 상황을 보고하기 위한 템플릿입니다.
3+
title: "[Bug] "
4+
labels: ["bug"]
5+
assignees: []
6+
body:
7+
- type: textarea
8+
id: summary
9+
attributes:
10+
label: 1. 버그 개요 (Summary)
11+
placeholder: 예) 주문 상세 페이지 진입 시 NPE 발생
12+
validations:
13+
required: true
14+
15+
- type: textarea
16+
id: steps
17+
attributes:
18+
label: 2. 재현 절차 (Reproduction Steps)
19+
placeholder: 1) 주문 내역 페이지 이동\n2) 특정 주문 클릭\n3) 콘솔 확인
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: expected
25+
attributes:
26+
label: 3. 예상 결과 (Expected Behavior)
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: actual
32+
attributes:
33+
label: 4. 실제 결과 (Actual Behavior)
34+
validations:
35+
required: true
36+
37+
- type: textarea
38+
id: environment
39+
attributes:
40+
label: 5. 환경 정보 (Environment)
41+
placeholder: OS / Browser / Backend Version 등
42+
validations:
43+
required: false
44+
45+
- type: textarea
46+
id: references
47+
attributes:
48+
label: 6. 참고 자료 (References)
49+
placeholder: 로그, 스크린샷, 관련 이슈 / PR
50+
validations:
51+
required: false
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: 성능 개선 이슈 템플릿
2+
description: 성능 최적화 및 병목 개선을 위한 이슈 템플릿입니다.
3+
title: "[Performance] "
4+
labels: ["performance"]
5+
assignees: []
6+
body:
7+
- type: textarea
8+
id: target
9+
attributes:
10+
label: 1. 개선 대상 (Target)
11+
placeholder: 예) 상품 목록 조회 API 응답 속도
12+
validations:
13+
required: true
14+
15+
- type: textarea
16+
id: cause
17+
attributes:
18+
label: 2. 문제 원인 (Cause)
19+
placeholder: 예) N+1 발생, 캐싱 미적용
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: plan
25+
attributes:
26+
label: 3. 개선 전략 (Improvement Plan)
27+
placeholder: 예) Fetch Join 적용 / Redis 캐시 적용
28+
validations:
29+
required: false
30+
31+
- type: textarea
32+
id: verification
33+
attributes:
34+
label: 4. 검증 방법 (Verification)
35+
placeholder: 예) 성능 테스트 결과 비교 (300ms → 80ms)
36+
validations:
37+
required: false
38+
39+
- type: textarea
40+
id: references
41+
attributes:
42+
label: 5. 참고 자료 (References)
43+
validations:
44+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# 1. 요약 (Summary)
2+
변경된 주요 내용과 목적을 간단히 요약해주세요.
3+
4+
예시:
5+
- 주문 결제 API의 예외처리 로직 추가 및 로깅 개선
6+
7+
8+
# 2. 작업 내용 (Details)
9+
- 주요 구현 사항 또는 변경점
10+
- 관련된 이슈나 참고 링크 (예: #42)
11+
12+
예시:
13+
- 주문 결제 실패 시 예외를 PaymentException으로 래핑
14+
- 주문 상태 업데이트 트랜잭션 분리
15+
- 결제 로그 수집 시 사용자 ID 추가
16+
17+
18+
# 3. 변경 유형 (Change Type)
19+
해당하는 유형을 한 줄로 적어주세요.
20+
21+
예시:
22+
`NEW FEATURE` / `FIX` / `REFACTOR` / `DOCS` / `PERFORMANCE` / `CHORE` / `BREAKING CHANGE`
23+

.github/workflows/cd.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Build Config Server Image
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
7+
env:
8+
REGISTRY: ghcr.io
9+
IMAGE_NAME: earlyexpress/hub-service
10+
VERSION: latest
11+
12+
jobs:
13+
ImageBuild:
14+
name: Build Docker Image
15+
runs-on: ubuntu-latest
16+
permissions:
17+
contents: read
18+
packages: write
19+
steps:
20+
- name: Checkout source code
21+
uses: actions/checkout@v4
22+
23+
- name: Set up JDK
24+
uses: actions/setup-java@v4
25+
with:
26+
distribution: temurin
27+
java-version: 21
28+
cache: gradle
29+
30+
- name: Build with Gradle
31+
run: |
32+
chmod +x gradlew
33+
./gradlew clean bootJar
34+
35+
- name: Log into container registry
36+
uses: docker/login-action@v3
37+
with:
38+
registry: ${{ env.REGISTRY }}
39+
username: ${{ github.actor }}
40+
password: ${{ secrets.GITHUB_TOKEN }}
41+
42+
- name: Build and push Docker image
43+
run: |
44+
IMAGE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }}
45+
docker build -t $IMAGE .
46+
docker push $IMAGE

0 commit comments

Comments
 (0)