Skip to content

Update qa.yml

Update qa.yml #4

Workflow file for this run

name: Docker Image CI
on:
push:
branches: ["qa"]
env:
dockerimage_tag: ${{ github.sha }}
dockerimage_name: harbor.k8s.scg.skku.ac.kr/library/ice-gs-thesis-be
DATABASE_URL_QA: ${{secrets.DATABASE_URL_QA}}
JWT_SECRET: ${{secrets.JWT_SECRET}}
MINIO_SECRET_KEY: ${{secrets.MINIO_SECRET_KEY}}
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- name: --------------- Code Repo ---------------
run: echo "Code Repo"
- name: Code Repo 불러오기
uses: actions/checkout@v4
- name: Docker 준비(1/4) - 메타데이터 생성
id: meta
uses: docker/metadata-action@v5.5.1
with:
images: |
${{ env.dockerimage_name }}
tags: |
${{ env.dockerimage_tag }}
latest
flavor: |
latest=true
- name: Docker 준비(2/4) - QEMU 설정
uses: docker/setup-qemu-action@v3
- name: Docker 준비(3/4) - buildx 설정
uses: docker/setup-buildx-action@v3
- name: Docker 준비(4/4) - 레지스트리 로그인
uses: docker/login-action@v2
with:
registry: ${{ secrets.HARBOR_REGISTRY }}
username: ${{ secrets.HARBOR_USERNAME }}
password: ${{ secrets.HARBOR_PASSWORD }}
- name: env 파일 생성
run: |
echo APP_ENV=${{secrets.APP_ENV}} >> .env
echo APP_PORT=${{secrets.APP_PORT}} >> .env
echo DATABASE_URL=$DATABASE_URL_QA >> .env
echo JWT_SECRET=$JWT_SECRET >> .env
echo MINIO_END_POINT=${{secrets.MINIO_END_POINT}} >> .env
echo MINIO_PORT=${{secrets.MINIO_PORT}} >> .env
echo MINIO_ACCESS_KEY=${{secrets.MINIO_ACCESS_KEY}} >> .env
echo MINIO_SECRET_KEY=$MINIO_SECRET_KEY >> .env
echo MINIO_BUCKET_NAME=${{secrets.MINIO_BUCKET_NAME_QA}} >> .env
cat .env
- name: Docker 이미지 빌드+푸시
id: build-and-push
uses: docker/build-push-action@v5.1.0
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
provenance: false
- name: --------------- Config Repo ---------------
run: echo "[Config Repo]"
- name: Config Repo 불러오기
uses: actions/checkout@v4
with:
repository: SystemConsultantGroup/ice-grad-thesis-config
ref: main
token: ${{ secrets.ACTION_TOKEN }}
path: ice-grad-thesis-config
- name: Kustomize 준비
uses: imranismail/setup-kustomize@v2.0.0
- name: Config Repo 이미지 값 업데이트 (Kustomize)
run: |
cd ice-grad-thesis-config/overlays/qa/be/
kustomize edit set image ${{ env.dockerimage_name }}:${{ env.dockerimage_tag }}
cat kustomization.yaml
- name: Config Repo 변경사항 푸시
run: |
cd ice-grad-thesis-config
git config --global user.email "wefwef12e@naver.com"
git config --global user.name "hynseok"
git commit -am "Update image tag"
git push -u origin main
- name: --------------- Clean Up ---------------
run: echo "Clean Up"