【问题标题】:TeamCity SVN Checkout Failing Due to File Locks由于文件锁定,TeamCity SVN 签出失败
【发布时间】:2013-05-18 04:01:15
【问题描述】:

这是我的第一个 TeamCity 项目,我遇到了 SVN 结帐问题。

这是我在 TeamCity 中的 SVN 结帐设置:

  • VCS 结帐模式 - 自动在代理上
  • 结帐目录 - C:\BuildCheckouts[项目名称]
  • VCS 标记模式 - 不标记
  • 外部支持 - 全面支持
  • 默认配置目录 - 使用默认目录
  • 工作副本格式 - 1.5

在我第一次运行构建时,一切都运行良好,结帐发生,构建继续。然而,在我第二次结帐时,构建失败并且我收到以下错误消息:

[03:31:28]: Updating sources: Agent side checkout... (1s)
[03:31:30]: [Updating sources: Agent side checkout...] Failed to perform checkout on agent: org.tmatesoft.svn.core.SVNException: svn: Error during update from http://[Server Name]/svn/[Project Name] to C:\BuildCheckouts\[Project Name]
svn: Cannot create new file 'C:\BuildCheckouts\[Project Name]\Tools\.svn\lock': Access is denied

我已尝试搜索此特定错误,并提出了这篇旧文章 (2003),但它似乎不适用,因为我使用 NTFS 作为我的文件系统。

由于我的构建脚本在编译后运行测试,因此我需要将外部文件与实际代码一起下载到结帐目录。

我的配置设置不正确吗?

【问题讨论】:

  • 运行 TeamCity 构建代理的用户是否具有对该目录的修改和删除权限,或者只是创建?
  • 你也试过在结账前做一个 svn clean 吗?
  • 我希望您的第一个 TeamCity 项目不尝试更改所有设置 - 为什么不将结帐目录留空,以便 TeamCity 使用其默认设置?
  • @David M - 一定是目录/文件权限问题。我将结帐目录切换为默认,项目多次运行成功。

标签: svn continuous-integration teamcity


【解决方案1】:

尝试在有权修改机器上文件的特定用户帐户下运行 Teamcity 服务。我们正在这样做,还没有遇到这个问题。

【讨论】:

    【解决方案2】:

    TeamCity 的构建代理在特定用户下运行(检查构建代理的 windows 服务设置)。

    因此,该用户应该对 C:\BuildCheckouts 目录及以下目录具有完全访问权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 2011-06-11
      • 1970-01-01
      • 2018-04-24
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多