我在TeamCity CI构建服务器上遇到问题,在编译期间我收到以下错误:
C:\ WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2342,9):错误MSB3086:任务找不到"AL.exe"使用SdkToolsPath""或注册表项"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A".确保已设置SdkToolsPath,并且该工具位于SdkToolsPath下正确的处理器特定位置,并且已安装Microsoft Windows SDK
我在一年前发现类似的报告,当时人们正在升级到.NET 3.5,例如这个.在这种情况下,安装最新的SDK解决了这个问题,但是我已经在构建服务器上安装了最新的SDK(适用于Windows 7和.NET Framework 4的Microsoft Windows SDK).MSBuild工具都在服务器上,位于一个名为的文件夹中
C:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319
和AL.exe存在于
C:\ Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0工具
但是,错误消息中提到的注册表项不存在.因此,似乎MSBuild的安装/配置有问题.此错误仅发生在具有嵌入式资源的项目中,这些项目需要AL.exe.
我使用Teamcity(在Internet上的虚拟机上运行)创建了一个Nuget Server,并创建了一个将包发布到其中的构建.
我还有另一个需要使用该软件包的项目.该项目也建立在团队城市之上.在我的本地Visual Studio上,我添加了nuget feed uri,安装了包,一切正常.但是当我尝试在teamcity上构建它时,它会说"找不到包".
所以我的问题是:"如何将自定义nuget Feed添加到TeamCity构建中?"
我想为TeamCity服务器提供一个git标签来构建它.我将标签(即release_1.1
)作为参数传递给作业.因此,在作业内部标签可用%tag%
,但在Version Control Settings
我看不到任何使用此参数的方法,因此服务器可以签出此标记.有没有办法在设置中使用此参数来签出标签?
有谁知道在哪里可以找到一个很好的教程来指导我如何设置TeamCity CI服务器?我是单元测试和敏捷开发理念的新手,所以我可以用一些帮助让我的脚湿透.我正在使用NUnit进行Asp.NET代码进行单元测试,并且更喜欢TeamCity服务器的Windows环境.请注意,我不知道如何为构建或连续构建所需的任何其他内容配置NANT.我只是有单元测试的.NET代码.
我的一个TeamCity v7.0构建项目依赖于在当前开发分支和主分支之间使用diff来确定需要运行的内容.我写了一个小脚本,使用类似的东西:
git diff origin/master..origin/QA --name-only --diff-filter=AM | DoSomethingWithThoseFiles
Run Code Online (Sandbox Code Playgroud)
不幸的是,构建日志表明它git diff
不起作用.当我进入这个项目的buildAgent/work目录时,我发现没有.git
文件夹,所以它无法执行所需的git操作.
我已经把TW-15873中提到teamcity.git.use.local.mirrors=true
的buildAgent.properties
文件放入了文件中,但这似乎没有任何帮助.
我可以做些什么来在脚本中为我的构建步骤更改两个分支之间的文件列表?
我在ubuntu()上使用TeamCityTeamCity Professional 9.1.7 (build 37573)
.最近有一些自动合并的问题(git).从以前的工作开始,我没有改变配置中的任何内容.我试图删除工作目录.它只对几次合并有所帮助.
症状: 构建日志看起来很干净,我在构建概述中得到了这个:
Failed to merge sources in VCS root foo. Merge error 'git fetch' command failed.
stderr: git@bitbucket.org:foo/foo.git: channel is not opened.
exit code: 1.
Run Code Online (Sandbox Code Playgroud)
虽然,在运行此代理的代理中我得到一个完全不同的错误teamcity-vcs.log
:
[2016-03-30 15:14:31,722] INFO - jetbrains.buildServer.VCS - [/home/ubuntu/BuildAgent/work/7676127c0a691f42]: /usr/bin/git show-ref refs/remotes/origin/foo
[2016-03-30 15:14:31,775] INFO - jetbrains.buildServer.VCS - [/home/ubuntu/BuildAgent/work/7676127c0a691f42]: /usr/bin/git log -n1 --pretty=format:%H%x20%s 193f46d88205c5e419a8a7458e742ce9b598cca8
--
[2016-03-30 15:14:31,797] WARN - jetbrains.buildServer.VCS - '/usr/bin/git log -n1 --pretty=format:%H%x20%s 193f46d88205c5e419a8a7458e742ce9b598cca8 --' command failed.
stderr: fatal: bad object 193f46d88205c5e419a8a7458e742ce9b598cca8
[2016-03-30 …
Run Code Online (Sandbox Code Playgroud) 如何将IIS 7 Web部署与MSBuild(TeamCity)集成?
我们确实在TeamCity中有数百个失败的构建(由于在失败设置上重新进行重试,数量特别高)现在浏览历史记录很痛苦.
我想只清理旧的失败的构建,无论如何在TeamCity中做到这一点?正常清理策略仅允许在上次成功构建清理之前X天.
我正在寻找一种方法来共享多个构建配置之间的内部版本号.目标是拥有某种类型的全局计数器,所有构建配置都会增加它并在其自己的构建号中使用它.
我有一些看起来像这样的XML:
<?xml version="1.0" encoding="utf-8"?>
<XmlConfig instancetype="XmlConfig, Processing, Version=1.0.0.0, Culture=neutral">
<item>
<key>IsTestEnvironment</key>
<value>True</value>
<encrypted>False</encrypted>
</item>
<item>
<key>HlrFtpPutDir</key>
<value>C:\DevPath1</value>
<encrypted>False</encrypted>
</item>
<item>
<key>HlrFtpPutCopyDir</key>
<value>C:\DevPath2</value>
<encrypted>False</encrypted>
</item>
....
</Provisioning.Lib.Processing.XmlConfig>
Run Code Online (Sandbox Code Playgroud)
在TeamCity中,我有许多系统属性:
system.HlrFtpPutDir H:\ReleasePath1
system.HlrFtpPutCopyDir H:\ReleasePath2
Run Code Online (Sandbox Code Playgroud)
我可以用什么样的MsBuild魔法将这些值推送到我的XML文件中?总共有20个左右的项目.
teamcity ×10
msbuild ×4
.net ×3
git ×3
.net-4.0 ×1
bitbucket ×1
build ×1
git-checkout ×1
nuget ×1
nunit ×1
slowcheetah ×1
tags ×1
teamcity-7.0 ×1
teamcity-9.0 ×1
winapi ×1
xml ×1