我刚跑 nuget spec在.csproj文件所在的文件夹中,并且没有将依赖项写入.nuspec文件。应该有吗?
该解决方案启用了软件包还原功能,并且可以在TeamCity上很好地构建。
在Teamcity(版本7.1)中,如何设置要触发的构建,例如每20分钟运行一次?
我注意到你可以设置基于时间的计划,例如"每天18:00运行这个版本",但这不是我想要的.
我们有一个使用C#,C++/Cli和一些原生C++代码的项目.我们使用TeamCity进行构建和测试.
我们使用vstest.console(VS2012测试运行器)运行测试.
对于托管代码,dotCover(集成到TeamCity中)用于代码覆盖.但是,它不适用于本机C++代码(这是预期的).
如何获得代码覆盖率结果我们对原生C++部分的单元测试进入TeamCity?理想情况下,解决方案是免费的.
对于冲突的编译器,我遇到了一个奇怪的问题,因为UIFont systemFontOfSize:weight据说只能从iOS 8.2获得.
在本地,我可以编译一个使用该功能的项目到运行iOS 8.0的iPhone 6上,它运行得很好.我也可以使用正确的结果编译到8.1模拟器,包括加权.
问题是我们正在使用Team City,并且该行不会使用iOS 8.0 SDK在服务器上编译.我知道解决方案是删除该行,但我想找出为什么它在本地编译期间没有捕获错误...该功能在iOS 8.2之前是否可用但是作为私有API?
我们需要定期,我们将运行构建配置,其中包括重新创建令牌/登录等.我们希望将这些作为环境变量保存回Team City.我们随后执行的构建将要查看此Environment Variable存储,并根据需要在我们的配置中执行字符串替换.
我看了看:
##teamcity[setParameter name='env.TEST' value='test']
Run Code Online (Sandbox Code Playgroud)
但是从阅读文档来看,这仅用于在同一构建中的构建步骤之间传递变量.它实际上并没有将变量保存回Team City.
是否有任何方法(最好来自powershell脚本),调用Team City并告诉它添加环境变量(或任何其他变量).
我启用了一个名为"AssemblyInfo修补程序"的"构建功能"来调整我的TeamCity构建生成的DLL版本.我从另一个问题中重新混合了信息并提出了这个Assembly version format设置:
1.0.%build.vcs.number%.%system.build.number%
Run Code Online (Sandbox Code Playgroud)
现在我想要实现的最后一件事是让Major(1)和Minor(0)来自原始文件,而不是将它们硬编码到TeamCity中.
我怎样才能做到这一点?
我已经猜到/试过了:
{1}.{0}.%build.vcs.number%.%system.build.number%
Run Code Online (Sandbox Code Playgroud)
但这会产生错误.我试过了:
%build.vcs.number%.%system.build.number%
Run Code Online (Sandbox Code Playgroud)
但是这会产生vcs.number和build.number作为主要/次要而不是构建和修订号,例如1234.21.0.0.
我已经阅读了AssemblyInfo修补程序文档,但它根本没有解释.
我已经浏览了可用的变量(带有输入字段右侧的图标),但没有找到相关的变量.
如何设置"AssemblyInfo修补程序",以便:
如果可能的话?
在代理要求方面,我设置了:
system.agent.name EQUALS agent1
Run Code Online (Sandbox Code Playgroud)
现在,构建仅在agent1上运行.
如何使构建能够运行"agent1"和"agent2"?
因此,例如,如果"agent1"忙,则允许"agent2"运行.
我在TeamCity中建立了一个要构建工件zip文件的构建。
我可以Edit Configuration Settings => General Settings => Artifact Paths用来设置要压缩的文件和zip文件名。
我想使名称更具描述性,TeamCity让我使用参数,例如:
out/mypackagedfiles/** => MyBuild_%build.number%.zip
Run Code Online (Sandbox Code Playgroud)
会给我一个zip文件,例如MyBuild_46.zip。
我还想包括构建所基于的分支。这也可以作为TeamCity参数使用,但是它包含一个正斜杠(例如feature/my_great_feature)。因此,如果在Artifact Paths配置中使用此命令,则会得到一个包含zip文件的目录:
out/mypackagedfiles/** => MyBuild_%build.number%_%vcsroot.branch%.zip
Run Code Online (Sandbox Code Playgroud)
给出my_great_feature.zip一个名为的目录MyBuild_46_feature。
我想做的是以某种方式从分支名称中删除/替换正斜杠以获得一个zip文件,例如MyBuild_46_feature_my_great_feature.zip。
只要分支名称是可识别的,我就不必担心确切的格式。
关于可能存在的想法-但我找不到:
vcsroot.branchArtifact Paths配置中的某种字符串操作==编辑==
基于下面的oryades答案(看起来像linux bash命令行),我将其转换为Windows PowerShell,如下所示:
将脚本设置为“源代码”并粘贴以下内容:
$branch_name="%vcsroot.branch%".replace('/','_')
echo "Sanitised branch for Artifact zip = " $branch_name
echo "##teamcity[setParameter name='env.branch_name' value='$branch_name']"
Run Code Online (Sandbox Code Playgroud)请注意,TeamCity允许您替换%vcsroot.branch%-这是在PowerShell运行之前发生的替换。感谢Team City和Power Shell提供的提示
我正在使用Cake 0.21.1.0.
对于我的项目,作为TeamCity的构建步骤,我执行build.ps1,然后调用build.cake.我build.ps1根据CAKE文档将以下参数传递给我的脚本:
-ScriptArgs '-MSBuildLogger="JetBrains.BuildServer.MSBuildLoggers.MSBuildLogger,%teamcity.dotnet.msbuild.extensions4.0%"'
Run Code Online (Sandbox Code Playgroud)
在build.cake,我添加了以下行:
var msBuildLogger = Argument<string>("MSBuildLogger");
Run Code Online (Sandbox Code Playgroud)
但是,抛出以下错误:
[15:37:22]Error: Argument 'MSBuildLogger' was not set.
[15:37:22]Process exited with code 1
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
teamcity ×10
assemblyinfo ×1
branch ×1
cakebuild ×1
dotcover ×1
git ×1
ios8.2 ×1
linux ×1
powershell ×1
redhat ×1
sdk ×1
unit-testing ×1
versioning ×1