fix(backend): Publish repariert - spawn git ENOENT und kaputter Image-Build
Publish schlug bei jedem Versuch mit "spawn git ENOENT" fehl, obwohl git im Container installiert ist. Node meldet ENOENT auch dann, wenn das cwd des Kindprozesses nicht existiert: initialize() setzte simple-git auf den Workspace, loeschte diesen per rm -rf und startete den Clone anschliessend aus dem geloeschten Verzeichnis heraus. Nebeneffekt davon: da Uploads unter GIT_WORKSPACE_DIR/public/images liegen, hat jeder fehlgeschlagene Publish die hochgeladenen Bilder mitgeloescht. git.service.ts: - Clone laeuft aus dem Elternverzeichnis statt aus dem geloeschten Ziel - Re-Clone nur noch wenn kein brauchbares Repo vorhanden ist - Uploads werden ueber den Re-Clone hinweg gesichert (Repo-Stand gewinnt) - commitAndPush scheitert nicht mehr, wenn es nichts zu committen gibt - reset() nur bei echtem Repo, mit Ausnahme fuer public/images - Token wird in Fehlermeldungen maskiert Dockerfile: - COPY von src/db/migrations entfernt. Das Verzeichnis war nie im Git und liess den Image-Build scheitern. Zur Laufzeit wird es nicht gebraucht, das Schema legt initDatabase() selbst an. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
+2
-1
@@ -39,8 +39,9 @@ RUN npm ci --omit=dev || npm install --production && \
|
||||
RUN apk del python3 make g++ vips-dev
|
||||
|
||||
# Copy built files from builder
|
||||
# Hinweis: Drizzle-Migrationen werden nicht kopiert - das Schema wird zur
|
||||
# Laufzeit von initDatabase() angelegt, src/db/migrations existiert nicht.
|
||||
COPY --from=builder /app/dist ./dist
|
||||
COPY --from=builder /app/src/db/migrations ./dist/db/migrations
|
||||
|
||||
# Copy migration script and migrated images
|
||||
COPY --from=builder /app/migrate-production.js ./migrate-production.js
|
||||
|
||||
Reference in New Issue
Block a user