我想实现NuGet包的自动语义版本控制作为VSTS构建步骤(实际上是在cakebuild步骤中)。问题是,虽然获得正在执行的分支构建很容易,但我不知道如何获得关于哪个分支被合并到主分支的信息(修补版本的热修复分支,或者次要版本的带有新功能的开发分支) (buildSystem.TFBuild.Environment.Repository.Branch),。这是可能的,还是我应该接受每个版本更新都需要手动Nuspec编辑?看起来gitflow有内置的机制来识别这些,例如基于分支名称,但我们根本不使用它。
发布于 2018-02-27 03:09:20
您可以使用GitVersion工具和别名从git历史记录/分支断言版本,示例用法:
#tool "nuget:https://api.nuget.org/v3/index.json?package=GitVersion.CommandLine&version=3.6.2"
if (!BuildSystem.IsLocalBuild)
{
GitVersion(new GitVersionSettings{
OutputType = GitVersionOutput.BuildServer
});
}
GitVersion assertedVersions = GitVersion(new GitVersionSettings
{
UpdateAssemblyInfoFilePath = "./src/Project/AssemblyInfo.cs",
UpdateAssemblyInfo = true,
OutputType = GitVersionOutput.Json,
});
version = assertedVersions.MajorMinorPatch;
semVersion = assertedVersions.LegacySemVerPadded;
milestone = string.Concat("v", version);https://stackoverflow.com/questions/48994937
复制相似问题