我正在尝试在MSBuild文件中运行自定义命令; 它基本上运行'git log -10'并将提交信息存储到文本文件中.
问题是,当我尝试运行构建时,它会出现"致命:不是git存储库"的错误.所以我检查了TeamCity的项目工作目录,没有.git目录!
为什么TeamCity在克隆存储库时不会创建.git目录?有没有办法实现这个?
编辑:TeamCity版本是7.1.2; 我将尝试更新到8.0.1以查看是否有可用的选项.
我有一个TeamCity代理配置为构建我的XCode项目,我使用github.我想在我的发行说明中自动包含TeamCity中所有待处理提交的描述.
如何从github获取它们并将它们存储在teamcity中?一旦我将它们放入teamcity变量中,我就可以轻松地将它们添加到我的构建脚本中.
我需要在TeamCity构建步骤中执行git命令.
这些git命令需要为git repo使用基于SSH的url,以便作为git服务器的特权用户进行身份验证(因为这些git命令实际上会修改git repo,而不仅仅是读取它).
我知道这个问题.
我已经在VCS结帐模式"自动代理".VCS根目录已正确配置ssh并且运行良好.
但是,正如文档中所述,TeamCity
暂时将密钥保存在代理的文件系统上,并在git fetch/clone完成后将其删除.
因此,即使TeamCity在代理端检出期间正确使用了SSH密钥,也会在以后的构建中故意无法访问该密钥.
但是我真的想在以后使用密钥!
git命令生成的输出是:
[06:12:29][Step 3/4] Permission denied (publickey).
[06:12:29][Step 3/4] fatal: Could not read from remote repository.
[06:12:29][Step 3/4] 
[06:12:29][Step 3/4] Please make sure you have the correct access rights
[06:12:29][Step 3/4] and the repository exists.
我已确认该known_hosts文件存在并包含相应的公钥.我还确认C:\Users\systeamcityagent\.ssh它不包含任何私钥(如预期的那样).
我正在运行TeamCity Enterprise 9.1.3.
推荐的解决方案是什么?