是否可以因自定义运行而永久更新 TeamCity 构建参数的值?

2023-11-24

是否可以通过自定义运行永久更新构建参数的值?

例如,考虑一个配置为具有内部版本号格式的内部版本: %主要%.%次要%.%补丁%.%build.counter%

Major、Minor 和 Patch 并在构建配置中定义为具有某些值。举个例子,假设构建号为 3.1.2.36。

可以通过单击运行旁边的“...”来更改内部版本号,然后更改其中一个参数的值。将 Minor 从 1->2 更改并将 patch 从 2->0 更改将为下一个版本提供编号 3.2.0.37。

我不太担心 37 尚未重置为 0,但问题是触发的下一个构建(不是自定义运行的结果)将具有构建号 3.1.2.38,这是一个较低的数字。当您运行自定义构建并更改数字时,是否有可能保留新值?

我正在寻找一种方法,让没有 TeamCity 管理员权限的用户可以根据他们所做的更改来增加版本号。

我们正在运行 v8.1.2(内部版本 29993)。


为了解决这个问题,我使用了 TeamCity REST API。我创建了一个名为“ReleaseType”的提示类型的新构建参数,可以是 Patch、Minor 或 Major。然后在这个命令行脚本中使用它,该脚本设置为 TeamCity 构建步骤:

IF "%ReleaseType%"=="Major" (
set /a newVersion=%VersionMajor%+1
curl -v --request PUT -d 0 --Header "Content-Type: text/plain" http://username:password@servername:8080/httpAuth/app/rest/projects/%system.teamcity.projectName%/parameters/VersionMinor
curl -v --request PUT -d 0 --Header "Content-Type: text/plain" http://username:password@servername:8080/httpAuth/app/rest/projects/%system.teamcity.projectName%/parameters/VersionPatch
)

IF "%ReleaseType%"=="Minor" (
set /a newVersion=%VersionMinor%+1
curl -v --request PUT -d 0 --Header "Content-Type: text/plain" http://username:password@servername:8080/httpAuth/app/rest/projects/%system.teamcity.projectName%/parameters/VersionPatch
)

IF "%ReleaseType%"=="Patch" (
set /a newVersion=%VersionPatch%+1
)

curl -v --request PUT -d %%newVersion%% --Header "Content-Type: text/plain" http://username:password@servername:8080/httpAuth/app/rest/projects/%system.teamcity.projectName%/parameters/Version%ReleaseType%
curl -v --request PUT -d 0 --Header "Content-Type: text/plain" http://username:password@servername:8080/httpAuth/app/rest/buildTypes/id:%dep.Dependant_BuildName.system.teamcity.buildType.id%/settings/buildNumberCounter

这会增加指定的内部版本号并将下游版本部分重置为 0。

例如,3.2.12.122 的次要版本增加到 3.3.0.0。

注意 - 在我上面的特定示例中,构建计数器在依赖构建上重置,而不是在正在运行的配置上重置。这可能是也可能不是您所追求的。代替

%dep.Dependant_BuildName.system.teamcity.buildType.id%

with

%system.teamcity.buildType.id%

如果您想重置当前正在运行的构建配置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以因自定义运行而永久更新 TeamCity 构建参数的值? 的相关文章

