CI - Git Action
- (FE, BE) Github Action 으로 Docker image 빌드
- docker image 를 ncp container registry로 push
- 바뀐 도커 이미지 이름으로 argocd가 observe하는 레포지토리에 존재하는 yaml의 도커 이미지 이름 변경
CD - ArgoCD
- 3 분 간격으로 레포지토리의 변경 확인
- 바뀐 도커 이미지로 파드 재생성
1️⃣ CI
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가 움직임 -> 이 부분을 프로젝트 기간 내에는 구현하지 못했습니다..