使用TeamCity将git commit时间保留为修改时间

时间:2012-11-07 16:17:47

标签: git teamcity

我们正在尝试使用TeamCity将更改的文件从git部署到我们的Web服务器。为此,我们需要将修改后的文件时间戳作为我们中央仓库中的最后一次提交时间。

每当我们在TeamCity中执行干净构建(清理结帐目录)时,文件的修改时间就是构建运行的时间。我们需要它是最后的提交时间,因此它是可靠的。

我们在这里使用了提交钩子: What's the equivalent of use-commit-times for git? 我得到了我的个人仓库工作的钩子,但在TeamCity中实现它似乎不起作用。

我们如何让TeamCity使用上次提交时间作为文件的修改时间?

1 个答案:

答案 0 :(得分:0)

经过多次努力,我终于开始工作了。

  1. 使用此脚本添加结帐后收到后 git挂钩:https://stackoverflow.com/a/11543788/444917
  2. 将挂钩放置在构建代理
  3. 上的C:\Program Files (x86)\Git\share\git-core\templates\hooks\
  4. 配置TeamCity构建以使用代理端VCS签出(编辑构建配置> VCS>将VCS签出模式设置为自动代理)。注意,这可能会导致第一次构建非常慢,因为它会提取所有提交。
  5. 我们还在构建之间使用了工件依赖项。为了保留那里的时间戳,我们不得不压缩文件并将zip存储为工件。请参阅http://youtrack.jetbrains.com/issue/TW-10941