jenkins - 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 并手动执行批处理文件,一切正常。知道詹金斯为什么拒绝复制文件吗?有没有办法获得更详细的错误消息。从詹金斯?
解决方案
我看到你在 Windows 上运行 Jenkins。首先检查是否允许启动 Jenkins 的用户在您的目录上写入。如果不是这种情况,请使用允许在该目录中写入的用户重新启动 Jenkins。
推荐阅读
- c++ - 为什么我会收到主题行的分段错误
- java - 为什么它只上传 3 的 1 张照片而数据库没有获取所有字段?
- java - 如何对每个单词的第一个字符进行大小写反转?
- c# - 如何获取下拉列表的枚举值?目前 text 和 value 都是一样的
- python-3.x - 如何在函数python中MagicMock函数
- c - 在 GLUT 中,我的显示函数在哪里被调用?
- java - 根据 String 和 Int 检查用户输入的字符串
- angular - GIT 中的 Angular 项目。无法在本地开发
- python - python - 从python中的另一个文件更新变量时如何解决需要重新启动程序的问题
- python - PyMC3,NUTS 采样器,这里发生了什么?