Files
msa-django-nhn/.github/workflows/build.yaml
icurfer 76cd46ec86 ci: version 파일 변경 시에만 트리거하도록 paths 필터 추가
이미지 태그 불변성 보장 및 자동 커밋 루프 방지.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 01:06:37 +09:00

72 lines
1.9 KiB
YAML

name: Build And Test
run-name: ${{ gitea.actor }} is runs ci pipeline
on:
push:
branches: [ "main" ]
paths:
- 'version'
pull_request:
branches: [ "main" ]
paths:
- 'version'
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: checkout source code
uses: actions/checkout@v3
- name: Retrieve version
id: img-ver
run: echo "content=$(cat ./version | tr -d '\n')" >> $GITHUB_OUTPUT
- name: Install Docker
run: |
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
if: runner.os == 'Linux'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Registry
run: docker login -u ${{ secrets.DOCKER_ID }} -p ${{ secrets.DOCKER_PW }} https://harbor.icurfer.com
- name: build
run: docker build -t harbor.icurfer.com/msa-demo/msa-django-nhn:${{ steps.img-ver.outputs.content }} .
- name: Push to Docker
run: docker push harbor.icurfer.com/msa-demo/msa-django-nhn:${{ steps.img-ver.outputs.content }}
## pre cd
- name: Setup Kustomize
uses: yokawasa/action-setup-kube-tools@v0.9.2
with:
kustomize: "3.7.0"
- name: Checkout kustomize repository
uses: actions/checkout@v3
with:
repository: "dev/cd-msa-django-nhn"
ref: main
token: ${{ secrets.ACTION_TOKEN }}
path: cd-msa-django-nhn
- name: Update Kubernetes resources
run: |
cd cd-msa-django-nhn/overlays/dev/
kustomize edit set image harbor.icurfer.com/msa-demo/msa-django-nhn:${{ steps.img-ver.outputs.content }}
cat kustomization.yaml
## cd commit
- name: Commit files
run: |
cd cd-msa-django-nhn
git config --global user.email "icurfer@gmail.com"
git config --global user.name "icurfer"
git commit -am "Update image tag"
git push -u origin main