出于安全原因,我们认为如果Jenkins windows服务以没有管理员权限的用户身份运行会更好。然而,这导致Jenkins服务器启动时出现错误:
java.io.IOException: Access is denied at
java.io.WinNTFileSystem.createFileExclusively(Native Method) at
java.io.File.createTempFile(Unknown Source) at
hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:142)
Caused:
java.io.IOException: Failed to create a temporary file in C:Program Files (x86)Jenkins
用户(Windows 7,Active Directory用户(拥有Jenkins文件夹的所有权限(不包括"特殊权限",无法选择(。
作为非管理员用户运行Jenkins windows服务(服务器以及其他计算机上的从属服务器(是否可能/合理?
我建议在辅助分区中安装Jenkins,如G:Jenkins
。
即使您没有辅助分区,C:Jenkins
也比C:Program FilesJenkins
或C:Program Files(x86)Jenkins
更好,以避免操作系统不必要地妨碍您。
有了这一点,我总是将Jenkins服务设置为以用户身份运行(最好是具有不过期密码的服务帐户(,该用户是盒子上Administrators组的成员。
这样做通常可以避免许多不必要的恼人权限问题,这些问题只会阻碍您的进度。
需要注意的是,当涉及到Windows批处理步骤时,Jenkins不会以管理员身份运行(至少自2007年以来,我一直在使用Jenkins(。
似乎允许Jenkins服务帐户访问";C: \Program Files\Jenkins"和SeServiceLogonRight就足够了。