-
Notifications
You must be signed in to change notification settings - Fork 5
8. 프로젝트 실행 방법
권주성 edited this page May 25, 2023
·
1 revision
프로젝트 실행 전 아래 항목을 확인해주세요
- database(mysql)가 실행되고 있어야 합니다 (docker-compose 제외)
- kakao OAuth를 서비스를 사용하고 있어야 합니다
- 프로젝트에 필요한 환경 변수들을 지정해주어야 합니다
environment | description |
---|---|
SPRING_DATASOURCE_USERNAME | db에 접속할 수 있는 사용자 username |
SPRING_DATASOURCE_PASSWORD | db에 접속할 수 있는 사용자 password |
SPRING_DATASOURCE_URL | 접속하려는 db의 url |
JWT_ISSUER | JWT 발행자 |
JWT_SECRET_KEY | JWT 검증을 위한 비밀키 |
REDIRECT_URI | 카카오 로그인에서 사용할 OAuth Redirect URI |
CLIENT_ID | Kakao 앱 키(REST API 키) |
CLIENT_SECRET | Kakao에서 보안을 위해 제공하는 비밀키 |
AWS_ACCESS_KEY | AWS에 접근하기 위한 ACCESS_KEY |
AWS_SECRET_KEY | AWS에 접근하기 위한 SECRET_KEY |
-
github에서 프로젝트를 다운받는다
git clone https://github.com/prgrms-be-devcourse/BE-03-Prolog
-
.env.example 파일을 보고, .env 파일을 생성하거나 환경 변수를 지정해준다
-
build 후, jar 파일을 실행한다
./gradlew clean build java -jar build/libs/{prolog}.jar
-
docker를 설치한다
-
docker hub에서 docker image를 다운받는다, 자세한 경로는 여기
docker pull fortune00/prolog
-
.env 파일을 만들고, 컨테이너를 실행한다
docker run --env-file=.env -d fortune00/prolog
-
docker-compose를 설치한다
-
docker-compose.yml 파일을 생성한다
version : "3" services: db: container_name: prolog-db image: mysql environment: MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} ports: - "3306:3306" volumes: - ./mysqldata:/var/lib/mysql restart: always app: container_name: prolog-app image: fortune00/prolog ports: - "8080:8080" working_dir: /app depends_on: - db restart: always environment: SPRING_DATASOURCE_USERNAME: ${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${SPRING_DATASOURCE_PASSWORD} SPRING_DATASOURCE_URL: ${SPRING_DATASOURCE_URL} #IP 값으로 "prolog-db"를 넣어주세요 JWT_ISSUER: ${JWT_ISSUER} JWT_SECRET_KEY: ${JWT_SECRET_KEY} CLIENT_ID: ${CLIENT_ID} CLIENT_SECRET: ${CLIENT_SECRET} REDIRECT_URI: ${REDIRECT_URI} AWS_ACCESS_KEY: ${AWS_ACCESS_KEY} AWS_SECRET_KEY: ${AWS_SECRET_KEY}
-
docker-compose.yml과 같은 경로에 .env 파일을 만들고, docker-compose를 실행한다
docker-compose -d up