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]}
|
||||
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
|
||||
git checkout $SELECTED_BRANCH
|
||||
else
|
||||
git checkout -b $SELECTED_BRANCH origin/$SELECTED_BRANCH
|
||||
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