[python] FastAPI와 CI/CD 파이프라인 구축

이번 포스트에서는 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 파이프라인 설정

  1. GitHub에 새로운 레포지토리를 생성하고, 코드를 푸시합니다.
  2. 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 공식 문서