General Info

Plugin Description

Plugin Development Status

The plugin is bundled with TeamCity distribution since TeamCity 5.1.

Documentation

Installation instructions

Put the Vault Java API jars (available with Java Command Line client) into the <TeamCity Data Directory>/plugins/VaultAPI/lib folder.
The Vault Java API jars can be found in the vaultJavaCLC##/lib directory, where ## are the digits corresponding to the Vault version.

To configure repository sources labeling, please refer to the corresponding section in the TeamCity online documentation.

Only server-side checkout is supported. Personal builds (remote run and pre-tested commit) are not yet supported.

Logging in debug mode

Enable plugin logging in the debug mode using the TEamCity Web UI as described here. You can also manually edit the <TeamCity Home>/conf/teamcity-server-log4j.xml \ file - remove the XML comments marked with "DELETE THIS LINE FOR ENABLING DEBUG LOGGING" text.
The file can be modified without application restart.

Known issues

Vault Java API problems

These problems are related to the Vault Java API (that TeamCity uses to communicate with Vault server) and cannot be fixed on the TeamCity side.They should be redirected to SourceGear Vault team viahttp://support.sourcegear.com/.

The main cause of the mentioned problems is that the SourceGear Vault API is static and is not designed to work with more than one repository.

We workaround some of the problems in the TeamCity SourceGear Vault plugin, but the workarounds may not work with some Vault versions:

TeamCity >= 8.1 + Vault < 6.0

There is a [known issue]. To workaround the issue, add the teamcity.vcs.vault.classloading=fullinternal property and restart the TeamCity server.
If you have several Vault VCS roots in your TeamCity installation (working with different Vault repositories), the workaround may increase PermGen usage and cause the OutOfMemoryError} until you increase -XX:MaxPermSize .

Another workaround to switch to the TeamCity 8.0 behaviour by using a custom 8.0 Vault plugin build (see attached) but this may cause the slowness mentioned below.

TeamCity <= 8.0 + any Vault version

The known issue is slowness due to the internal Vault cache building (TW-30577, TW-31848), especially if the repository is huge.
There is nothing that can be done on the TeamCity side.

Other problems

Agent-side checkout not supported

Since the plugin uses Vault Java API, you can face the problem with threads running a keep-alive through the Ping API (bug:15244 on SourceGear issue tracker) which results in many HistoryBeginPing threads hanging. The problem was fixed in Vault 5.0.4, so we strongly advise to use the latest Vault Java API.

If you are having trouble connecting to a Vault Server using SSL, you may need to import the ssl certificate into your Java keystore using Java's keytool. More details can be found here.

Feedback/Support

If you believe you've faced a bug: Issue Tracker
If you want to ask a question or discuss: Forum
Any of the above, but you do not want it to be publicly accessible: Feedback email