【问题标题】:How to change permission of Jenkins default directory from Read only?如何将 Jenkins 默认目录的权限从只读更改?
【发布时间】:2017-10-24 06:23:55
【问题描述】:

我在 windows 2012 中通过 MSI 安装了 Jenkins。默认情况下,它的默认目录带有只读权限。因此,当我运行构建时,当它试图复制发布文件夹下的工件时,我得到了对工作区的拒绝访问权限。

错误: 将文件从“D:\foo.dll”复制到“bin\Debug\foo.dll”。 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3540,5):错误 MSB3021:无法将文件“D:\jenkins\workspace\foo.dll”复制到“bin\Debug \foo.dll”。拒绝访问路径“bin\Debug\foo.dll”。 [D:\jenkins\workspace\foo.csproj]

我尝试手动更改权限。它适用于旧项目。有了新工作,它再次将权限更改为只读。我已经使用管理员权限安装了它。 Jenkins 作为服务运行。当我通过服务检查时,它以“本地系统帐户”身份登录运行。

谁能告诉我如何解决 Jenkins 的权限问题? 提前谢谢!

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    最佳实践是确保 Windows 服务作为可以访问 Internet 的服务帐户运行(特别是 nuget.org 和/或 maven Central,用于与这两个站点进行通信以进行依赖管理)和服务帐户在构建机器上的管理员组中。

    当我开始一个新项目时,服务帐户是我首先要求的东西之一,有时,由于愚蠢的公司安全繁文缛节,这是最难获得的东西。

    您还可以编写一个调用icacls.exe 的批处理文件以递归设置权限。 This 也很有用。

    但请注意这一点,因为随着 JENKINS_HOME 中的文件数量随着时间的推移而增长,此类作业的运行时间可能会呈指数增长。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-29
      • 2014-07-20
      相关资源
      最近更新 更多