问题标签 [gitversion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
186 浏览

azure-devops - 一个存储库中的两个项目

我将 Azure DevOps Pipelines 与 GitVersion 一起使用。

我有一个 git 存储库,文件夹中有两个项目:

我的 pipeline.yml 的开头如下所示:

其次是dotnet restore、build等。

我的问题是让我们说 ProjectA 通过提交获取版本“-alpha12”。然后我提交给 ProjectB,它得到的版本是“-alpha13”。但是这两个项目是相互独立的,版本也应该如此。

我提到的是,没有通往 gitversion.yml 的路径,我认为构建过程只是使用默认值。但我不知道如何指定 gitversion.yml 的路径,也不知道这是否能解决我的问题。

有人能帮我吗?

0 投票
2 回答
88 浏览

git - Git 克隆仅适用于 git:// 而不适用于 https://

尝试使用“https://”进行克隆时,总是出现“致命:读取错误:无效参数”错误。但是当我用“git://”替换url时,同样的工作

$ git clone https://github.com/DiyanTonchev/Issue-Tracking-System.git 克隆到 'Issue-Tracking-System'... 致命:读取错误:无效参数

当我尝试使用“git clone git://github.com/DiyanTonchev/Issue-Tracking-System.git”时。我可以正确克隆

0 投票
1 回答
4288 浏览

azure-devops - 为什么在合并拉取请求以进行开发时 GitVersion 会增加我的版本号的主版本?

我们有master和develop分支。Master 目前是 1.0.0。

从开发中,我分支了一个新分支,做了一些小改动,并将下一个版本属性更改为 1.0.0。当我提出拉取请求时,我希望 GitVersion 将其计算为 1.0.1 或类似的值,但由于某种原因,它总是将其计算为 2.0.0。

我试过使用+semver: majorwhile having next-version 0.0.1,但这并没有将它从 0.9.0 提升到 1.0.0。

我试过使用下一个版本 0.9.9。GitVersion 将其增加到 0.10.0

我试过使用下一个版本 1.0.0。GitVersion 将其升级到 2.0.0。

我的猜测是,问题出在我的 GitVersion.yml 中,或者我如何使用 GitVersion ......

我曾预计它可能会以某种方式发展到... 1.0.1 或 1.1.0 或类似的东西。

相反,我得到的只是升级到 2.0.0。

这是我最新尝试的输出,下一个版本为 1.0.0:

0 投票
1 回答
1174 浏览

azure-devops - 如何在 Azure Devops Build Pipeline 中用串联的版本变量替换令牌

我的 Azure DevOps Build Pipeline 使用 GitVersion 对构建工件进行版本控制。存在任务会设置 GitVersion 变量,该变量可以访问 GitVersion.MajorMinorPatch 等。我想做的是将这个变量与 BuildID 连接起来。使用以下命令设置工件名称效果很好:

在下一步中,我希望将版本写入各种配置文件。我安装了 ReplaceToken 插件,它用变量“Version”的内容替换了一个特定的令牌(在我的例子中是#{Version}#)。

创建一个名称为 Version 且值为 "$(GitVersion.MajorMinorPatch).$(BuildID)" 的变量只是将变量替换为字符串而不是评估值。我已经尝试在 GitVersion 任务之后运行的作业中设置变量,因此在创建变量时它应该已经存在。

例如。

“准备”作业当前正在运行 GitVersion 任务,因此它存在于其他作业期间。

如何将连接的 GitVersion/BuildId-Version 放入配置文件中?

0 投票
2 回答
228 浏览

gitversion - Gitversion在AssemblyInfo中增加最后一位

我正在使用GitVersion为我的 C# 应用程序自动创建版本信息。

AssemblyFileVersion如果您在功能分支上,有人知道 Gitversion 是否能够增加(在 AssemblyInfo.cs 中)的最后一位数字?

文档指出以下内容:

AssemblyFileVersion 将设置为 MajorMinorPatch 变量并附加 .0。

所以最后一个数字总是0。无论如何文档可能已经过时了。如果您在例如功能分支上,如果最后一位数字增加一(或注入自最后一个标签以来的提交次数),我会很酷。

基于此,您可以:

  • 一个特性分支的不同的多个工件版本,因为最后一个数字递增。
  • 避免 MSI 安装程序问题,因为例如 exe 的文件版本永远不会在功能分支上更改。因此,Windows 安装程序不会更新 dll 或 exe,因为版本没有更改(如果 Windows 安装程序使用所有 4 位数字进行比较操作)。

谢谢

0 投票
1 回答
577 浏览

branching-strategy - 如何配置 gitVersion 以在发布分支上每次提交增加补丁

我们遵循基于主干的开发方法,当一个特性准备好时,我们将它合并到 master 并创建带有语义版本的发布分支,因此我们可以完全控制主要/次要/补丁版本,
例如:
release/1.0.0。
发布/1.0.1 等..

我们在构建步骤中运行 gitversion,它考虑分支名称中提供的版本控制并基于它创建版本(默认 gitversion 行为),然后我们传播到我们的较低系统我们仅在此版本成功部署到生产时标记此版本(最后阶段我们的 ci/cd 工作流程)

我现在看到的问题是当樱桃挑选错误修复并合并到尚未标记的发布分支时。(典型的基于主干的方法)

我正在寻找的行为如下:

假设 release/1.0.0 (当前标记的发布分支) ,gitversion - appname-1.0.0-rc.1 。在将错误修复合并到 master 后
- 从 master 提交樱桃选择错误修复提交,合并到 release/1.0.0
- gitversion 将补丁值添加到 appname-1.0.0-rc.2
- 在 release/1.0.0 分支上新提交
- gitversion 将补丁值改为 appname-1.0.0-rc.3

相反,我看到了以下行为:
- 从 master 提交的cherry-pick bug 修复提交,合并到 release/1.0.0
- gitversion 不增加补丁值,语义版本保持在 appname-1.0.0-rc.1
- 新在 release/1.0.0 分支上提交
- 语义版本保持在 appname-1.0.0-rc.1

这是我使用 GitVersion.txt的配置

0 投票
0 回答
51 浏览

gitversion - 如何通过 GitVersion 禁用使用分支名称

有没有办法使用分支名称禁用 GitVersion?

由于使用了一个名为:3.16-changelist 的分支,我们无意中增加了内部版本号

当前的构建版本是 3.16.0

合并该分支后,它是:3.16.1

那是出乎意料的。想知道是否可以禁用该行为。

谢谢。

0 投票
1 回答
493 浏览

c# - 从 C# 调用 GitVersion

我正在编写一个 Cake GIT 插件,它将在 GitVersion 的帮助下计算SemVer。我正在使用提供 GitVersionCore.dll 的GitVersion NuGet包。

谁能给我提示如何使用Core.dll?似乎并没有真正记录在案。

还是推荐的方式GitVersion.exe通过调用Process.Start并获取输出?

谢谢

0 投票
1 回答
719 浏览

gitversion - 如何替换 GitVersion 配置中的默认分支?

如果你在GitVersion /showConfig没有配置文件的情况下运行,你会看到有一堆默认的分支配置。如果你在配置文件中设置了一个分支配置:

然后 show config 将在分支列表的开头显示它。如果您设置与现有默认分支配置同名的分支:

然后 show config 会将此设置与默认的 master 分支合并,并将其移至顶部:

这有时可能很方便,但有时它只是烦人地意味着您的分支有意外的配置,或者您的正则表达式无法匹配,而其他默认分支配置之一匹配。

如何让 GitVersion 用我提供的配置完全替换其默认分支配置,而不合并每个分支的列表或设置?

0 投票
0 回答
154 浏览

gitversion - GitVersion 仅提升主要版本

我正在使用 GitVersion 在每次合并到主版本时自动增加次要版本。因此,我的GitVersion.yml样子是这样的:

这很好用。我正在尝试做的是允许人们通过next-version: x.0.0在根级别包含而不更改任何其他内容来提升主要版本。如果我将它添加到我当前的配置中,它会颠倒它,x.1.0因为它也在拾取次要增量。有没有办法配置它来做我想做的事?