name: build-and-push on: push: branches: [master, main] # DinD sidecar(같은 pod, loopback)의 docker daemon 주소. # runner config의 container.docker_host/options 는 act_runner 0.2.11에서 # job 안 env로 전파 안 됨 → workflow 레벨에서 명시. env: DOCKER_HOST: tcp://localhost:2375 jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install docker CLI # runner 이미지(node:20-bullseye)에 docker CLI 없음 → DinD sidecar 도달용 client 설치. run: | apt-get update -qq apt-get install -y --no-install-recommends docker.io - name: Login to Gitea registry env: REG_USER: ${{ secrets.REGISTRY_USER }} REG_PW: ${{ secrets.REGISTRY_TOKEN }} run: echo "$REG_PW" | docker login git.special-partners.com -u "$REG_USER" --password-stdin - name: Build + push run: | SHA_TAG=git.special-partners.com/admin/spin-backend:${{ github.sha }} LATEST=git.special-partners.com/admin/spin-backend:latest docker build -t "$SHA_TAG" -t "$LATEST" . docker push "$SHA_TAG" docker push "$LATEST" - name: Hint run: | echo "::notice::Pushed git.special-partners.com/admin/spin-backend:${{ github.sha }} (+ :latest)" echo "::notice::배포는 ArgoCD Image Updater 가 :latest digest 추적 → infra repo write-back 으로 자동 반영 (수동 set image 불필요)."