Terraform Infra Provisioning


규칙

변경 사항은 아래의 이슈, 커밋, PR 순으로 적용할 것.

  • Public 저장소의 경우 영문 + 국문 혼용 또는 영문으로 아래 내용을 작성할 것.
  • Private 저장소의 경우 국문 단독으로 아래 내용을 작성할 것.

1. 이슈

아래의 (2.) 커밋의 커밋 메시지 타입을 사용하여 이슈 제목 설정.
이슈를 생성하면 {#NN} 이슈번호를 확인할 수 있다.

feature/#NN-{브랜치 명칭}, fix/#NN-{브랜치 명칭} 와 같은 형태로 브랜치를 생성.

  • fix의 경우 main에서 파생.
  • fix 이외의 모든 변경은 feat으로 통일하며 dev에서 파생.

이슈 예시

feature: 신규 로켓 앱 서비스를 위한 서브넷 및 인스턴스 추가.

... 이슈 내용 ...

이슈 템플릿은 추후 추가 예정

2. 커밋

커밋 메시지 타입

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • docs : 문서의 수정
  • refactor : 코드를 리펙토링 (컨벤션 적용, 모듈화 등 구조 변경 포함)
  • chore : 주요 기능 코드나 문서를 제외한 코드 수정 (e.g. 깃허브 워크플로우)

커밋 메시지 구조 및 예시

type: 개요 (#이슈번호)
- 간단 설명
feat: Rocket 앱 서비스 인스턴스 확장 (#0)
- Rocket 앱서비스를 스케일업을 위해 프로덕션 인스턴스 수 확장

3. PR

PR은 fix를 제외하고 파생 브랜치-> dev로 지정할 것.
PR의 명칭은 관련 이슈 명칭과 동일하게 작성할 것.

  • 추후, 서드파티 도구를 도입할 시 별도의 이슈를 포함한 명칭 변경이 필요함. (ex Jira)

PR의 경우 N 명 이상의 리뷰를 마친 후 approve를 통해 수행하도록 설정.


워크플로우

  1. 테라폼 검증 : dev이상 브랜치 PR, 병합이 발생할 경우

    • init, format, lint, validate
  2. 테라폼 적용 : main 브랜치 병합이 발생할 경우

    • init, format, lint, validate
    • apply