Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BE_배포 #41

Closed
jmkim0 opened this issue Dec 29, 2022 · 3 comments · Fixed by #43, #51 or #53
Closed

BE_배포 #41

jmkim0 opened this issue Dec 29, 2022 · 3 comments · Fixed by #43, #51 or #53
Assignees

Comments

@jmkim0
Copy link
Contributor

jmkim0 commented Dec 29, 2022

docker-compose 기반으로 실행합니다.

필요한 파일 및 폴더 설명

  • compose.yml
    docker-compose 설정 파일

  • nginx/nginx.conf
    nginx 설정 파일

  • secrets
    secrets 폴더는 git에 추적되지 않게 하고 별도로 공유합니다.

    • db-password
      DB root 계정 비밀번호를 담은 텍스트 파일

    • backend-secrets.yml
      Spring Boot 애플리케이션 실행시 필요한 비밀 설정값을 담은 설정 파일

    • redis.conf
      Redis 연결 비밀번호를 포함한 설정 파일

  • client/build
    프론트엔드 빌드 파일을 담은 폴더

  • server/build/lib
    백엔드 빌드 jar 파일을 담은 폴더

실행 방법

# client 빌드
cd client
npm install --force
npm run build
cd ..

# server 빌드
cd server
./gradlew build
cd ..

# 이하 서버에서 실행시 sudo 필요

# docker-compose 실행
# -d 옵션: 백그라운드에서 실행
docker-compose up -d

# 실행 중인 컨테이너 확인하기
docker-compose ps

# 실행 중인 컨테이너 로그 정보 보기
# --follow 옵션: 실시간으로 로그 확인
docker-compose logs --follow

# 빌드 파일 변경 후 재시작하기
docker-compose up -d --force-recreate

# 실행 중인 컨테이너 종료하기
docker-compose kill
  • 로컬에서도 docker-compose로 실행이 가능합니다.
  • 현재 배포하는 서버에는 Node.js, JDK를 설치하지 않았고 빌드 자체도 서버 안에서 하면 느리기 때문에 로컬에서 빌드 후 compose.yml을 포함한 배포 파일들을 서버에 옮겨서 실행하고 있습니다.
  • docker-compose를 백그라운드로 실행하면 Ctrl+C 등으로 종료할 일이 없어져서 좋습니다.
@jmkim0 jmkim0 added the enhancement New feature or request label Dec 29, 2022
@jmkim0 jmkim0 linked a pull request Dec 30, 2022 that will close this issue
@jmkim0
Copy link
Contributor Author

jmkim0 commented Dec 30, 2022

빌드도 컨테이너상에서 하게 하면 좋을 것 같은데 일단 보류하도록 하겠습니다.

@DreamChaserDeekay
Copy link
Contributor

빌드 파일을 지웠다가 터미널로 scp 하는건 쉽기 때문에, 계속 로컬에서 진행해도 무방할 것 같기는 합니다!

@jmkim0 jmkim0 pinned this issue Dec 31, 2022
@jmkim0
Copy link
Contributor Author

jmkim0 commented Jan 2, 2023

nginx 리버스 프록시 설정 일부 변경되었습니다.
참고: 284c656

@jmkim0 jmkim0 removed the enhancement New feature or request label Jan 9, 2023
@jmkim0 jmkim0 closed this as completed Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment