私はこれに似た問題を抱えています: 宛先ディレクトリへの特権がない場合にJenkinsの「ビルド後」アクションとしてファイルをコピーする方法
ファイルをjenkinsワークスペースからに移動/コピー/ rsyncしたい
/ var/www/app
に設定された権利を持つ
Apache:Apache
グループにジェンキンスを追加しましたApache、しかしジェンキンスのインスタンスファイルを/ var/www/appにコピーできません。
/ var/www/appの権限をApache:jenkinsに設定してみましたが、それでもJenkinsはエラーを吐き出し続けます:アクセスが拒否されたか、操作が許可されていません
PS:OSを追加するのを忘れたのはcentOSです;)
編集1:これはjenkinsスクリプトrunnigからのログです:
[ワークスペース] $/bin/sh -xe /tmp/hudson1379987233097some_more_numbers.sh + sh/path_to_sh_script/script.sh増分ファイルリストの送信
応用/
rsync:「/ var/www/app/application」に権限を設定できませんでした:操作は許可されていません(1)
そしてこれはスクリプト自体です:)
#!/ bin/bash
rsync -avzh/path/to/jenkins/jobs/app/workspace/default/application/var/www/app;
rsync -avzh/path/to/jenkins/jobs/app/workspace/default/library/var/www/app;
rsync -avzh/path/to/jenkins/jobs/app/workspace/default/public/var/www/app;
コメントで長く実りある議論をした後、 このリンク ユーザーは問題を解決することができました
--no-perms --omit-dir-times
rsync
オプションに。
問題を解決するための予備的な試み:
セキュリティが短期間気にならない場合は、試してみてください
chmod a+rwx /var/www/app
次に、このディレクトリに書き込もうとします。サブディレクトリがある場合は、以下を使用して再帰的に実行する必要があることに注意してください。
chmod --recursive a+rwx /var/www/app
成功した場合は、権限の削除を徐々に開始できます。これは、問題を特定するのに役立ちます。
ユーザーjenkinsがすでにApacheのグループメンバーであることを確認します。
groups Apache
同様の問題がありました。 Jenkinsのローカルホストの/ var/wwwに書き込みたいと思いました。私のサーバーでは、/ var/wwwはwww-dataによって所有されているため、jenkinsをwww-dataグループに追加し、/ var/wwwグループを書き込み可能にしましたが、許可拒否エラーが発生し続けました。 jenkinsサービスを再起動するだけで問題が解決しました。
まず、sshキー交換を使用したSSHを使用してLinuxまたはApacheサーバーをJenkinサーバーに追加します。そして、Linux/Apacheサーバーにjenkin(unix user)というユーザーを作成します。プル/プッシュファイルに対してsshを実行する場合、jenkinは「jenkin」を標準ユーザーとして使用するためです。
UNIXのjenkinグループにApacheユーザーを追加すると役立つ場合があります。