name: Build & Push Hospitality on: push: branches: - master - dev jobs: build-and-push: runs-on: self-hosted env: REGISTRY: gitea.theriise.net/steinhelge 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 'master', andre ganger 'refs/heads/master' REF="${GITHUB_REF_NAME:-$GITHUB_REF}" REF="${REF#refs/heads/}" if [ "$REF" = "master" ]; 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 hospitality 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: | if [ "$TAG" = "dev" ]; then API_URL="http://t610:5005/api" else API_URL="http://t610:5004/api" fi docker build \ --build-arg VITE_API_URL=$API_URL \ -t $REGISTRY/hospitality-frontend:${TAG} \ -f src/hospitality-web/Dockerfile \ src/hospitality-web - name: Push Frontend (${{ env.TAG }}) run: | docker push $REGISTRY/hospitality-frontend:${TAG} # ---------- Backend API ---------- - name: Build API (${{ env.TAG }}) run: | docker build \ -t $REGISTRY/hospitality-api:${TAG} \ -f src/Hospitality.Backend/Dockerfile \ . # - name: Build API (${{ env.TAG }}) # run: | # docker build \ # -t $REGISTRY/hospitality-api:${TAG} \ # -f src/Hospitality.Backend/Dockerfile \ # src/Hospitality.Backend - name: Push API (${{ env.TAG }}) run: | docker push $REGISTRY/hospitality-api:${TAG} - name: Deploy containers run: | if [ "$TAG" = "dev" ]; then echo "Deploying DEV til /srv/hospitality-dev" cd /srv/hospitality-dev docker compose -p hospitality-dev pull docker compose -p hospitality-dev up -d elif [ "$TAG" = "latest" ]; then echo "Deploying PROD til /srv/hospitality-prod" cd /srv/hospitality-prod docker compose -p hospitality-prod pull docker compose -p hospitality-prod up -d else echo "TAG=$TAG er ikke dev eller latest - skipper auto-deploy." fi