如何使用 Git 分支支持覆盖 TeamCity 7.1 中的 分支名称?

2024-03-15

我有一个 CI 构建,从 Github 拉取功能分支,并使用基于项目、分支和构建号的文件夹命名约定将它们构建/打包到本地文件夹中。

对于命名分支(feature1、feature2),这非常有效。

问题是,当我向 master 提交时,TeamCity 将 teamcity.build.branch 公开为<default>- 这意味着构建步骤扩展时

E:\Packages\MyProject\%teamcity.build.branch%\

它的结局是E:\Packages\MyProject\<default>- 这会导致构建步骤崩溃,因为它不是有效的 Windows 路径。

I can在完全限定的构建参数中查看主分支名称:

teamcity.build.branch                         <default>
teamcity.build.checkoutDir                    C:\TeamCity\BuildAgents\agent-mulder\work\2151838a7933464d
teamcity.build.default.checkoutDir            2151838a7933464d
teamcity.build.id                             16347
teamcity.build.vcs.branch.github_myproject    refs/heads/master

但理想情况下我需要得到master作为在我的构建步骤中使用的 teamcity.build.branch 。

我可以在运行时转换参数吗?覆盖行为?我什至尝试将 VCS 分支名称设置为 DO_NOT_USE,希望“master”不再与默认值匹配 - 但这似乎也不起作用。


在 teamcity 7 中,它只是 %vcsroot.branch% 回报发展。

就我而言,我有

%MajorVersion%.%MinorVersion%.%PatchVersion%-%vcsroot.branch%

这些都是在构建参数中设置的。 数字格式是 %BuildFormatSemVer% ,即上面的内容 和 。 {0}

%BuildFormatSemVer%.{0}

哪个返回

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

