Note 새로운 레포지토리를 생성할 때는, GitHub의 'Use this template' 버튼을 사용하여 이 템플릿을 기반으로 생성하는 것을 강력히 권장합니다.
이 레포지토리는 [삼품관리]의 표준 프로젝트 구조와 개발 환경 설정을 제공하는 템플릿입니다. 비생산적인 초기 설정 작업을 자동화하여 개발자가 비즈니스 로직에 더 집중할 수 있도록 돕는 것을 목표로 합니다.
본 템플릿은 다음과 같은 목표를 가지고 제작되었습니다.
- 생산성 향상:
gitignore설정, GitHub Actions 워크플로우 작성 등 반복적이고 비생산적인 작업을 최소화합니다. - 표준화: 조직 내 모든 프로젝트가 일관된 구조와 개발 환경을 갖도록 합니다.
- 자동화: 이슈 및 PR 관리와 같은 일반적인 작업을 자동화하여 개발 프로세스의 효율성을 높입니다.
궁극적으로 개발자가 초기 설정의 부담에서 벗어나 핵심적인 비즈니스 가치 창출에 집중할 수 있는 환경을 제공합니다.
이 템플릿을 사용하여 새 프로젝트를 시작하려면 다음 단계를 따르세요.
프로젝트 유형에 맞는 .gitignore 파일을 제공합니다. 각 분야에 맞는 파일을 선택하여 루트 디렉토리에 설정해야 합니다.
.gitignore/디렉토리로 이동합니다.- 프로젝트 유형에 맞는 파일을 찾습니다. (예:
backend프로젝트의 경우.gitignore-backend) - 선택한 파일을 프로젝트의 최상위(루트) 디렉토리로 복사합니다.
- 복사한 파일의 이름을
.gitignore로 변경합니다. - 설정이 완료되면 더 이상 필요 없는
.gitignore/디렉토리는 삭제해도 좋습니다.
현재 저희 조직의 GitHub Plan은 Free Tier이므로, JSON파일을 통해 브랜치 보호 규칙(Rulesets)을 직접 적용해야 합니다.
- 중요: 조직에서 제공하는
branch-ruleset.json파일을 가져와서 이 레포지토리에 적용해야 합니다. 이는dev브랜치로의 강제 푸시를 막고, PR 승인 조건을 강제하는 등 안정적인 개발 환경을 위해 필수적입니다.
이 템플릿에는 GitHub Actions를 활용한 자동화 워크플로우가 포함되어 있습니다. 이 워크플로우들은 조직의 .github 레포지토리에 저장된 재사용 가능한 워크플로우를 호출하여 동작합니다.
- 이슈 담당자 자동 할당 (
assign-issue-creator.yml): 이슈 생성 시, 해당 이슈를 생성한 사용자에게 자동으로 담당자를 할당합니다. - PR 병합 시 이슈 자동 종료 (
close-issues-on-dev-merge.yml):dev브랜치에 Pull Request가 병합되면, 해당 PR에 연결된 이슈를 자동으로 닫습니다. - PR 리뷰 요청 자동화 (
request-pr-review.yml): Pull Request 생성 시, 조직의 지정된 팀에게 자동으로 리뷰를 요청하여 코드 리뷰 프로세스를 신속하게 시작합니다.