From 0b998da6fef2831a8e95bf56c6061e6655982dc6 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:49:21 +0900 Subject: [PATCH 1/6] Update README.md --- README.md | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c7181f4..b43b3a2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,48 @@ -# backend-python +# 다양성 평가 리포트 웹사이트 백엔드 + ![CD Status](https://github.com/NewWays-TechForImpactKAIST/backend-python/actions/workflows/build-dev-image.yaml/badge.svg) + +FastAPI로 개발되는 다양성 평가 리포트 웹사이트의 백엔드 레포지토리입니다. + +## Setup + +이 프로젝트를 실행하기 위해서는 Python(v3.9 이상)이 설치되어 있어야 합니다. + +## 설치 및 실행 과정 + +1. 파이썬 가상환경 생성 + - 아래 명령을 실행하여 파이썬 가상환경을 생성합니다. + ```bash + cd ~ && virtualenv newways --python=3.10 + ``` +2. 가상환경 활성화 + - 아래 명령을 실행하여 가상환경을 활성화합니다. + ```bash + source ~/newways/bin/activate + ``` +3. 레포지토리 클론 + - 아래 명령을 실행하여 레포지토리를 클론합니다. + ```bash + git clone https://github.com/NewWays-TechForImpactKAIST/backend-python + ``` +4. 필요한 패키지 설치 + - requirements.txt에 명시된 패키지를 설치합니다. + ```bash + pip install -r requirements.txt + ``` +5. 환경 변수 설정 + - `.env.example` 파일을 복사하여 `.env` 파일을 생성합니다. + ```bash + cp .env.example .env + ``` + - `.env` 파일을 열어 환경 변수의 값을 필요에 따라 바꾸어줍니다. +6. uvicorn 실행 + + - uvicorn을 사용해 fastapi를 실행합니다. + ```bash + uvicorn main:app --host HOST --port PORT + ``` + + ``` + + ``` From 974dd9b299a1f79ef7c349d7fd54f6e3b9e543c4 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:50:11 +0900 Subject: [PATCH 2/6] =?UTF-8?q?Docs:=20=EC=98=A4=ED=83=88=EC=9E=90=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index b43b3a2..a792fb6 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,3 @@ FastAPI로 개발되는 다양성 평가 리포트 웹사이트의 백엔드 레 ```bash uvicorn main:app --host HOST --port PORT ``` - - ``` - - ``` From 2179aa862ed494bf2a124290df5f10fe28add7b1 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:52:54 +0900 Subject: [PATCH 3/6] Docs: Docker --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a792fb6..5a6dc24 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,12 @@ FastAPI로 개발되는 다양성 평가 리포트 웹사이트의 백엔드 레 ``` - `.env` 파일을 열어 환경 변수의 값을 필요에 따라 바꾸어줍니다. 6. uvicorn 실행 - - uvicorn을 사용해 fastapi를 실행합니다. ```bash uvicorn main:app --host HOST --port PORT ``` +7. Docker build + - docker image를 빌드합니다. + ```bash + docker-compose up -d -build + ``` From 6cf996ce73d50aed2056fdc5386d4e88ccb70b46 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:55:31 +0900 Subject: [PATCH 4/6] Docs: Swagger --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 5a6dc24..74b0294 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,11 @@ FastAPI로 개발되는 다양성 평가 리포트 웹사이트의 백엔드 레포지토리입니다. +## Docs + +본 프로젝트는 Swagger를 사용하여 API 문서를 작성하고 있습니다. +![Swagger](https://diversity-api.tech4impact.kr/docs) 에서 API Endpoints 들을 확인하고 테스트 할 수 있습니다. + ## Setup 이 프로젝트를 실행하기 위해서는 Python(v3.9 이상)이 설치되어 있어야 합니다. From 2a8cee0df85d3d523daf87f3bf3562b4e3514c56 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Thu, 30 Nov 2023 21:56:17 +0900 Subject: [PATCH 5/6] Image fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 74b0294..f5c747d 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ FastAPI로 개발되는 다양성 평가 리포트 웹사이트의 백엔드 레 ## Docs 본 프로젝트는 Swagger를 사용하여 API 문서를 작성하고 있습니다. -![Swagger](https://diversity-api.tech4impact.kr/docs) 에서 API Endpoints 들을 확인하고 테스트 할 수 있습니다. +[Swagger](https://diversity-api.tech4impact.kr/docs) 에서 API Endpoints 들을 확인하고 테스트 할 수 있습니다. ## Setup From b7575fa08522752d1717ada87ece44d82292aedd Mon Sep 17 00:00:00 2001 From: withSang Date: Thu, 30 Nov 2023 13:20:56 +0000 Subject: [PATCH 6/6] docs(readme): add docker compose --- README.md | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f5c747d..de9f5d8 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ FastAPI로 개발되는 다양성 평가 리포트 웹사이트의 백엔드 레 이 프로젝트를 실행하기 위해서는 Python(v3.9 이상)이 설치되어 있어야 합니다. -## 설치 및 실행 과정 +### 개발환경 설정 과정 1. 파이썬 가상환경 생성 - 아래 명령을 실행하여 파이썬 가상환경을 생성합니다. @@ -40,14 +40,29 @@ FastAPI로 개발되는 다양성 평가 리포트 웹사이트의 백엔드 레 ```bash cp .env.example .env ``` - - `.env` 파일을 열어 환경 변수의 값을 필요에 따라 바꾸어줍니다. + - `.env` 파일을 열어 환경변수를 필요에 따라 변경합니다. 6. uvicorn 실행 - uvicorn을 사용해 fastapi를 실행합니다. ```bash uvicorn main:app --host HOST --port PORT ``` -7. Docker build - - docker image를 빌드합니다. + +### 배포 과정 + +이 레포의 main 브랜치에 새 커밋이 생성될 때마다, GitHub Actions를 통해 배포용 Docker 이미지가 빌드됩니다. +이 Docker 이미지를 사용하여 서비스를 배포할 수 있습니다. + +1. 환경변수 설정 + - `.env.example` 파일을 복사하여 `.env` 파일을 생성합니다. ```bash - docker-compose up -d -build + cp .env.example .env ``` + - `.env` 파일을 열어 환경변수를 필요에 따라 변경합니다. + +2. 백엔드 컨테이너 배포 + - 컨테이너를 아래 명령으로 생성합니다. + ```bash + docker-compose -f docker-compose.dev.yml up -d + ``` + - `newways-watchtower`는 1분에 한 번씩 새 백엔드 이미지가 있는지 확인하여, 백엔드 컨테이너를 주기적으로 업데이트하는 역할을 수행합니다. +