2015-06-15 16 views
11

Bei der Konfiguration eines Build-Agenten mit dem PowerShell-Skript, das von einem TFS2015 vor Ort bereitgestellt wird, tritt ein Fehler auf, da das Skript den Agentenpool auf dem Server nicht finden kann. Der 'Standard' des Agentenpools ist jedoch definitiv vorhanden. Auf einem anderen Server funktioniert dasselbe Skript wie erwartet und Builds werden ausgeführt. Siehe Skriptausgabe unten.Die Konfiguration eines TFS2015-Build-Agenten schlägt fehl, weil der Agenten-Pool nicht gefunden wurde. Warum?

Ich habe folgende versucht:

  • Erstellen Sie einen neuen Agentenpool auf dem Server, und Hinweis, dass im Skript. Gleiches Problem "Agentenpool nicht gefunden".
  • Installiert vs2015 mit minimalen Funktionen.
  • Der Benutzer, der das Skript ausführt, ist Mitglied der Sicherheitsgruppen "Build Administrators" und "Build Service Accounts".

Was verursacht das Scheitern des Skripts bei der Agentenpoolüberprüfung?

PS C:\Windows\system32> E:\Build\agent\ConfigureAgent.ps1
Enter the name for this agent (default is Agent-SRV001): BUILD002
Enter the url for the Team Foundation Server (default is): http://[ip-address]:8080/tfs
Configure this agent against which agent pool? (default pool name is 'default'):
Enter the path of work folder for this agent (default is 'E:\Build\agent_work'): E:\Build\Work
Would you like to install the agent as a Windows Service (Y/N) (default is Y): n
Would you like to unconfigure any existing agent (Y/N) (default is N; the agent will be updated):
Configuring agent Unblocking files Calling agent configure without /RunningAsService Calling agent configure without /Force
Unable to find a agent pool with the name: default
WARNING: Configure agent failed, but you might fix this problem by configure with /Force.
Would you like to try agent configure again with parameter -Force (Y/N): y
Calling agent configure without /RunningAsService
Calling agent configure with /Force
Unable to find a agent pool with the name: default
E:\Build\agent\ConfigureAgent.ps1 : Configure agent failed. At line:1 char:1
+ E:\Build\agent\ConfigureAgent.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,ConfigureAgent.ps1

+5

Ist der Benutzer ein Mitglied des Agentenpools Service Gruppenkonten? –

+0

nein war es nicht! Ich habe den Benutzer der Gruppe "Dienstkonten" hinzugefügt, aber das führte zu einem anderen Fehler: "Benutzer benötigt die Berechtigung Verwalten für den Poolstandard ..." Das Hinzufügen des Benutzers zur Gruppe "Pooladministratoren" löst das Problem, tut dies aber nicht fühle mich wie es der richtige Weg ist. – RoelF

+0

Seltsam ... Ich hätte angenommen, dass das Erstellen meines Dienstkontos ein Mitglied von Project Collection Build Service Accounts gewesen wäre. –

Antwort

10

Wie in den Kommentaren erwähnt, aber ich bin der Beantwortung meiner Frage der Vollständigkeit halber:

Das Benutzerkonto den Build-Prozess-Skript ausgeführt wird, muss ein Teil des Agent Pool Administrator Accounts sein.
Die Fehlermeldung aus dem Skript ist irreführend.

+4

Haben Sie irgendwelche Links, wie das gemacht wird? – user1

+1

@ user1 siehe: https://lajak.wordpress.com/2016/03/24/fix-tfs-2015-builds-queue-is-empty/ – timB33

+0

@ timB33, dieser Link funktioniert nicht mehr –

4

Um diesen Fehler zu beheben, musste ich den Windows-Benutzer, der den TFS-Build-Agent ausführt, der Zugriffsebene "Advanced" hinzufügen. Dies kann unter der Administrationsoberfläche von root TFS Administer Server (oberster rechter Zahnrad)> Zugriffsebenen erfolgen. (http://your-tfs-server-here:8080/tfs/_admin/_licenses) Meine Standardzugriffsebene für den Server ist auf Stakeholder festgelegt.

+0

Ich hatte auch ein dediziertes Baukonto. Scheint völlig unabhängig, aber geändert Standardzugriff auf Basic, anstatt Stakeholder. Neustart des Dienstes und alles wurde zum Leben erweckt. –

+0

Basic scheint genug zu sein. –

1

Die Antwort von @RoeIF funktionierte für mich, aber ich hatte ein bisschen Mühe, die Seite zu finden, die benötigt wurde, um das Konto hinzuzufügen. Hier ist ein Bildschirm greifen zu helfen:

enter image description here