이번 포스트에서는 FastAPI 웹 애플리케이션과 CI/CD 파이프라인을 구축하는 방법에 대해 알아보겠습니다. FastAPI는 Python으로 빠르게 API를 개발할 수 있는 웹 프레임워크로써 최근에 많은 관심을 받고 있습니다. CI/CD 파이프라인은 소프트웨어 개발 과정에서 지속적 통합(Continuous Integration)과 지속적 배포(Continuous Deployment)를 자동화하기 위한 것으로, 이를 이용하여 FastAPI 애플리케이션을 효율적으로 배포할 수 있습니다.
FastAPI 애플리케이션 개발
FastAPI를 사용하여 간단한 RESTful API를 개발해보겠습니다. 먼저 FastAPI를 설치합니다.
pip install fastapi
다음은 간단한 FastAPI 애플리케이션의 예시입니다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello, World"}
GitHub 및 CI/CD 파이프라인 설정
- GitHub에 새로운 레포지토리를 생성하고, 코드를 푸시합니다.
- GitHub Actions를 사용하여 CI/CD 파이프라인을 설정합니다. 이를 통해 애플리케이션의 테스트, 빌드, 배포를 자동화할 수 있습니다.
name: Python application
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
run: pytest
위의 예시는 GitHub Actions를 사용하여 Python 애플리케이션을 빌드하고, 테스트하는 과정을 보여줍니다.
회고와 차후 계획
FastAPI를 사용하여 간단한 API를 개발하고, GitHub Actions를 이용하여 CI/CD 파이프라인을 설정해보았습니다. 이제 애플리케이션의 변경 사항을 GitHub에 푸시하면 자동으로 빌드 및 테스트가 수행되며, 성공 시 배포까지 자동으로 이루어집니다. 이를 통해 애플리케이션의 개발과 배포 과정을 효율적으로 관리할 수 있습니다.
이러한 방식으로 FastAPI와 CI/CD 파이프라인을 구축하여 애플리케이션을 개발하고 배포하는 데 있어 효율적으로 작업할 수 있게 되었습니다.
이상으로 FastAPI와 CI/CD 파이프라인 구축에 대한 포스트를 마치도록 하겠습니다.
참고 자료: FastAPI 공식 문서, GitHub Actions 공식 문서