首页 > 解决方案 > Jenkins 用户在部署时获得“权限被拒绝”

问题描述

部署 PDF 文档 Jenkins 执行一个简单的批处理文件:

@echo off
REM
REM Adapt the filepath as needed
REM
set PDF_OUTPUT_DIR="F:\svnWorkingCopy\kostra\trunk\DITA\__out_pdf"
set PDF_DEPLOY_DIR="\\FILE-SRV01\Austausch\Setup_Masterbuild\KOSTRA_AKVS\Deutsch\KostraAKVS"
del %PDF_DEPLOY_DIR%\KostraUserManual.pdf /F /Q
copy %PDF_OUTPUT_DIR%\kostra.pdf %PDF_DEPLOY_DIR%\KostraUserManual.pdf /Y

它在许可被拒绝的情况下退出。控制台输出结束(德语)是:

[kostra] $ cmd /c call C:\Windows\TEMP\jenkins1093559218605334188.bat

F:\svnWorkingCopy\kostra>F:\svnWorkingCopy\kostra\trunk\DITA\kostra-pdf-deploy.bat
Zugriff verweigert
        0 Datei(en) kopiert.
Build step 'Windows Batch-Datei ausführen' marked build as failure
Archiviere Artefakte
Discard old builds...
#111 is removed because old than numToKeep
Sending e-mails to: fjk@akgsoftware.de
Finished: FAILURE

Jenkins 用户是登录该机器(Win Server 2012 r2)并拥有所有 Jenkins 权限的用户。

如果我打开 CMD 并手动执行批处理文件,一切正常。知道詹金斯为什么拒绝复制文件吗?有没有办法获得更详细的错误消息。从詹金斯?

标签: jenkinsdeployment

解决方案


我看到你在 Windows 上运行 Jenkins。首先检查是否允许启动 Jenkins 的用户在您的目录上写入。如果不是这种情况,请使用允许在该目录中写入的用户重新启动 Jenkins。


推荐阅读