标签: teamcity

强制TeamCity在特定代理上构建

是否有可能在不禁用所有其他连接代理的情况下强制TeamCity在特定代理机器上构建?

teamcity

30
推荐指数
2
解决办法
8377
查看次数

如何阻止阻止构建服务器的"及时调试"消息

我们的构建服务器(TeamCity,非常推荐)在我们完成的c ++程序上运行我们的一大堆测试套件.

一旦进入整体,测试会导致我们的程序崩溃,通常会打开一个VisualStudio对话框,让我向JustInTime调试崩溃.该对话框将阻止buildserver继续进行.它只是挂起而不是标记为失败的构建.我已经关闭了VisualStudio中的即时调试功能,但是当它关​​闭时,你仍然会收到一条消息"无法JustinTime调试这个,你可以在选项中打开它".

有没有人知道确保程序中任何未处理的异常不会导致任何模态对话的方法?

teamcity visual-studio

29
推荐指数
3
解决办法
7万
查看次数

如何在TeamCity中有效地获取Mercurial更改日志?

我希望我的Noda Time持续构建 - 由我家中的私有TeamCity服务器托管 - 将Mercurial日志作为XML文件获取.源代码托管在Google Code上.这样我就可以在公共网站上使用它进行基准浏览.这一切都是一项正在进行的工作,但它基本上已经开始走到了一起.

我希望将日志作为TeamCity构建的一部分获取很简单.毕竟,它已经获取了源代码以执行构建.从普通的存储库目录,我可以运行:

hg log --style xml > hg-log.xml
Run Code Online (Sandbox Code Playgroud)

不幸的是,据我所知,Team City中的"checkout"目录不是一个真正的Mercurial存储库 - 它只是适当提交时存储库内容的副本.这意味着我无法hg log在该目录中运行......或者到目前为止我能够找到的任何其他目录.在没有预先构建参数似乎有一个本地仓库路径,但我希望我已经错过了一个.

我目前的解决方法是再次获取源代码作为构建的一部分(当然只是默认分支),然后使用它来获取日志.它有效,但感觉非常浪费.

这不是我清楚如何或在哪里TeamCity的实际执行源结帐-我真的希望有一个本地回购的地方,我可以用它来获取日志.

teamcity mercurial

29
推荐指数
3
解决办法
2012
查看次数

如何让MSTest找到我的测试数据文件?

我有一些测试需要从excel文件中提供外部数据.这些文件包含在测试项目中,在Visual Studio中,我编辑了测试设置文件(Local.testsettings)来部署数据文件.这使它工作正常我VS.

但是,我们也在与TeamCity进行持续集成,而在TeamCity中,这不起作用.我的数据文件不可用于测试.似乎测试是从名为"C:\ TeamCity\buildAgent\temp\buildTmp\ciuser_AS40VS6 2009-12-11 09_40_17\Out"的临时文件夹运行的,并且数据文件不会在那里复制.

我已经尝试将数据文件的构建操作更改为"资源"并将复制到输出目录设置为"始终",但这没有帮助.

有谁知道如何使这项工作?

我正在运行Visual Studio 2010 beta 2和TeamCity 4.5.5,这就是为什么我首先运行MSTest,而不是NUnit ...

teamcity mstest

28
推荐指数
1
解决办法
1万
查看次数

NuGet Package Restore找不到包,没有Source

我有一个由TeamCity构建的TeamCity NuGet提要包,但是一个依赖的TC项目在包恢复期间无法看到它.

[14:05:02] [Exec] E:\ TeamCity-BuildAgent\work\62023563850993a7\Web.nuget \nuget.targets(88,9):无法找到"MarkLogicManager40"软件包的版本"1.0.17.0".

[14:05:02] [Exec] E:\ TeamCity-BuildAgent\work\62023563850993a7\Web.nuget \nuget.targets(88,9):error MSB3073:命令""E:\ TeamCity-BuildAgent\work\62023563850993a7\Web.nuget \nuget.exe"install"E:\ TeamCity-BuildAgent\work\62023563850993a7\ProductMvc\packages.config"-source"" - RequestConsent -solutionDir"E:\ TeamCity-BuildAgent\work\62023563850993a7\Web \""退出代码1.

请注意,sourceNuGet命令行中的参数为空.这可能是原因吗?

.net msbuild teamcity nuget

28
推荐指数
2
解决办法
2万
查看次数

为什么我的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分支.这遵循语义版本控制的规则.这个方案对我来说在很多项目中都有用,但突然之间这个版本被卡住了,我无法弄清楚原因.

有任何想法吗?

git teamcity build teamcity-8.0

28
推荐指数
1
解决办法
6765
查看次数

TeamCity和JIRA?

