【问题标题】:Build version based on merged branch基于合并分支构建版本
【发布时间】:2018-08-06 06:56:27
【问题描述】:

我想实现 NuGet 包的自动语义版本控制作为 VSTS 构建步骤(实际上在 cakebuild 步骤中)。问题是,虽然获取正在执行的分支构建很容易(buildSystem.TFBuild.Environment.Repository.Branch),但我不知道如何获取有关哪个分支合并到 master 的信息(补丁版本的修补程序分支,或为次要开发具有新功能的分支)。这是可能的还是我应该接受每个版本更新都需要手动 Nuspec 编辑?看起来 gitflow 具有识别这些的内置机制,例如基于分支名称,但我们根本不使用它。

【问题讨论】:

    标签: nuget azure-devops semantic-versioning cakebuild gitversion


    【解决方案1】:

    您可以利用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);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多