随机推荐

  • JPA 2 和 Hibernate 3.5.1 MEMBER OF 查询不起作用

    我正在尝试以下 JPQL 但它失败了 Query query em createQuery SELECT u FROM User u WHERE admin MEMBER OF u roles List users query query
  • 从 NFC 标签读取数据

    您好 我正在开发一个用于向 NFC 标签读取和写入数据的应用程序 我在从 NFC 标签读取数据时遇到问题 当我尝试读取数据时 我的应用程序第一次崩溃 当我第二次扫描标签时 应用程序读取数据时再次崩溃 请帮我解决这个问题 这是我的代码 提前致
  • 我可以将一个查询拆分为多个查询或创建并行性来加速查询吗?

    我有一张桌子avl pool 我有一个函数可以在地图上找到最接近该链接的链接 x y 位置 此选择的性能非常线性 该函数需要约 8 毫秒才能执行 所以计算一下这个 select 1000 行需要 8 秒 或者正如我在此示例中所示 20 00
  • 抛出格式异常 C#

    我试图在有人在提示输入年龄时尝试输入非整数字符的实例中抛出格式异常 Console WriteLine Your age age Int32 Parse Console ReadLine 我不熟悉 C 语言 可以使用帮助来为此实例编写 tr
  • 反编译APK,修改它然后重新编译它

    我需要修改现有的 APK 修改源代码 然后重新编译它 我可以使用 dex2jar 或 apktool 反编译它 效果很好 从jar文件中我可以获得java源代码 使用jd gui 然后我可以修改java文件 但现在我想知道如何重新编译jav
  • StartCoroutine/yield 返回模式在 Unity 中到底如何工作?

    我了解了协程的原理 我知道如何达到标准StartCoroutine yield return在 Unity 中的 C 中工作的模式 例如调用一个方法返回IEnumerator via StartCoroutine并在该方法中做某事 做yie
  • Enum 类型属性的 RestSharp 反序列化

    我有一个对象 var testTcc new TrendingConfigurationConfigDto TrendingConfigurationId 1 ConfigId 1 DeviceId 1 Selected true YAxi
  • 手动安装 NPM 包

    我使用node windows installer v0 8 3来安装nodejs 当我尝试像这样安装express时 npm install express 它不起作用 我认为这是因为我的公司使用了代理 所以我从github下载了expr
  • 本机库加载时出现莫名其妙的 UnsatisfiedLinkError

    首先 也是最重要的 我的申请一般有效 我在所有四个 32 位 CPU ABI 上有许多客户端 并且他们运行该应用程序没有任何问题 本机库是为所有四种架构构建的 库就在那里 方法都就位并且命名正确 然而 我偶尔会收到无法加载本机库的异常报告
  • 如何从 pdf 文件中提取附件?

    我有大量 pdf 文档 其中附有 xml 文件 我想提取那些附加的 xml 文件并读取它们 如何使用 net 以编程方式执行此操作 iTextSharp 也非常有能力提取附件 尽管您可能必须使用低级对象来执行此操作 有两种方法可以在 PDF
  • GDB 警告:在 0x7ffff7ffd000 处添加的符号文件系统提供的 DSO 中未找到可加载部分

    abijith bufferOverFlow gdb a out GNU gdb GDB 7 6 Copyright C 2013 Free Software Foundation Inc License GPLv3 GNU GPL ver
  • PHP向多维数组的每个子数组添加元素

    我有一个看起来像这样的数组 array 0 gt array id gt 1 title gt title 1 1 gt array id gt 10 title gt title 10 2 gt array id gt 11 title
  • 简单的 nginx 反向代理似乎会删除一些标头

    我是 nginx 的初学者 我在 8080 上有一个简单的网络服务器 我想在这个相当小的环境中将所有流量传递到它 我的代理似乎可以工作 只是当它到达我的上游服务器时 自定义标头不存在 服务器块如下 我需要添加什么来保留我的自定义标头 在这种
  • IOS共享扩展:如何从笔记帖子中读取内容

    我希望我的应用程序能够解析笔记应用程序帖子以及其他文本编辑器帖子中的文本 因此我创建了一个共享扩展目标 一切工作正常 直到我准备应用程序发布 替换TRUEPREDICATE经过 NSExtensionActivationRule 据说 在我
  • 像谷歌地图一样滑动BottomSheet

    目前我正在使用来自this lib 我想实现这样的图像动画谷歌地图在滑动底页时 我想按照所示的图像一起滑动图像视图 我已经用过这个了帮助链接但没有得到 我已经尝试了很多时间 但找不到任何解决方案 任何帮助都可以 提前致谢 你能行的修改默认B
  • async/await 会阻塞一个线程node.js

    When async await在node js函数中使用 它会阻塞node js线程直到它执行下一行代码吗 async await不会阻塞整个解释器 node js 仍然以单线程方式运行所有 Javascript 即使某些代码正在等待as
  • 使用 JRuby 或包执行时如何使用 rspec 启用颜色?

    我正在尝试使用 JRuby 运行我的 rspec rake spec 结果是 jruby S bundle exec rspec color spec foo spec rb 没有显示颜色 所以我从等式中删除了 Jruby bundle e
  • 如何在android中将json对象转换为字符串..?

    我想转换自JSONObject CNo 80 CName ganesh CMail email protected CMailType home CPhNo 9878987776 CPhNoType home ClientNo 1 to C
  • 如何在android ndk中使用GraphicBuffer

    我问这个问题是参考我的问题的答案如何提高android中opengl es的显示性能 我试图构建使用 GraphicBuffer 和 ndk r9d 的代码 但它说 GraphicBuffer 没有在此范围内声明 对于eglCreateIm
  • 是否可以因自定义运行而永久更新 TeamCity 构建参数的值?

    是否可以通过自定义运行永久更新构建参数的值 例如 考虑一个配置为具有内部版本号格式的内部版本 主要 次要 补丁 build counter Major Minor 和 Patch 并在构建配置中定义为具有某些值 举个例子 假设构建号为 3