바쁜 일상 속 사랑하는 누군가에 대해 곰곰이 고민하는 시간을 주는 GomGomDiary입니다.
개발 기록은 노션에 정리했습니다.
- Docker (20.10.14 or higher)
- docker-compose (1.29.2 or higher)
- Node.js v18.8.0 or higher
- NestJS CLI v9.1.8
- v10 이상에서 사용시 vim 에디터에 문제가 생겨 다운그레이드 시켰습니다.
-
Clone the repository.
-
touch
.env.[development | test]
file, and fill..env.example
참고해주세요. -
run docker compose using docker-development.sh
매번 docker-compose 명령어를 입력하는게 귀찮아
alias
를 사용했다가, 이마저도 불편해서 쉘스크립트를 만들었습니다.아래 명령어를 참고해주세요.
$ bash docker-development.sh
or
$ chmod 744 docker-development.sh; ./docker-development.sh
부하 테스트에 대한 설명은 load-test에 쓰여있습니다.
개발 시 환경변수가 업데이트 될 수 있습니다. 아래 룰을 따라주세요.
.env.development
,.env.test
,.env.example
에 field를 추가시켜주세요.docker-compose.test.yaml
에 environment를 추가시켜주세요.
.env.development
는 개발 시,.env.test
는 로컬에서 e2e, 부하 테스트를 돌릴 시,docker-compose.test.yaml
은 CI에서 필요합니다.
3-1. JWT secret
과 같은 secret 중요도가 높은 변수라면...
- aws secret manager에 키 값을 추가해주세요
- task-definition.json에서 secrets를 업데이트 해주세요.
3-2. PORT
와 같은 secret 중요도가 낮은 변수라면...
- task-definition.json에서 environment를 업데이트 해주세요.
- 해당 프로젝트를 fork합니다.
- 새 브랜치를 만들어주세요. ( ex:
git checkout -b feature/foo
) - 작업 후 푸쉬한 다음 해당 프로젝트로 PR을 보내주세요.
- .gitmessage.txt를 참고해주세요.
- 아래 명령어는 커밋 시 템플릿을 사용할 수 있게 해줍니다.
$ git config commit.template .gitmessage.txt
- 템플릿 적용 테스트는 아래 명령어를 입력해주세요.
$ git commit --allow-empty
- 아래 명령어는 커밋 시 템플릿을 사용할 수 있게 해줍니다.
main branch에 push가 일어나고, 해당 커밋의 변경 사항이 src
디렉토리에서 일어났으면 ECS로 배포됩니다. 참고
성공 / 실패에 대한 상태는 github action이 webhook으로 discord에 쏴줍니다.
성공
실패