
Jenkins は Ubuntu 18.04 にインストールされており、正常に実行されています。
プロジェクトのビルド プロセスの一環として、ビルドされたファイルを/var/www/html
(Apache フォルダー) の下の特定のフォルダーにコピーする必要があります。ビルド / 実行シェル:
npm install
ng build --prod
cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/* /var/www/html/kagi-core/
しかし、jenkins ビルドは最後のコピー コマンドで次のエラーが発生して失敗します。
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
...
...
これまでにやったこと/試したことは次のとおりです:
「jenkins」ユーザーを root および ubuntu グループに追加しました。
ubuntu@ip-172-31-15-215:/var/www/html$ groups jenkins jenkins : jenkins root ubuntu
/var/www/html/kagi-core フォルダの権限を「jenkins」ユーザーに変更しました
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
何が足りないのでしょうか? ご協力いただければ幸いです!
答え1
これを修正しようとしているときに、解決策を見つけました。参考のためにここに追加します:
よく観察すると、フォルダの権限は/var/www
次のようになります。
drwxr-xr-x 3 ubuntu jenkins 4096 Sep 17 21:36 www
ただし、その逆 (「jenkins」ユーザーをデフォルト グループに許可する) にする必要があります。
drwxr-xr-x 3 jenkins ubuntu 4096 Sep 17 21:36 www
また、グループをデフォルトにリセットしますroot
そこでこの問題を解決したコマンドは
cd /var
sudo chown -R jenkins:root www/
この後、jenkins ビルドは成功しました (フォルダーにコピーできました/var/www/html
)。