
Jenkins ist auf Ubuntu 18.04 installiert und läuft erfolgreich.
Als Teil unseres Projekterstellungsprozesses müssen wir die erstellten Dateien in einen bestimmten Ordner unter /var/www/html
(Apache-Ordner) kopieren. Unsere Build-/Ausführungsshell:
npm install
ng build --prod
cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/* /var/www/html/kagi-core/
Aber der Jenkins-Build schlägt beim letzten Kopierbefehl mit den folgenden Fehlern fehl:
23:18:10 + cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/3rdpartylicenses.txt /var/lib/jenkins/workspace/kagi-core/dist/core/assets ...
23:18:10 cp: cannot create regular file '/var/www/html/kagi-core/3rdpartylicenses.txt': Permission denied
...
...
Folgendes haben wir bisher getan/versucht:
Benutzer „Jenkins“ zu den Root- und Ubuntu-Gruppen hinzugefügt.
ubuntu@ip-172-31-15-215:/var/www/html$ groups jenkins jenkins : jenkins root ubuntu
Berechtigungen für Ordner /var/www/html/kagi-core auf Benutzer „jenkins“ geändert
drwxr-xr-x 3 ubuntu jenkins 4096 Sep 17 21:36 www .. drwxr-xr-x 3 ubuntu jenkins 4096 Sep 18 21:04 html .. drwxrwxrwx 4 ubuntu jenkins 4096 Sep 18 21:18 kagi-core
Was fehlt uns? Wir sind für jede Hilfe dankbar!
Antwort1
Beim Versuch, dies zu beheben, habe ich die Lösung gefunden. Hier als Referenz hinzufügen:
Bei genauer Betrachtung der Berechtigungen für /var/www
Ordner sind diese wie folgt
drwxr-xr-x 3 ubuntu jenkins 4096 Sep 17 21:36 www
Stattdessen sollte es andersherum sein (Benutzer „Jenkins“ zur Standardgruppe zulassen):
drwxr-xr-x 3 jenkins ubuntu 4096 Sep 17 21:36 www
Außerdem setzen wir die Gruppe auf die Standardeinstellungen zurückroot
Der Befehl, der das Problem löste, war also
cd /var
sudo chown -R jenkins:root www/
Danach waren die Jenkins-Builds erfolgreich (konnten in den /var/www/html
Ordner kopiert werden).