빈티지 테라피

GitHub Actions을 이용한 CI/CD 파이프라인 구축하기 본문

코드 테라피

GitHub Actions을 이용한 CI/CD 파이프라인 구축하기

밍키스튜디오 2023. 8. 8. 23:50
반응형

목차

  1. GitHub Actions 소개
  2. CI/CD 파이프라인 개념
  3. GitHub 저장소 설정
  4. GitHub Actions 워크플로우 파일 작성하기
  5. CI 파이프라인 작성
  6. CD 파이프라인 작성
  7. 파이프라인 소개
  8. 결론

1. GitHub Actions 소개

GitHub Actions는 GitHub의 자동화 도구로, 저장소에 대한 다양한 작업을 자동화 할 수 있습니다. 특히 이 글에서는, GitHub Actions를 사용하여 CI/CD(지속적 통합/지속적 배포) 파이프라인을 구축하는 방법을 소개합니다.

2. CI/CD 파이프라인 개념

CI (Continuous Integration)는 지속적 통합을 의미하며, 개발자가 여러 번에 걸쳐서 코드를 공유하여 해당 코드가 건전한지 확인하는 과정입니다.

CD (Continuous Deployment)는 지속적 배포를 의미하며, 변경사항이 자동으로 빌드되고 테스트되어, 프로덕션 환경에 배포하는 것입니다. 이를 통해 빠르게 반복하며 개발 프로세스를 개선할 수 있습니다.

3. GitHub 저장소 설정

코드를 저장할 새로운 GitHub 저장소를 생성하거나, 이미 작업 중인 저장소를 선택합니다.

4. GitHub Actions 워크플로우 파일 작성하기

루트 디렉토리에 .github/workflows 폴더를 생성한 후 ci_cd_pipeline.yml 파일을 작성합니다.

name: CI/CD Pipeline

on:
  push:
    branches:
      - main

jobs:
  build:
    ---
  test:
    ---
  deploy:
    ---

5. CI 파이프라인 작성

ci_cd_pipeline.yml 파일에 CI 과정을 작성합니다. 다음은 Python 프로젝트에 대한 예시입니다.

  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Setup 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

6. CD 파이프라인 작성

ci_cd_pipeline.yml 파일에 배포 프로세스를 추가합니다. 다음은 Heroku를 사용하여 파이썬 애플리케이션을 배포하는 예입니다.

  deploy:
    runs-on: ubuntu-latest
    needs: test

    steps:
    - name: Checkout code
      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: Deploy to Heroku
      uses: akhileshns/heroku-deploy@v3.12.12
      with:
        heroku_api_key: ${{ secrets.HEROKU_API_KEY }}
        heroku_app_name: "your-app-name"
        heroku_email: "your@email.com"

여기에서 secrets.HEROKU_API_KEY는 GitHub 저장소의 Secrets에 저장된 Heroku API 키를 의미합니다.

7. 파이프라인 소개

이제 GitHub Actions에서 CI/CD 파이프라인이 실행되고 있습니다. 코드 커밋이 있을 때마다 빌드 및 테스트와 배포가 자동으로 진행됩니다.

8. 결론

본문에서는 GitHub Actions를 사용하여 CI/CD 파이프라인을 설정하는 방법에 대해 설명했습니다. 이를 통해 코드 품질 관리와 프로젝트 출시 속도를 높일 수 있습니다. 여러분이 사용하는 기술 스택에 맞게 워크플로우를 설정할 수 있습니다.


반응형