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

Plugin is bundled with TeamCity distribution since TeamCity 5.1.

Documentation

Installation instructions

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

Plugin usage

The VCS is visible as "SourceGear Vault" in 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 TeamCity online documentation.

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

Logging in debug mode

To enable plugin logging in debug mode edit <TeamCity Home>/conf/teamcity-server-log4j.xml - remove XML comments that are 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 Vault Java API (that TeamCity uses to communicate with Vault server) and can't 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 SourceGear Vault API is static and is not designed to work with more than one repository.

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

  • TeamCity >= 8.1 + Vault < 6.0

Known issue is TW-35021.
To workaround the issue you may add teamcity.vcs.vault.classloading=full internal property to .BuildServer/config/internal.properties file and restart 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 OutOfMemoryError until you increase -XX:MaxPermSize .

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

  • TeamCity <= 8.0 + any Vault version

Known issue is slowness due to internal Vault cache building (TW-30577, TW-31848), especially if the repository is huge.
Nothing to do 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

Development links

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

Related Materials

Tracker Issue

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.