36 lines
1.5 KiB
YAML
36 lines
1.5 KiB
YAML
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 불필요)."
|