fix(backend): Publish repariert - spawn git ENOENT und kaputter Image-Build #5

Merged
Kenzo merged 1 commits from fix/publish-git-enoent into main 2026-08-11 07:51:59 +00:00
Owner

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]

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]>
Kenzo added 1 commit 2026-08-11 07:41:34 +00:00
fix(backend): Publish repariert - spawn git ENOENT und kaputter Image-Build
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
88ad16c86f
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]>
Kenzo merged commit fdd3793ee1 into main 2026-08-11 07:51:59 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Kenzo/Gallus_Pub#5