1

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

每当我们在 TeamCity 中进行干净构建(干净的签出目录)时,文件的修改时间就是构建运行的时间。我们需要它是最后一次提交时间,所以它是可靠的。

我们在这里使用了提交钩子: git 的 use-commit-times 是什么? 我得到了在我的个人仓库中工作的钩子,但在 TeamCity 中实施时它似乎不起作用。

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

4

1 回答 1

0

经过很多圈,我终于让它工作了。

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