问题标签 [teamcity]
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.
continuous-integration - 在 TeamCity 构建配置中包含搜索路径
通常,当开发人员在我们公司的机器上本地编译某个混合 C++/C# 解决方案时,他们会使用 .vssettings 配置文件。此配置文件中包含的内容之一是对 Lib 和 Include 文件的各种目录路径的引用。
但是,我们的 buildAgent 机器(使用 TeamCity)被设置为无菌的,并且在其上安装了构建任何给定解决方案/项目所需的最低限度。这意味着上面示例的混合 C++/C# 项目将无法访问设置了包含搜索路径等内容的 IDE 配置。TC 通过允许您为任何给定的 buildConfiguration(甚至通过 buildAgent)设置各种变量来解决这个问题......
但是如何在 TC 中获得 WORK 的包含搜索路径?我正在从 Source Control (Perforce) 复制我想要 Included (1)的本地副本,然后尝试定义环境变量(2) - 但 TC 未能构建(3)。
我确定我的某些配置有误,但是对于我的生活来说,我无法弄清楚是什么!
非常感激任何的帮助,
布隆
(1) VSC 客户端映射 - Perforce
//depot/OpenSource/Boost-1.33.0/boost/... //team-city-agent/OpenSource/boost/...
(2) buildConfig 环境变量定义
env.Include = %system.teamcity.build.checkoutDir%\OpenSource
(3) TC 构建日志片段
[16:57:39]:[项目“xxx.sln”(构建目标):] e:\buildagent\work\ef1853a454da9d94\xxx\rowsbase.cpp(5, 0):错误 C1083:无法打开包含文件:'boost/dynamic_bitset.hpp':没有这样的文件或目录
version-control - TeamCity 项目和多个 SVN 分支
本着保持我的 SVN 主干干净并准备好部署的精神,我一直在使用以下源代码控制模型。对于不耐烦的人,基本概念是您创建开发分支来进行实际开发,并随时保持主干干净并准备好部署(主干中没有垃圾)。
除此之外,我正在配置 TeamCity 以进行持续集成。在 TeamCity 中,我想确保所有开发分支以及部署就绪分支(在我的情况下为主干)正确构建并通过所有单元测试。
这可能是一个愚蠢的问题,但对 TeamCity 不太熟悉,我应该为每个分支创建一个新的 TeamCity 项目吗?特别是,部署就绪分支比开发分支有一些额外的规则。例如,发布应该保存在文件系统上的版本化目录中(例如,C:\Projects\MyProject\1.0.187...、C:\Projects\MyProject\1.0.188...),以便轻松访问二进制文件,在任何时间点。另一方面,在开发分支中保存程序集的版本副本是不必要的,并且会浪费硬盘空间。
在 TeamCity 中,我希望每个软件项目只看到一个项目。换句话说,如果我的公司正在开发 X 个开发项目,我希望该项目只列出一次,而不是 X * 2(假设每个项目只有两个分支)。
continuous-integration - 无法让 TeamCity FxCop Build Runner 工作
关于如何使此错误消息消失的任何想法?
无法运行进程 E:\Program Files\Microsoft FxCop 1.36\FxCop.exe\FxCopCmd.exe /forceoutput /gac /ignoregeneratedcode /f:\Sacog\bin\Debug\Sacog.dll /out:05A1B22A-DE6E-49ae-AA30- DC52A074EF22\fxcop-result.xml:找不到文件
svn - 使用持续集成将第 3 方库存储到源代码控制中
我刚刚将一个非常大的第 3 方库 (Boost) 提交到我们的源代码控制中。我用自己的存储库设置它。我标记了它的版本,以便其他项目可以 svn:externals 这个特定版本。
这很好,直到我意识到我的持续集成(CI)服务器每次签入一些代码时都会进行完整的签出。(很明显,我一开始是故意这样设置我的 CI 服务器的)。这可能会导致 CI 服务器端的结帐时间很长。
所以问题是:这是一件好事吗?有人可以建议一种更好的方法来处理这种模式吗?
编辑:我正在使用 TeamCity CI 服务器。
.net - .NET + TeamCity:未编译私有访问器
我正在为 VS2008 sln 文件运行 Team City Pro (v4.0.2 build 8222)。
现在我面临一个问题,即没有为测试项目中的私有访问器生成自动生成的代码,并且由于无法找到那些(自动生成的)类而导致编译错误。
构建运行器是默认的 sln2008。
有什么配置需要改吗?我检查了 VS 构建日志,它没有显示自动生成的类的任何 msbuild 条目。自动生成类的 DLL 就在那里。
注意:我知道测试私有方法是进行单元测试的最佳方式。
windows - 使用 Windows 身份验证从 TeamCity 访问 SVN
我正在尝试在我的 Windows XP 机器上设置 TeamCity。由于身份验证错误,它无法从 subversion 获取代码。我已将我的 Windows 域\用户用户名和密码放入 TeamCity 配置中 - 但它看起来像是在尝试基本身份验证。我需要改变什么?
这是 TeamCity SVN 日志(实际的服务器/端口已替换为 server:port):
[2009-05-28 17:37:43,375] 调试 - javasvn.output - 网络:已发送
选项 /svn/外部 HTTP/1.1
主机:远程服务器:端口
用户代理:SVN/1.5.5 SVNKit/1.2.2 ( http://svnkit.com/ ) r5405
活着:
连接:TE,保活
TE:拖车
授权:基本 bWVybG90L21hcmt3OiVyZnZjZGUz
内容长度:0
接受编码:gzip
内容类型:文本/xml;字符集="utf-8"
DAV:http ://subversion.tigris.org/xmlns/dav/svn/depth
DAV:http ://subversion.tigris.org/xmlns/dav/svn/log-revprops
DAV:http ://subversion.tigris.org/xmlns/dav/svn/mergeinfo
[2009-05-28 17:37:43,453] 调试 - javasvn.output - 网络:已读
需要 HTTP/1.1 401 授权
日期:格林威治标准时间 2009 年 5 月 28 日星期四 05:38:56
服务器:阿帕奇
WWW-Authenticate: Basic realm="Subversion Repositories"
内容长度:401
保活:超时=5,最大值=99
连接:保持活动
内容类型:文本/html;字符集=iso-8859-1
[2009-05-28 17:37:43,453] 调试 - javasvn.output - 网络:svn:“ https://server:port Subversion Repositories”需要身份验证
continuous-integration - 将 rake 与 Teamcity 一起使用会产生 RegexError
每次我尝试使用团队城市使用 rake 构建 .NET 解决方案时,我都会收到相同的
我的自然假设是我的 rake 代码中实际上有一个无效的转义字符,我承认我以前从未使用过 ruby 或 rake,但是脚本本身执行没有问题,并且在执行命令时表现得应该没有使用teamcity的线。
此外,我通过我的代码慢慢地注释掉了行,以试图缩小无效字符的范围,即使使用完全注释掉的 rake 文件,团队城市进程仍然会失败。
感谢您的帮助,如果需要更多信息,请告诉我。
configuration - 如何让 TeamCity 排除 nunit 测试类别?
我正在使用 TeamCity VisualStudio sln 配置来驱动我的 CI 构建。它运行我所有的 NUnit 测试——这一切都很好,但我不希望 TeamCity 使用 [Category("DatabaseTests")] 属性运行我的任何测试(因为它们命中了一个实际的数据库)。
在要排除的类别下的 NUnit 配置中,我只放置了DatabaseTests但它不起作用。有什么我想念的吗?有没有办法让我看到 teamcity 发送给 nunit 跑步者的内容?
resharper - 在 Visual Studio 之外运行 Resharper 代码分析
Resharper 包括各种分析规则,可以从 Visual Studio 内部在您的解决方案上运行,但是否可以从命令行或作为自动构建的一部分运行这些规则?Resharper 似乎专注于在 Visual Studio 中运行,但可以从 IDE 外部对解决方案或项目文件调用它吗?
更新:似乎 TeamCity 7.0 EAP 包含一种在构建时执行代码分析的方法 (博客文章),因此至少它可以以某种方式被调用并作为 CI 流程的一部分使用。
continuous-integration - TeamCity 在构建时删除文件
我是 TeamCity 和持续集成的新手。我已经按照这个非常好的指南进行了设置,一开始似乎一切正常。
TC 可以检查来自 SVN 的文件,并且可以毫无问题地构建它们。但是我发现“结帐目录”设置是错误的,它指向了一个文件夹上方应该在的位置,因此将所有来自 SVN 的新文件添加到错误的位置,但仍然建立在旧文件的基础上。纠正此问题后,问题开始了。
现在,每次 TC 进行构建时,它都会清除“签出目录”中的所有文件,问题在于并非所有需要的文件都由 SVN 管理,并且它们会被永久删除。由于并非所有必要的文件都在那里,因此构建失败。
我应该怎么做才能让 TC 保留我的文件?
来自 TC 的设置是否有帮助:
常规设置编辑 »
名称: Mavia Build
说明:无
内部版本号格式:{0},下一个内部版本号:#8
工件路径:未指定
如果出现以下情况,则构建失败:
进程退出代码不为零:ON
至少一项测试失败:开
构建运行器记录了一条错误消息:OFF
它的运行时间超过:没有限制
检测到内存不足或崩溃:ON
构建选项:
悬挂构建检测:ON
状态小部件:关闭
同时运行构建的最大数量:无限制
版本控制设置编辑 »
VCS 结帐模式:在服务器上自动
结帐目录:C:\Inetpub\wwwroot\mavia_sip
在构建之前清理所有文件:OFF
VCS 标签:禁用
附加的 VCS 根:
名称 结帐规则 设置标签
mavia_sip svn 未指定 NO
亚军:sln2008 编辑 »
运行器类型:sln2008(Microsoft Visual Studio 2008 解决方案文件的运行器)
解决方案文件路径:mavia_sip\WebSite\mavia_sip.sln
工作目录:与结帐目录相同
目标:重建
配置:调试
解决方案平台:默认
NUnit 运行平台:auto(MSIL)
NUnit 跑步者:NUnit 2.2.10
从以下位置运行测试:未指定
不要从以下位置运行测试:未指定
NUnit 类别包括:未指定
NUnit 类别排除:未指定
减少测试失败反馈时间:OFF
MSTest:禁用
XML 报告处理:禁用
构建触发编辑 »
构建配置已暂停(触发已禁用)。
通过 vcs 签入触发构建:ON
静默期:默认,60 秒
如果上次构建失败,则开始新构建:关闭
按时间触发:未配置
此配置取决于:未配置
依赖编辑 »
快照依赖:
没有快照依赖项。
工件依赖项:
没有工件依赖项。
属性和环境变量编辑 »
系统属性:未定义
环境变量:未定义
代理要求编辑 »
系统属性要求:未定义
环境变量要求:未定义