-
Notifications
You must be signed in to change notification settings - Fork 0
프로젝트 설치 및 실행방법
SeungChulNa edited this page Feb 15, 2022
·
8 revisions
아래의 순서로 설치를 진행합니다
- github 저장소로부터 프로젝트 클론받기
- docker-compose를 사용해서 로컬서버를 위한 데이터베이스 설치하기
- schema.sql파일로 테이블 생성 및 외래키 제약조건 추가하기
- 파이썬 스크립트를 사용해서 data.sql파일 생성하기
- 생성된 data.sql파일로 테스트 데이터 입력하기
- github에 올라가지 있지 않은 설정파일 추가하기
배포버전의 데이터베이스 정보와 OAuth의 client secret등의 민감한 정보를 담은 설정파일은 github에 올라가 있지 않습니다.
해당 설정파일을 추가하지 않으면 애플리케이션을 실행할 수 없습니다.(없어도 OAuth기능이 필요없는 단위테스트는 동작합니다!) - IDE 설정
- 프로젝트 실행
git clone https://github.com/Malloc72P/QnaOverflow.git
- 프로젝트 최상위 경로로 부터
be/qnaboard/docker
폴더로 이동합니다.
cd be/qnaboard/docker/
- 아래의 명령어를 입력해서 MySQL 데이터베이스를 도커를 사용해서 설치합니다.
mysql 데이터베이스의 버전은8.0.27
입니다.
docker-compose up -d
- 해당
docker-compose
의 상세설정은docker-compose.yml
파일에서 확인할 수 있습니다.
해당 파일은be/qnaboard/docker
폴더 밑에 있습니다 - 데이터베이스의 루트유저와 일반 유저에 대한 정보는
be/qnaboard/docker/.env
파일에서 확인하실 수 있습니다. - 로컬환경에서 도커의 데이터베이스에 잘 접속할 수 있는지 테스트해봐야 합니다.
저는 IntelliJ의 Database접속기능으로 테스트해보겠습니다. - 데이터베이스탭에서 추가 버튼을 누른 후, MySQL을 선택합니다.
- 데이터 소스 설정창에서는 user와 password를 입력해줍니다.
be/qnaboard/docker/.env
에서 만들어놓은 계정을 사용하겠습니다.
id
는dev
,pw
는dev1234
입니다. 데이터베이스의 이름은qnaboard
입니다.
- DataSources 설정패널의 하단부에 있는 Test Connection버튼을 눌러 연결할 수 있는지 확인합니다.
-
be/qnaboard/src/main/resources/schema.sql
에 있는 스크립트를 우클릭하고 Run schema.sql버튼을 클릭합니다. - Target data source / schema아래에 있는
+
버튼을 클릭하여 대상 데이터소스를 등록하고 run 버튼을 클릭합니다. - 생성된 테이블은 데이터베이스 패널에서 확인할 수 있습니다.
-
be/qnaboard/data-initializer
폴더로 이동합니다. -
main.py
스크립트를 실행합니다.main.py
스크립트는 프로젝트의 테스트 데이터를 bulk insert하는data.sql
파일을 생성합니다.
py ./main.py
- 생성된
data.sql
파일은be/qnaboard/src/main/resources
에 있습니다.
-
data.sql
파일을 우클릭하고run data.sql
버튼을 클릭합니다.
- Target data source / schema: 아래의
+
버튼을 클릭하고qnaboard@localhost
를 추가합니다. 그리고 Run버튼을 클릭합니다.
- 실행환경을 gradle 대신 intelliJ로 변경합니다.
- 실행 설정을
QnaboardApplication
으로 변경합니다.
- Run 'QnaboardApplication'버튼을 클릭하여 애플리케이션을 시작합니다.