-
Notifications
You must be signed in to change notification settings - Fork 1
서비스 배포
서비스 배포를 위해서는 다음과 같은 사항이 필요합니다:
- AWS 서비스에 업로드를 위한 AWS 계정
- 프로젝트 빌드를 위한 Node.js, pnpm, aws-cli, aws-sam-cli
- AWS 계정 credentials 설정
참고: 이 서비스는 AWS의 S3
, API Gateway
, CloudFront
, DynamoDB
서비스를 사용하여 구동되며, CloudFormation
을 통해 배포됩니다. 가격 정책을 잘 살펴보고 배포하세요.
Node.js 는 공식 사이트에서 설치하실 수 있습니다. 설치 후 npm install -g pnpm
을 입력하여 pnpm
을 설치합니다.
공식 사이트에서 설치 파일을 다운로드 받아 설치하세요.
공식 사이트에서 설치 파일을 다운로드 받아 설치하세요.
aws configure
명령어를 이용하여 계정을 설정할 수 있습니다.
git clone https://github.com/EATSTEAK/lockerweb.git
cd ./lockerweb
pnpm i --frozen-lockfile
혹은 레포지토리 메인에서 zip 파일을 직접 다운로드 받아 압축을 푼 디렉토리 아래에서 pnpm i --frozen-lockfile
을 실행하여 설치할 수 있습니다.
공식 사이트에서 설치 파일을 다운로드 받아 설치하세요.
공식 사이트에서 설치 파일을 다운로드 받아 설치하세요.
brew를 활용하면 간편하게 설치할 수 있습니다. 설치 후 aws configure
를 통해 계정 설정을 진행하세요.
brew tap aws/tap
brew install node pnpm
git clone https://github.com/EATSTEAK/lockerweb.git
cd ./lockerweb
pnpm i --frozen-lockfile
aws configure
명령어를 통해 계정을 설정하기 위해서는 먼저 IAM 설정이 필요합니다. IAM 토큰 설정을 완료하고 aws configure
명령어를 통해 입력하세요.
최상위 디렉토리에서 아래 명령어를 입력하여 프로젝트를 빌드하세요. 빌드 후 배포를 진행하면 됩니다.
pnpm build
최상위 디렉토리에서 아래 명령어를 입력하면 배포가 진행됩니다.
Warning
배포 이후에 서비스를 최초 설정하기 위해서는 반드시 AdminId=20XXXXXX
부분을 최고 관리자의 학번으로 바꾸어야 합니다.
Caution
JwtSecret=this-is-sample-key
는 인증 토큰을 암호화하기 위한 비밀 키로, 절대로 기본값으로 두어서는 안되며, 관리자만 알 수 있는 임의의 값으로 변경하여야 합니다.
pnpm run deploy --parameter-overrides AdminId=20XXXXXX JwtSecret=this-is-sample-key
배포가 완료되면 배포된 CloudFront 사이트 URL이 콘솔에 표시됩니다. 해당 URL에 접속하면 서비스가 실행됨을 볼 수 있습니다.
서비스에 커스텀 도메인을 연결하고 싶다면 커스텀 도메인 연결하기를 참조하세요.
주의!!: 한번 배포를 시작하면 Ctrl+C
등의 단축키 등으로 쉘을 나가지 않는 것이 좋습니다! 배포 도중에 취소하면 변경 사항 세트에 문제가 발생해 AWS 콘솔을 통해 직접 자원을 삭제하지 않는다면 다시 배포를 진행하지 못하게 될 수 있습니다. 반드시 배포가 완료된 후 pnpm delete
명령어를 입력하여 배포를 삭제한 후 DynamoDB 테이블을 삭제하여 배포본을 삭제하세요.
최상위 디렉토리에서 아래 명령어를 입력하면 배포가 삭제됩니다.
pnpm run delete
주의!!: 배포를 삭제하여도 데이터 보존을 위해 DynamoDB 테이블은 삭제되지 않습니다. 만약 다시 배포를 원한다면 DynamoDB
테이블의 데이터 백업 여부를 확인하고 테이블을 삭제한 뒤 배포하시기 바랍니다.
다음 |
---|