如何使用 Git 分支支持覆盖 TeamCity 7.1 中的 分支名称? 的相关文章

  • 更改分支不会丢弃本地更改

    所以 我有点困惑 我不太擅长 git 但我记得如果您所在的分支有未提交的更改 并且您尝试签出另一个分支 git 要么不让您这样做 要么会放弃您的更改 我还在 Chacon 和 Straub 所著的 Apress 的 Pro Git 书中检查
  • 在 CruiseControl.NET 构建中使用“devenv”和“msbuild”有什么区别?

    CruiseControl NET 中使用 标记和 标记的主要区别是什么 我知道它们调用不同的可执行文件 但有时我会得到不同的结果 就编译时的通过 失败而言 我想知道为什么两个构建命令之间存在差异 基本上 devenv Visual Stu
  • 在持续集成下删除和创建数据库的防弹方法

    我正在尝试从 CI 设置中删除并重新创建数据库 但我发现很难自动删除和创建数据库 考虑到正在使用的数据库的复杂性 这是可以预料的 有时 进程会挂起 错误提示 数据库当前正在使用 或者只是花费太长时间 我不在乎数据库是否正在使用 我想杀死它并
  • 如何从 teamcity 以管理员身份运行 Visual Studio 或 nunit

    我目前正在使用 teamcity 运行我的测试 给出以下错误 设置方法失败 System UnauthorizedAccessException 检索 CLSID 为 0002DF01 0000 0000 C000 的组件的 COM 类工厂
  • 通过 HTTP Post-Commit Hook 将 Github 连接到安全的 Jenkins

    我已经在我的测试服务器上使用 Github 插件设置了 Jenkins 我通过仅允许经过身份验证的用户 匿名用户没有任何权限 和安全连接来保护 Jenkins 不幸的是 Github 提供的提交后挂钩似乎不适用于我的情况 我尝试访问以下网址
  • 使用 NX monorepo 的 Azure 管道有条件发布

    我们有一个 NX monorepo 里面有多个项目 并且正在使用 nx受影响来确定哪些项目已被触及 这对于我们的构建管道非常有效 但我们希望仅在项目实际发生更改时才发布它们 我们希望每个项目都有多个发布管道 只有在实际接触时才会触发 经过调
  • 在 TeamCity 构建期间将 nuget 包发布到 Octopus

    有一个已知问题 如果您在 TeamCity 构建期间进行部署 则会部署以前的版本 因为当前版本仅在构建完成后才可用 文档建议创建辅助 TeamCity BuildConfiguration 作为解决方法 但它很糟糕并且似乎不再起作用 有许多
  • Jenkins中的日志解析规则

    我正在使用 Jenkins 日志解析器插件来提取并显示构建日志 规则文件看起来像 Compiler Error error i error Compiler Warning warning i warning 一切正常 但由于某些原因 在
  • 如何将自定义 nuget feed 添加到 TeamCity 构建?

    我使用 Teamcity 创建了一个 Nuget 服务器 在互联网上的虚拟机上运行 并创建了将包发布到其中的构建 我还有另一个项目需要使用该包 该项目也是基于 teamcity 构建的 在我本地的 Visual Studio 上 我添加了
  • gitk:悬停时显示分支名称

    你能告诉我如何让 gitk 工具在悬停时显示分支名称或建议能够这样做的工具吗 gitk 显示分支缠结 其中分支是无名的 我必须猜测哪个是 master 哪个是 stable 等 在 gitk 窗口的左下半部分 有一个信息行指定Branche
  • SQL部署自动化

    我正在尝试使用 Jenkins 自动化现有的 sql server 数据库部署自动化 自动化的方法之一是使用 Visual Studio 将 SQL 脚本 存储过程 视图 表创建 包含在 SQL Server 数据库项目中 使用 MSBui
  • 客户端和服务器的 Git 分支结构

    对于我的一门计算机科学课程 我和一个小组正在使用客户端 服务器架构编写一个应用程序 我很好奇在 Git 存储库中组织项目的最佳实践是什么 我的意思是 我们是否应该像这样构建目录 ProjectDir Clients Client1 file
  • 如何添加更多数据存储在 jenkins Rest api 中

    为了使问题变得简单 我知道我可以通过以下方式获取一些构建信息https jenkins server https jenkins server api json xml python 我获得了有关该构建记录的大量信息 但是 我想向该构建记录
  • 如何在 Android Studio 中使用 git 分支

    我是 git 新手 我有一个非常简单的使用 git 的场景 我的第一个版本是用 Android Studio 编写的 现在我想使用一些新功能 到目前为止我做了什么 在我的 Android Studio 中启用 VCS 从 Android S
  • 如何仅在 PR 上触发构建,而不是在合并后在 Azure 管道上触发构建?

    这是向pyjanitor project https github com ericmjl pyjanitor 我已经构建了分为多个作业的管道 并且这些作业被设计为并行运行 但是 我注意到即使在合并 PR 后也会触发构建 因此 我的问题有两
  • 持续集成的投资回报率是多少?

    目前 我们的组织没有实行持续集成 为了让我们启动并运行 CI 服务器 我需要生成一份文档来证明投资回报 除了通过尽早发现和修复错误来节省成本之外 我很好奇我可以将其写入本文档的其他好处 节省 我喜欢 CI 的第一个原因是它有助于防止开发人员
  • 詹金斯:${BUILD_LOG, maxLines, escapeHtml} 不起作用

    我正在尝试使用 BUILD LOG maxLines escapeHtml 如下所述 如何从 BUILD LOG 变量中获取最后 20 行 https stackoverflow com questions 16089096 how can
  • 如何将参数从jenkins传递到selenium

    我正在使用詹金斯和硒 我需要将测试 url 从 jenkins 发送到 selenium 服务器 在常规选项卡下 詹金斯字符串参数 Name APP Default Value http localhost basecode 在构建后操作下
  • 如何定制Maven唯一版本字符串?

    我想知道有哪些选项可以自定义 Maven 工件部署时使用的时间戳字符串
  • 将 CCtray 与 Jenkins 结合使用,同时启用安全性(使用 HTTPS)

    我将 Jenkins 服务器配置为仅使用 HTTPS 并启用安全性 我也不喜欢任何未登录的人查看仪表板 即使它是空的 在这里 我禁用了 匿名 的 读取 访问权限 到目前为止 所有这些都完全符合我的喜好 但想要通过例如向远程客户端添加一些构建

随机推荐