참고자료
왜?
- 서비스를 개선함에 따라, 왜 이런 결정을 했었는지 남겨놓기 위해서
ADR?
- 의미 : Architecture Decision Recode의 줄임어. 어떤 문제, 이슈들에 대해서 어떻게 결정되었는지 남기는 문서
- 구성
- Title
- Status
- Context
- Decision
- Consequences
Title
- ADR에 대한 제목
Status
- 해당 문서의 상태를 나타낸다
- 예시 : Proposed, accepted, rejected, deprecated, superseded
Context
- 문제나 이슈에 대한 자세한 내용
- 예시 :
- ABC 애플리케이션은 배포 패키지를 사용하여 고객 환경에 배포되는 패키지 솔루션입니다. 제어 가능한 기능, 핫픽스 및 릴리스 파이프라인을 확보할 수 있는 개발 프로세스가 필요합니다.
Decision
AD에 대한 결정
- 제안하고자 했던 내용, 해당 결정의 이유, 의사결정 과정에서 고려했던 대안과 장단점 작성
예시 :
여기서는 수정된 버전의 GitFlow 워크플로를 사용하여 ABC 애플리케이션을 개발합니다.
단순화를 위해
hotfix/*및release/*브랜치를 사용하지 않습니다. ABC 애플리케이션을 특정 환경에 배포하는 대신 패키지화할 것이기 때문입니다. 따라서 프로덕션 릴리스의 버그를 수정하기 위해 신속하게 대응하거나 별도의 환경에서 릴리스를 테스트하는 데 방해가 될 수 있는 복잡성을 더할 필요가 없습니다합의된 브랜치 전략은 다음과 같습니다.
릴리스에 태그를 지정하는 데 사용되는 보호되는
main브랜치가 각 리포지토리에 있어야 합니다.진행 중인 모든 개발 작업을 위한 보호되는
develop브랜치가 각 리포지토리에 있어야 합니다.
Consequences
- 결과적으로 어떤 효과?
- 예시: 장점, 단점