Team Foundation Server
This page contains descriptions of the fields and options available when setting up a VCS root to connect to Microsoft Team Foundation Server Version Control. Common VCS Root properties are described here.
When connecting to a Visual Studio Team Services Git repository, select Git as Type of VCS.
Cross-Platform TFS Integration
TeamCity 10 features the cross-platform TFS integration, which works on Linux, Mac OS X, and Windows platforms. Without installing additional software, TeamCity servers and build agents can interact with Team Foundation Servers (from 2010 to 2017; 2018 is supported since TeamCity 2017.2) and Visual Studio Team Services.
The built-in TFS plugin can work in two modes: the default and cross-platform. The working mode is based on the availability of Team Explorer (default mode): if it is not present, the plugin falls back from the default to cross-platform mode.
When detecting the Team Explorer version, TeamCity checks .NET GAC and the following paths: - Windows x86: %\CommonProgramFiles%\Microsoft Shared\Team Foundation Server\%\version_number%
- Windows x64: %CommonProgramFiles(x86)%\Microsoft Shared\Team Foundation Server\%\version_number%
To enforce the cross-platform mode on TeamCity, set the teamcity.tfs.mode=java
internal property or build configuration parameter.
TFS Settings
Learn more about authentication in Visual Studio Team Services.
Agent-Side Checkout
The agent-side checkout is supported on Windows, as well as Linux and Mac agent machines.
TeamCity automatically creates a TFS workspace for each checkout directory used. The workspace is created on behalf of the user account specified in the VCS root settings.
By default, the created TFS workspace uses the location defined in the TFS server settings. You can force TeamCity to use a specific workspace location via the build configuration parameter teamcity.tfs.workspace.location
set to local
or server
.
The created TFS workspaces are automatically removed based on the timeout configured via the teamcity . tfs . workspace . idleTime
Build Agent Configuration set to the default value of 1209600
sec (2 weeks).
Option | Description |
---|---|
Enforce overwrite all files | When the option is enabled, TeamCity will call TFS to update workspace rewriting all files. |
Normally, there is no need to do a forced update for every build. But, if you suspect that TeamCity is not getting the latest version from the repository, you can use this option.
Authentication Notes
The following authentication options are available in Visual Studio Team Services.
Personal Access Tokens
To use access tokens, you need to create a personal access token in your Visual Studio Team Services account, where you have to set some Code access scope in you repositories and use it when configuring a VCS root.
Option | Description |
---|---|
Username | Leave blank for TFVC, any value for Git, e.g. username |
Password | Enter your personal access token created earlier |
Required Access Scope
TFS subsystem | Scopes |
---|---|
TFVC | All scopes |
Git | Code (read) / Code (read and write) for versioned settings |
Work Items | Work items (read) |
Commit Status | Code (status) |
Alternate Authentication Credentials
To use the login/password pair authentication, you have to enable alternate credentials in your Visual Studio Team Services account, where you can set a secondary username and password to use when configuring a VCS root.
NTLM/Kerberos on Linux and Mac OS X
To use this authentication method, check that your machine includes Kerberos libraries and that the authentication is properly configured. If you encounter any issues, please check the steps described in the Microsoft documentation.
Team Foundation Proxy Configuration
To enable usage of Team Foundation Proxy, define the TFSPROXY
environment variable for the user account which runs the TeamCity server or agent and restart them to apply changes.
HTTP Proxy Server Configuration
Default .NET Working Mode
To interact with the TFS server, the proxy server settings specified for the user account which runs the TeamCity server or agent will be used.
Cross-Platform Working Mode
The default Java proxy server settings specified for the TeamCity server or agent will be used in the TFS integration. On the TeamCity server, internal properties or Java options can be used. On the TeamCity agent, build agent configuration or Java options can be used. The TeamCity-TFS integration supports the following options: