feat: add Dockerfiles for frontend and backend, and a Gitea workflow for building and pushing images.
Build & Push Hospitality / build-and-push (push) Failing after 7s
Build & Push Hospitality / build-and-push (push) Failing after 7s
This commit is contained in:
@@ -0,0 +1,66 @@
|
|||||||
|
name: Build & Push Hospitality
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- 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 '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: |
|
||||||
|
docker build \
|
||||||
|
-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 \
|
||||||
|
src/Hospitality.Backend
|
||||||
|
|
||||||
|
- name: Push API (${{ env.TAG }})
|
||||||
|
run: |
|
||||||
|
docker push $REGISTRY/hospitality-api:${TAG}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# --- Build stage ---
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||||
|
WORKDIR /src
|
||||||
|
|
||||||
|
# Kopier alt
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Publiser i Release
|
||||||
|
RUN dotnet publish "Hospitality.Backend.csproj" -c Release -o /app/publish
|
||||||
|
|
||||||
|
# --- Runtime stage ---
|
||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Kopier publisert output
|
||||||
|
COPY --from=build /app/publish .
|
||||||
|
|
||||||
|
# Appen lytter standard til ASPNETCORE_URLS
|
||||||
|
EXPOSE 8080
|
||||||
|
ENV ASPNETCORE_URLS=http://0.0.0.0:8080
|
||||||
|
|
||||||
|
ENTRYPOINT ["dotnet", "Hospitality.Backend.dll"]
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# --- Build stage ---
|
||||||
|
FROM node:22 AS build
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Installer dependencies
|
||||||
|
COPY package*.json ./
|
||||||
|
RUN npm ci
|
||||||
|
|
||||||
|
# Kopier resten av koden
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Bygg for produksjon
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
# --- Runtime stage ---
|
||||||
|
FROM nginx:alpine
|
||||||
|
WORKDIR /usr/share/nginx/html
|
||||||
|
|
||||||
|
# Legg inn bygget frontend
|
||||||
|
COPY --from=build /app/dist .
|
||||||
|
|
||||||
|
# Nginx server som statisk side
|
||||||
|
EXPOSE 80
|
||||||
Reference in New Issue
Block a user