name: Build And Test run-name: ${{ gitea.actor }} is runs ci pipeline on: push: branches: [ "main" ] pull_request: branches: [ "main" ] # paths-ignore: # - LICENCE # - 'docs/**' # - 'helm/**' jobs: build-and-push: runs-on: ubuntu-latest steps: - name: checkout source code uses: actions/checkout@v3 - name: Retrieve version # tag version id: img-ver uses: juliangruber/read-file-action@v1 with: path: ./version ### off-test ### # - name: Install Docker // 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: https://github.com/docker/setup-buildx-action@v1 # 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-ansible:${{ steps.img-ver.outputs.content }} . # - name: Push to Docker # run: docker push harbor.icurfer.com/msa-demo/msa-django-ansible:${{ steps.img-ver.outputs.content }} ### off-test ### ## 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-ansible" ref: main token: ${{ secrets.ACTION_TOKEN }} path: cd-msa-django-ansible # - name: Update Kubernetes resources # run: | # cd cd-msa-django-ansible/overlays/dev/ # kustomize edit set image harbor.icurfer.com/msa-demo/msa-django-ansible:${{ steps.img-ver.outputs.content }} # cat kustomization.yaml - name: Update Kubernetes resources run: | cd cd-msa-django-ansible/overlays/dev/ echo "✅ Updating image tag..." kustomize edit set image harbor.icurfer.com/msa-demo/msa-django-ansible:${{ steps.img-ver.outputs.content }} echo "✅ Creating dynamic patch for container name..." cat < patch-container-name.yaml - op: replace path: /spec/template/spec/containers/0/name value: msa-django-ansible-${{ steps.img-ver.outputs.content }} EOF # ↓↓↓ 여기가 포인트입니다 ↓↓↓ # patch-container-name.yaml 파일을 kustomization.yaml에 자동 추가 (중복 방지) if ! grep -q "patch-container-name.yaml" kustomization.yaml; then echo "patches:" >> kustomization.yaml echo " - path: patch-container-name.yaml" >> kustomization.yaml echo "✅ Added patch-container-name.yaml reference to kustomization.yaml" fi echo "✅ Final kustomization.yaml:" cat kustomization.yaml ## cd commit - name: Commit files run: | cd cd-msa-django-ansible 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