Jenkins用户在部署时获得“权限被拒绝”

时间:2019-01-24 14:55:21

标签: jenkins deployment

部署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并手动执行批处理文件,一切正常。知道为什么Jenkins拒绝复制文件吗?有没有办法得到更详细的错误消息。来自詹金斯?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

找到了适用于我的环境的解决方案(Jenkins as Windows Service):

  1. 分配给Jenkins服务的默认系统用户必须更改为登录的Windows用户。

  2. 即使这样做,Jenkins即服务也不知道映射的网络驱动器,因此,如果必须部署到本地网络共享,则必须将它们更改为UNC路径。