name: Build Docker Image on: push: branches: - main tags: - "v*" jobs: build-backend: runs-on: docker steps: - name: Checkout repository uses: actions/checkout@v4 - name: Login to Docker registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | \ docker login git.koppkb.com \ -u "${{ secrets.REGISTRY_USERNAME }}" \ --password-stdin - name: Build & push backend image run: | set -e IMAGE="git.koppkb.com/kopkb/qms-be" TAGS="-t ${IMAGE}:${{ gitea.sha }}" if [ "${{ gitea.ref_type }}" = "tag" ] && echo "${{ gitea.ref_name }}" | grep -q '^v'; then TAGS="${TAGS} -t ${IMAGE}:${{ gitea.ref_name }}" fi echo "Building and pushing backend: ${TAGS}" docker buildx build \ --platform linux/amd64 \ --cache-from type=registry,ref=${IMAGE}:buildcache,ignore-error=true \ --cache-to type=registry,ref=${IMAGE}:buildcache,mode=max \ -f be/Dockerfile \ ${TAGS} \ --push \ be build-admin: runs-on: docker steps: - name: Checkout repository uses: actions/checkout@v4 - name: Login to Docker registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | \ docker login git.koppkb.com \ -u "${{ secrets.REGISTRY_USERNAME }}" \ --password-stdin - name: Build & push admin frontend image run: | set -e IMAGE="git.koppkb.com/kopkb/qms-fe-admin" TAGS="-t ${IMAGE}:${{ gitea.sha }}" API_URL="${{ secrets.VITE_API_URL }}" CUSTOMER_URL="${{ secrets.VITE_CUSTOMER_APP_URL }}" if [ -z "${API_URL}" ]; then echo "ERROR: Set Gitea secret VITE_API_URL (e.g. http://YOUR_SERVER_IP:8080)" exit 1 fi if [ "${{ gitea.ref_type }}" = "tag" ] && echo "${{ gitea.ref_name }}" | grep -q '^v'; then TAGS="${TAGS} -t ${IMAGE}:${{ gitea.ref_name }}" fi echo "Building and pushing admin: ${TAGS}" docker buildx build \ --platform linux/amd64 \ --build-arg VITE_API_URL="${API_URL}" \ --build-arg VITE_CUSTOMER_APP_URL="${CUSTOMER_URL:-http://localhost:3000}" \ --cache-from type=registry,ref=${IMAGE}:buildcache,ignore-error=true \ --cache-to type=registry,ref=${IMAGE}:buildcache,mode=max \ -f fe/web/admin-app/Dockerfile \ ${TAGS} \ --push \ fe/web/admin-app build-teller: runs-on: docker steps: - name: Checkout repository uses: actions/checkout@v4 - name: Login to Docker registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | \ docker login git.koppkb.com \ -u "${{ secrets.REGISTRY_USERNAME }}" \ --password-stdin - name: Build & push teller frontend image run: | set -e IMAGE="git.koppkb.com/kopkb/qms-fe-teller" TAGS="-t ${IMAGE}:${{ gitea.sha }}" API_URL="${{ secrets.VITE_API_URL }}" if [ -z "${API_URL}" ]; then echo "ERROR: Set Gitea secret VITE_API_URL (e.g. http://YOUR_SERVER_IP:8080)" exit 1 fi if [ "${{ gitea.ref_type }}" = "tag" ] && echo "${{ gitea.ref_name }}" | grep -q '^v'; then TAGS="${TAGS} -t ${IMAGE}:${{ gitea.ref_name }}" fi echo "Building and pushing teller: ${TAGS}" docker buildx build \ --platform linux/amd64 \ --build-arg VITE_API_URL="${API_URL}" \ --cache-from type=registry,ref=${IMAGE}:buildcache,ignore-error=true \ --cache-to type=registry,ref=${IMAGE}:buildcache,mode=max \ -f fe/web/teller-app/Dockerfile \ ${TAGS} \ --push \ fe/web/teller-app # --- Customer (Next.js) — enable when ready --- # build-customer: # runs-on: docker # ...