Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is TeamCity build agent marked as "Incompatible"?

Tags:

macos

teamcity

I am running TeamCity 8 Server and Build Agent (installed with WebStart) on Mac OSX 10.8

My only build agent is coming up as incompatible with the reason

Implicit requirements: 
AppBuildType defined in Build step: Command Line

However, my build agent lists:

.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

You can see that Command Line: Simple command execution is indeed in my build agent's list of compatible build types - yet it has been marked as NOT compatible.

What else could be causing this to happen? Am I wrong to expect that it should be compatible because the built types match?

Note: I have tried disabling that build step, and it does indeed then become 'compatible'. Renable, and it goes back to 'incompatible' again.

like image 291
Adam Avatar asked Jun 30 '13 06:06

Adam


People also ask

How do I add a compatible agent in TeamCity?

Click the Agents and select the desired build agent. Click the Compatible Configurations tab. Select Run selected configurations only and tick the desired build configurations names to run on the build agent.

How do I authorize a build agent on TeamCity?

If a build agent is installed and running on the same computer as the TeamCity build server, it is authorized automatically. Agents are manually enabled/disabled via the web UI. The TeamCity server only distributes builds to agents that are enabled.

How do I enable my TeamCity agent?

Agents can be manually enabled/disabled via the web UI by clicking the status icon (1) next to the agent's name. Optionally, you can tell TeamCity to automatically disable/enable the agent after a period of time and enter your comment. TeamCity will follow the instructions and show the comment icon (2).

How does TeamCity determine which agents are incompatible with the current build?

After this requirement is created, TeamCity will check the value of the jvm.os.name system property on all active agents. If it does not equal Windows on a particular agent, this agent will be marked as incompatible with the current build configuration.

How does TeamCity monitor builds?

The TeamCity server monitors all the connected agents and assigns queued builds to the agents based on compatibility requirements, agent pools, build configuration restrictions configured for an agent and the selection algorithm described here. In TeamCity, a build agent can have following statuses:

What are agent requirements in TeamCity?

Agent requirements are used in TeamCity to specify whether a build configuration can run on a particular build agent besides agent pools and specified build configuration restrictions.

How do I upgrade a TeamCity agent?

A TeamCity agent is upgraded automatically when necessary. The process involves downloading new agent files from the TeamCity server and restarting the agent on the new files. In order to successfully accomplish this, the user under whose account the agent runs should have enough permissions. Typically, an agent upgrade happens when:


1 Answers

General

When you see this, double-check your build steps. One of your steps that uses the command line has some invalid arguments.

The easiest way to narrow it down is disable all of the steps (or just the ones with command line) and then start turning them on one at a time, watching to see if it knocks your agent out of compatibility.

In your case...

You appear to only have one command line step, so that should be easy. Disable it, and it should show you that you now have compatible agents again. Re-enable it and hack on it until you can get it to work. I've seen problems before with the arguments, the path to files, etc., and you do not get a very helpful error message.

like image 101
Damon Avatar answered Oct 12 '22 03:10

Damon