我想知道如何选择使用Team City 8.1构建的分支.
我的VCS root(Git)设置为Default:"master"和Branch规范
+:refs/heads/develop
+:refs/heads/feature/*
+:refs/heads/hotfix/*
+:refs/heads/master
+:refs/heads/release/*
Run Code Online (Sandbox Code Playgroud)
我有一个CI构建设置,可以自动构建已签入的任何内容,这正是我想要的.
我想做的是针对"develop"分支创建预定的QA构建/部署.我看到如果单击运行按钮旁边的省略号,我可以在"更改"选项卡上选择分支,但我无法确定如何使这个"棒".这可能吗,还是我错了?
谢谢,
乔
我正在为我们所有的项目定义一个通用的构建模板 - 我已将其置于"根项目"级别(感谢TeamCity 8的这一新功能).我们的一些项目创建了一个安装程序,需要通过运行powershell脚本的单独"构建步骤"生成.但是,我们的一些项目不会创建此安装程序,因此不需要此额外的构建步骤.
有没有办法根据构建参数有条件地执行构建步骤?我想也许可以在这里利用"禁用构建步骤"功能,但我没有看到通过参数定义步骤的启用/禁用状态的方法.
当然,我可以将这个条件烘焙到执行安装程序生成的构建步骤中,但如果可以从teamcity本身内部处理它,那将更加清晰.
将单个TeamCity构建配置从一个服务器移动到另一个服务器的最佳方法是什么?
我有一个我测试构建的TeamCity的本地实例.然后,当构建足够成熟时,我在我们的主TeamCity服务器上手动创建它(眼球副本).
是否有导出和导入功能可以为我这样做?
我有一个TeamCity构建配置,直到最近一直工作正常.突然间,队列中存在一个构建,表示它与任何代理都不兼容.给出的理由是:
隐式要求:在参数:BuildFormatSpecification中定义的teamcity.build.branch
我的BuildFormatSpecification参数定义如下:
%MajorVersion%%MinorVersion%%PatchVersion% - .%teamcity.build.branch%
反过来,它在Build Number Format字段中与构建计数器一起使用,如下所示:
%BuildFormatSpecification%.%sharedBuildNumber.id4%
这个想法是构建号出现像"1.0.0-develop.22",包括正在构建的Git分支.这遵循语义版本控制的规则.这个方案对我来说在很多项目中都有用,但突然之间这个版本被卡住了,我无法弄清楚原因.
有任何想法吗?
我不能为我的生活在互联网上找到任何关于如何设置TeamCity来构建Android Studio项目的参考.
我找到了IntelliJ Idea和TeamCity,Gradle和TeamCity的链接,但没有具体说明在TeamCity中构建Android Studio项目.
谁能指出我正确的方向?
我在TeamCity构建日志中收到以下警告消息:
[GetReferenceAssemblyPaths] C:\ Program Files(x86)\ MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(989,5):警告MSB3644:框架".NETFramework,Version = v4.5.1"的引用程序集是未找到.要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本.请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集.因此,您的程序集可能无法正确定位到您想要的框架.
我正在使用MSBuild
Runner Type.我Microsoft Build Tools 2013
选择了MSBuild版本并12.0
选择了MSBuild ToolsVersion.我的解决方案中的所有项目都是针对4.5.1.我的解决方案是在VS2013中.
我在TeamCity服务器上安装了MSBuild Tools 2013(重新启动了TeamCity服务)和所有构建代理(也重新启动了这些服务).
这是我需要担心的事情,如果是这样,我怎样才能纠正它?
我正在尝试使用Powershell脚本更新TeamCity中的环境变量.但是,它不会更新变量的值.我怎样才能做到这一点?
下面是我当前获得currentBuildNumber的代码:
$currentBuildNumber = "%env.currentBuildNumber%"
$newBuildNumber = ""
Write-Output $currentBuildNumber
If ($currentBuildNumber.StartsWith("%MajorVersion%") -eq "True")
{
$parts = $currentBuildNumber.Split(".")
$parts[2] = ([int]::Parse($parts[2]) + 1) + ""
$newBuildNumber = $parts -join "."
}
Else
{
$newBuildNumber = '%MajorVersion%.1'
}
//What I have tried
$env:currentBuildNumber = $newBuildNumber
Write-Host "##teamcity[env.currentBuildNumber '$newBuildNumber']"
Write-Host "##teamcity[setParameter name='currentBuildNumber' value='$newBuildNumber']"
Run Code Online (Sandbox Code Playgroud) 使用github和teamcity,构建似乎是refs/heads/master
或master
分支.
只要github服务挂钩启动构建,它就在分支上master
.
每当TeamCity启动构建时(例如,当我开始构建或依赖构建触发构建时)分支就是refs/heads/master
.
这会导致两个构建号显示在同一页面上,最后一个构建master
和最后一个构建refs/heads/master
.
有没有办法让TeamCity触发构建master
而不是refs/heads/master
?
或者有没有办法获得master
和refs/heads/master
被视为同一个分支,而不是不同的分支?
我最近开始在构建服务器上以不断增加的频率看到上述错误.在此期间我们的TeamCity配置没有任何变化,因此我猜测可能是GitHub上的更改导致了错误.
我已经尝试将VCS轮询间隔从60秒更改为600秒,以防GitHub进行某种连接限制,但没有任何影响.
是否有可能使TeamCity对连接超时不那么敏感?
TeamCity 8.1.4(build 30168)
我注意到构建功能总是作为构建步骤的第一步的第一部分运行,但是是否可以运行构建功能,例如作为第2步的第一部分?或者作为Step1的最后一部分?
任何帮助表示赞赏!
(如果感兴趣,这是我的具体问题;
我有一个创建特定构建号的元运行器,我使用它作为构建步骤的第一步.我想使用构建功能"AssemblyInfo修补程序",但是这是在元跑者完成它之前运行的)
teamcity-8.0 ×10
teamcity ×8
git ×3
build ×2
.net ×1
android ×1
github ×1
msbuild ×1
powershell ×1