Team Foundation Server: Berechtigungen für Team Build setzen

Written on April 30, 2008

Wie man eine Build Definition für Continuous Integration mit Team Foundation Server 2008 einrichtet, ist hier sehr gut beschrieben

Continuous Integration with Visual Studio 2008 ("Orcas") Team Foundation Server

Nicht beschrieben ist jedoch, wie man nach der Installation von Team Build mit z.B. NT AUTHORITY\NETWORK SERVICE als Service Account einen Team Build auch erfolgreichen queuen kann.

Verwendet man nämlich eben diese Standard-Einstellungen, erhält man immer folgende Fehlermeldungen:

TF215085: An error occurred while connecting to agent \[ProjectName]\[BuildAgentName]

TF209009: The account [BuildAgentAccount] is not authorized to communicate with Team Foundation Server [TeamFoundationServer]. Verify that the account is a member of the Build Services security group for the appropriate team project on the Team Foundation Server and that the account's password has not expired.

Die in der Fehlermeldung TF209009 Berechtigungen lassen sich über den Team Explorer in den "Group Membership"-Einstellungen des jeweiligen Projektes leicht ändern.

Allerdings bleibt die Fehlermeldung auch danach bestehen.

Der Grund hierfür ist, dass der User NT AUTHORITY\NETWORK SERVICE noch der Gruppe "Team Foundation Licensed Users" hinzugefügt werden muss.

Dies lässt sich über das Kommandozeilentool

tfssecurity.exe

in

C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools

erledigen:

C:\>C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools>tfssecurity /server:xxtfs1 /g+ "[server]\Team Foundation Licensed Users" n:"NT AUTHORITY\NETWORK SERVICE"

TFSSecurity - Team Foundation Server Security Tool
Copyright (c) Microsoft Corporation. All rights reserved.

The target Team Foundation Server is xxTFS1.
Resolving identity "[server]\Team Foundation Licensed Users"...
[SERVER]\Team Foundation Licensed Users
Resolving identity "n:NT AUTHORITY\NETWORK SERVICE"...
[U] NT AUTHORITY\NETWORK SERVICE
Adding NETWORK SERVICE to Team Foundation Licensed Users...
Verifying...

SID: S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-4

DN:

Identity type: Team Foundation Server application group
Group type: LicenseesApplicationGroup
Project scope: Server scope
Display name: Team Foundation Licensed Users
Description: Users that are licensed to use the Workgroup Edition of Team Foun
dation Server

2 member(s):
[U] NT AUTHORITY\NETWORK SERVICE
[U] xxxxxxxxxxxxx\xxxxxx (Alexander Zeitler)

Member of 1 group(s):
e [A] [SERVER]\Team Foundation Valid Users

Done.

Nach einem erneuten Aufruf von Queue New Build klappt dann auch der Buildvorgang (möglicherweise muss man vorher noch den Status des zugewiesenen Build Agents von "Unreachable" auf "Enabled" zurücksetzen).