TeamCity是否有可能像Bamboo如何集成到JIRA那样集成到JIRA?我在JetBrains网站上找不到任何关于问题跟踪器集成的文档.

仅供参考:我听说TeamCity推出了他们自己的追踪器Charisma.真的吗?

teamcity jira bamboo youtrack

27
推荐指数
2
解决办法
1万
查看次数

TeamCity命令行构建运行器:如何使构建失败?

我们使用TeamCity的命令行构建运行器来调用bat文件.bat文件通过调用Visual Studio 2008的"devenv.exe"构建我们的解决方案,然后执行单元测试并创建正确的文件夹结构.

如果对devenv的调用失败并使TeamCity意识到构建失败,我们想要做的是停止执行bat文件.我们可以通过检查ErrorLevel(如果构建失败时为1)来捕获失败的devenv调用,并且我们可以在那时退出我们的bat文件.但是我们怎么能告诉TeamCity构建失败了呢?

这是我们尝试过的:

call "build.bat"
IF ERRORLEVEL 1 EXIT /B 1
Run Code Online (Sandbox Code Playgroud)

但是TeamCity无法识别我们的退出代码.相反,构建日志如下所示:

[08:52:12]: ========== Build: 28 succeeded or up-to-date, 1 failed, 0 skipped ==========
[08:52:13]: C:\_work\BuildAgent\work\bcd14331c8d63b39\Build>IF ERRORLEVEL 1 EXIT /B 1 
[08:52:13]: Process exited with code 0
[08:52:13]: Publishing artifacts
[08:52:13]: [Publishing artifacts] Paths to publish: [build/install, teamcity-info.xml]
[08:52:13]: [Publishing artifacts] Artifacts path build/install not found
[08:52:13]: [Publishing artifacts] Publishing files
[08:52:13]: Build finished
Run Code Online (Sandbox Code Playgroud)

因此,TeamCity将报告构建成功.我们该如何解决这个问题?

解:

TeamCity提供了一种称为服务消息的机制,可用于处理这种情况.我已将构建脚本更新为如下所示:

IF %ERRORLEVEL% == 0 GOTO …
Run Code Online (Sandbox Code Playgroud)

teamcity command-line visual-studio-2008 teamcity-5.1

27
推荐指数
1
解决办法
8631
查看次数

Git的门禁签到/预测试提交?

我正在考虑从TFS(Team Foundation Server)迁移到Git,但找不到任何与TFS支持门控签到(也称为预测试或延迟提交)相匹配的内容.

Atlassian Bamboo不支持门禁办理登机手续.TeamCity确实支持它(使用他们的术语"延迟提交"),但不支持Git.使用Jenkins本身或Jenkins + Gerrit有很大的缺点,并且没有接近TFS中的门控签入功能.(Jenkins的创作者在此视频中解释了缺点:http://www.youtube.com/watch?v = LVVVw5gnAo0)

Git非常受欢迎(有充分理由),那么人们如何解决这个问题呢?什么是目前最好的解决方案?

c# git teamcity tfs jenkins

27
推荐指数
2
解决办法
2万
查看次数

停止Teamcity显示已删除的分支

我们正在使用TeamCity,我已经设置了从分支机构中提取的工作.但是当这些分支被删除时,它们仍会出现在Teamcity中:

过期分支列表,只有refs/master处于活动状态

(过时的分支列表,但refs/master实际上只有活动)

TeamCity的文件实际上规定了什么是一个活跃的分支:

活跃的分支

在具有已配置分支的构建配置中,"概述"页面显示活动分支.

许多参数定义分支是否处于活动状态.可以在构建配置(这将仅影响一个构建配置),项目或内部属性(这定义整个服务器的默认值)中更改参数.配置中的参数会覆盖内部属性中的参数.

在以下情况下,分支被视为活动

  • 它存在于VCS存储库中并且具有最近的提交(即,年龄小于teamcity.activeVcsBranch.age.days参数值的提交, 默认为7天).
  • 或者它有最近的版本(即年龄小于teamcity.activeBuildBranch.age.hours参数值的版本 ,默认为24小时).
  • !具有构建的已关闭VCS分支在上次构建后的24小时内仍将显示为活动状态.要从显示中删除已关闭的分支,请设置teamcity.activeBuildBranch.age.hours=0.

但是......我不明白他们的描述!:)"配置中的参数"是什么意思?我已经尝试在我的工作中制作参数,如下所示:

添加参数teamcity.activeBuildBranch.age.hours

(添加参数teamcity.activeBuildBranch.age.hours)

但这没有任何作用.也许我将自己暴露为一个完整的TC菜鸟,但任何人都可以指导我如何正确地改变这些设置,所以我只在我的构建工作中显示存储库活动分支?

git teamcity configuration

27
推荐指数
2
解决办法
7840
查看次数