为什么TeamCity构建代理标记为"不兼容"?

Ada*_*dam 7 macos teamcity

我在Mac OSX 10.8上运行TeamCity 8 Server和Build Agent(随WebStart一起安装)

我唯一的构建代理与其原因不符

Implicit requirements: 
AppBuildType defined in Build step: Command Line
Run Code Online (Sandbox Code Playgroud)

但是,我的构建代理列出:

.NET Process Runner: Runner to run .NET processes under specified runtime, framework     version and with/without code coverage
Ant: Runner for Ant build.xml files
Command Line: Simple command execution
Duplicates finder (Java): Runner for gathering IntelliJ IDEA duplicates results
Gradle: Runner for Gradle projects
Inspections (IntelliJ IDEA): Runner for gathering IntelliJ IDEA inspection results
IntelliJ IDEA Project: Runner for IntelliJ IDEA projects
Ipr (obsolete runner): Runner for IntelliJ IDEA project (.ipr) files
Maven: Runner for Maven builds
MSBuild: Runner for MSBuild files
NAnt: Runner for NAnt build files
NUnit: NUnit tests runner
Rake: Runner for executing Rake tasks, Test::Unit and RSpec tests
Visual Studio (sln): Microsoft Visual Studio solution (.sln) runner
Visual Studio 2003: Microsoft Visual Studio .NET 2003 solution file build runner
Xcode Project: Runner for Xcode projects
Run Code Online (Sandbox Code Playgroud)

您可以看到它Command Line: Simple command execution确实存在于我的构建代理程序的兼容构建类型列表中 - 但它已被标记为不兼容.

还有什么可能导致这种情况发生?我错误地认为它应该兼容,因为构建的类型匹配?

注意:我已经尝试禁用该构建步骤,它确实变得"兼容".可重复,它又回到'不兼容'.

Dam*_*mon 8

一般

当您看到这一点时,请仔细检查您的构建步骤.使用命令行的一个步骤有一些无效的参数.

缩小范围的最简单方法是禁用所有步骤(或仅使用命令行的步骤),然后一次开启一个步骤,观察它是否会使您的代理失去兼容性.

在你的情况下......

您似乎只有一个命令行步骤,因此应该很容易.禁用它,它应该显示您现在再次拥有兼容的代理.重新启用它并破解它直到你可以让它工作.我之前看到过有关参数,文件路径等问题,并且您没有收到非常有用的错误消息.

  • 好的 - 这就是问题所在.我现在无法使用"命令行"工作(包括将我的脚本简化为'echo hello') - 然而,我将类型更改为"可执行文件"并且在最初遇到问题之后 - 我追踪到了一个我的参数中使用的变量不在TeamCity 8的选项列表中.如果TeamCity的任何人正在阅读此内容 - 请更新您在此方案中的错误,因为这会产生误导.如果您正在解析脚本以验证变量,并且其中一个不合法,请在网页上的某个位置显示!谢谢达蒙 (3认同)