是否可以将参数添加到TeamCity执行的git clone操作作为CI管道的第一步?我想添加" -c core.longpaths = true"。 怎么做?
答案 0 :(得分:1)
我发现TeamCity与git的互动非常令人沮丧。你确定它甚至做了year=2017
命令吗?因为在我的测试中,它没有......
无论如何,一些可能符合您需求的选项:
您可以使用手动结帐,然后您的结帐流程可以是您想要的任何内容。在您的版本控制设置中,您可以将 VCS结帐模式设置为不自动结帐文件。然后,您将完全按照您喜欢的方式执行git checkout过程作为第一个构建步骤。
如果那是不可管理的......其他选择就是黑客攻击。它们确实需要代理端签出,并且必须对每个代理执行步骤。
我假设将clone
设置放在系统配置文件中并不是一个可行的选项(因为它会影响代理上的所有回购)。
您可以尝试的一个选项是运行一次作业并使用构建日志来查找结帐目录;然后转到代理上的那个目录 - 这将是一个git repo。删除.git目录以外的所有内容,然后运行longpaths
设置git config
。后续构建 - 只要它们重用了checkout目录 - 就可以获得设置。
或者你可以编写一个包装器脚本,将你想要的参数添加到命令行并调用git。 VCS root可以指定" git可执行文件"使用,所以你可以指向你的包装。如果可以将参数应用于给定构建中的每个 git调用,这是有效的 - 在您的情况下可能没问题。 (如果没有,您必须检查命令行以决定何时应用它。)