Dev #2
-23
@@ -1,23 +0,0 @@
|
|||||||
# Stage 1: Frontend build
|
|
||||||
FROM node:20-alpine AS frontend-build
|
|
||||||
WORKDIR /app/frontend
|
|
||||||
COPY frontend/package.json frontend/package-lock.json ./
|
|
||||||
RUN npm ci
|
|
||||||
COPY frontend/ ./
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# Stage 2: Backend + static frontend
|
|
||||||
FROM node:20-alpine AS runtime
|
|
||||||
WORKDIR /app/backend
|
|
||||||
COPY backend/package.json backend/package-lock.json ./
|
|
||||||
RUN npm ci --only=production
|
|
||||||
COPY backend/ ./
|
|
||||||
COPY --from=frontend-build /app/frontend/build ./public
|
|
||||||
|
|
||||||
ENV NODE_ENV=production
|
|
||||||
EXPOSE 4000 # Port wird über .env gesetzt
|
|
||||||
|
|
||||||
RUN chown -R node:node /app/backend
|
|
||||||
USER node
|
|
||||||
|
|
||||||
CMD ["node", "index.js"]
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
version: '3.8'
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
ports:
|
|
||||||
- "${PORT}:${PORT}"
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
restart: unless-stopped
|
|
||||||
@@ -44,9 +44,18 @@ fi
|
|||||||
SELECTED_BRANCH=${BRANCH_MAP[$choice]}
|
SELECTED_BRANCH=${BRANCH_MAP[$choice]}
|
||||||
echo "Wechsle zu Branch: $SELECTED_BRANCH"
|
echo "Wechsle zu Branch: $SELECTED_BRANCH"
|
||||||
|
|
||||||
# Wechseln, ggf. Branch erstellen, wenn nur Remote existiert
|
# Remote-Stand holen
|
||||||
|
git fetch origin
|
||||||
|
|
||||||
|
# Branch wechseln (lokal erstellen, falls nur remote vorhanden)
|
||||||
if git show-ref --verify --quiet refs/heads/$SELECTED_BRANCH; then
|
if git show-ref --verify --quiet refs/heads/$SELECTED_BRANCH; then
|
||||||
git checkout $SELECTED_BRANCH
|
git checkout $SELECTED_BRANCH
|
||||||
else
|
else
|
||||||
git checkout -b $SELECTED_BRANCH origin/$SELECTED_BRANCH
|
git checkout -b $SELECTED_BRANCH origin/$SELECTED_BRANCH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Arbeitsverzeichnis exakt auf Remote-Branch zurücksetzen
|
||||||
|
git reset --hard origin/$SELECTED_BRANCH
|
||||||
|
git clean -fd
|
||||||
|
|
||||||
|
echo "Branch '$SELECTED_BRANCH' ist nun aktiv. Arbeitsverzeichnis entspricht exakt dem Remote-Stand."
|
||||||
|
|||||||
Reference in New Issue
Block a user