name: Build & Push MinAttest on: push: branches: - main - dev env: REGISTRY: gitea.theriise.net/steinhelge jobs: build-and-push: runs-on: self-hosted steps: - name: Checkout uses: actions/checkout@v4 # Finn ut hvilken tag vi skal bruke - name: Set image tag run: | # Gitea prøver å være kompatibel med GitHub Actions # Noen ganger er GITHUB_REF_NAME bare 'main', andre ganger 'refs/heads/main' REF="${GITHUB_REF_NAME:-$GITHUB_REF}" REF="${REF#refs/heads/}" if [ "$REF" = "main" ]; then TAG="latest" elif [ "$REF" = "dev" ]; then TAG="dev" else # fallback: bruk branchnavnet som tag, men uten skråstreker TAG="$(echo "$REF" | tr '/' '-')" fi echo "Bygger med TAG=$TAG" echo "TAG=$TAG" >> $GITHUB_ENV - name: Log in to Gitea Container Registry run: | echo "${{ secrets.REGISTRY_TOKEN }}" | docker login $REGISTRY -u steinhelge --password-stdin # ---------- Frontend ---------- - name: Build Frontend (${{ env.TAG }}) run: | docker build \ -t $REGISTRY/minattest-frontend:${TAG} \ -f frontend/minattest-app/Dockerfile \ frontend/minattest-app - name: Push Frontend (${{ env.TAG }}) run: | docker push $REGISTRY/minattest-frontend:${TAG} # ---------- Backend API ---------- - name: Build API (${{ env.TAG }}) run: | docker build \ -t $REGISTRY/minattest-api:${TAG} \ -f backend/Dockerfile \ backend - name: Push API (${{ env.TAG }}) run: | docker push $REGISTRY/minattest-api:${TAG} # ---------- App Host / BFF ---------- - name: Build App Host (${{ env.TAG }}) run: | docker build \ -t $REGISTRY/minattest-app-host:${TAG} \ -f frontend/minattest-app-host/Dockerfile \ frontend/minattest-app-host - name: Push App Host (${{ env.TAG }}) run: | docker push $REGISTRY/minattest-app-host:${TAG} - name: Deploy (docker compose pull + up) run: | cd /srv/minattest # ← Endre denne pathen hvis compose ligger et annet sted docker compose pull docker compose up -d