谁能帮我从 TFS 2013 中获取与我当前正在创建的构建关联的 git 提交列表?
目前我在做
- 构建我的 Azure 云服务
- 使用msbuild任务获取版本号
- 更新我的 nuspec 中的版本号
- 使用nuget.exe打包成一个nuget包
- 使用nuget.exe推送到 Octopus 服务器
- 使用 octo.exe 创建一个版本并将其部署到暂存区
我还想做的是将已附加到 TFS 中的构建定义摘要页面的提交列表添加到我的 nuspec 的发行说明部分,以便它包含在 octopus 版本中。
有人指出我正确的方向吗?
谢谢!
编辑
那么让我们稍微调整一下这个问题,有谁知道如何获取与给定构建定义的最后一个构建关联的 GiT 提交?它必须存储在 TFS 中的某个地方,因为这必须是它用来生成列表的方法。
如果我能捕获它,那么我就可以跑
git log <last commit>^..HEAD --format="%ci - %cn - [%h](<path to my TFS>/commit/%H) %s%n" > rn.txt
这将允许我将我的 octo create-release 命令更改为
octo create-release --server=<server> --version=<version> --project=<proj> --apikey=<key> --releasenotefiles=rn.txt
要开心:-)
编辑 2 我使用的是 TFS 而不是 VSO,所以我无法访问 REST API
最佳答案
所以我可能被否决了,因为我可以使用 git 来完成这一切,但是指出这一点的评论会很好。
无论如何,
因为我是 git 的新手,所以我错过了一个事实,我可以创建一个标签并使用它来代替提交 ID,然后运行到 HEAD 版本以获取它们之间的所有提交
git log <last tag>..HEAD --format="%ci - %cn - [%h](<path to my TFS>/commit/%H) %s%n" > rn.txt
非常适合我的目的。
关于git - TFS 构建定义关联的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27081857/