Deployment reparieren: git safe.directory und Schreibrechte fuer www-data
Der Webhook lief, brach aber sofort ab:
fatal: detected dubious ownership in repository at '/var/www/html'
Das Repo gehoert einem anderen Benutzer als dem, unter dem PHP-FPM
laeuft. Git verweigert daraufhin jede Operation, und weil deploy.php
die Schritte mit && verkettet, wurde hugo nie erreicht. Auf main
gepushte Aenderungen gingen deshalb nie live - die Seite zeigte immer
den Stand des letzten Containerstarts, weil nur der Entrypoint als
root gebaut hat.
Der Entrypoint traegt jetzt systemweit safe.directory fuer das Repo
und das Theme-Submodule ein und uebergibt das Verzeichnis an www-data,
damit git pull und der hugo-Build tatsaechlich schreiben koennen.
Greift erst nach einem Neubau des Containers - der laufende Container
kann sich nicht selbst reparieren.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,15 @@ set -e
|
||||
PHP_FPM=$(find /usr/sbin -name 'php-fpm*' | head -1)
|
||||
$PHP_FPM
|
||||
|
||||
# deploy.php laeuft als www-data, das Repo gehoert einem anderen Benutzer.
|
||||
# Ohne diese Ausnahme bricht git mit "detected dubious ownership" ab und die
|
||||
# &&-Kette in deploy.php erreicht hugo nie. --system gilt fuer alle Benutzer.
|
||||
git config --system --add safe.directory /var/www/html
|
||||
git config --system --add safe.directory /var/www/html/themes/gokarna
|
||||
|
||||
# www-data muss ins Repo schreiben koennen (git pull, hugo nach public/).
|
||||
chown -R www-data:www-data /var/www/html || true
|
||||
|
||||
# Initial Hugo build
|
||||
cd /var/www/html
|
||||
git submodule update --init --recursive
|
||||
|
||||
Reference in New Issue
Block a user