๋ฐฑ์๋ ์ํ velog ํด๋ก ์ฝ๋ฉ ํ๋ก์ ํธ
ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค๋ง์ ๊ธฐ์ ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋ค์ด์ ์ง์์ ๊ณต์ ํด๋ณด์
-
ํ์ฌ ์ ๊ทผ ๊ฐ๋ฅํ IP(์๋ฒ ์ง์ ์ค๋จ)
ํ๋ก์ ํธ ์คํ ์ ์๋ ํญ๋ชฉ์ ํ์ธํด์ฃผ์ธ์
- 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