Untitled

CI - Git Action

  1. (FE, BE) Github Action 으로 Docker image 빌드
  2. docker image 를 ncp container registry로 push
  3. 바뀐 도커 이미지 이름으로 argocd가 observe하는 레포지토리에 존재하는 yaml의 도커 이미지 이름 변경

CD - ArgoCD

  1. 3 분 간격으로 레포지토리의 변경 확인
  2. 바뀐 도커 이미지로 파드 재생성

1️⃣ CI

Untitled

BE

name: Build and Push

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - name: Checkout Repository
      uses: actions/checkout@v3

    - name: Set up Docker Buildx
      uses: docker/[email protected]
      
    - name: Login to NCP Container Registry
      uses: docker/[email protected]
      with:
        registry: ${{ secrets.NCP_CONTAINER_REGISTRY }}
        username: ${{ secrets.NCP_ACCESS_KEY }}
        password: ${{ secrets.NCP_SECRET_KEY }}
        
    - name: build and push
      uses: docker/build-push-action@v3
      with:
        context: .
        file: ./Dockerfile
        push: true
        tags: ${{ secrets.NCP_CONTAINER_REGISTRY }}/fastapi-be:latest 
        cache-from: type=registry,ref=${{ secrets.NCP_CONTAINER_REGISTRY }}/fastapi-be:latest 
        cache-to: type=inline

# 깃허브에 트리거 줘야 argocd가 움직임 -> 이 부분을 프로젝트 기간 내에는 구현하지 못했습니다..