Child pages
  • Vault
Skip to end of metadata
Go to start of metadata

General Info

Vendor

JetBrains

License

Apache 2.0

Type

free, open-source

Plugin Description

Adds SourceGear Vault VCS support.

Plugin Development Status

The plugin is bundled with TeamCity distribution since TeamCity 5.1.

Documentation

Installation instructions

  1. 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.
  2. Restart the TeamCity server.

Plugin usage

The VCS is visible as SourceGear Vault in the VCS chooser.

Specify repository connection settings.

  1. Vault server URL. Should have http://<server>[:<port>]/VaultService structure. Use http:// URL prefix for SSL connection.
  2. Repository name
  3. User name
  4. Password

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 via http://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=full internal 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

  • Obsolete Builds at JetBrains public TeamCity instance.
  • Sources in the JetBrains Subversion repository.

Related Materials

Tracker Issue

  • No labels