Child pages
  • Git

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

The plugin is bundled in the latest since TeamCity 5.0 EAP.
If you installed the plugin manually, please remove it from .BuildServer/plugins when using TeamCity 5.0 and later.

This page contains information for those who need to use the plugin with TeamCity

General Info

Vendor

JetBrains

License

Apache 2.0

Type

free, open-source

Plugin Description

Adds Git support.

Plugin Development Status

Early access program is open. Snapshot builds are available.
Everyone is encouraged to try the plugin, however issues can be uncovered.

TeamCity Versions Compatibility

...

The

...

Download

Directly from public TeamCity server: last build for TeamCity 4.5, last build for TeamCity 5

Documentation

The VCS is visible as "Git (JetBrains)" in VCS chooser to eliminate confusion with third-party plugin.

The implementation is powered by JGit. Remote run

Plugin is supported in IntelliJ IDEA and Eclipse, pre-tested commit is not yet supported in any of the IDEs.

The following protocols are supported for the server-side checkout mode:

Agent Checkout Support

Only available since TeamCity 5.1.1.
The git plugin contains experimental support for agent-side checkout. Unlike the server-side support, this is implemented using native git binaries, so you need to have git installed on all the agents that you plan to use agent-side git checkout on.

Path to git executable can be specified in the VCS root settings, otherwise it will be searched for in the default installation locations, in the path specified by TEAMCITY_GIT_PATH environment variable or (since TeamCity 5.1.3) in system PATH.

Agent checkout has limited support for SSH. Currently you can use only "Default Private Key" authentication method.

Supported default installation locations:

  • Windows (git.exe)
    • C:\Program Files\Git\bin
    • C:\Program Files (x86)\Git\bin
    • C:\cygwin\bin
  • Unix (git)
    • /usr/local/bin
    • /usr/bin
    • /opt/local/bin
    • /opt/bin

Known Issues

  • Tagging is not supported over HTTP protocol (JGit limitation)
  • For SSH to work you should have correctly configured $HOME\.ssh-* Specify references to the keys in appropriate host sections (keys with passphrases do not work yet)
    • You will need to specify "StrictHostKeyChecking" to "no" if you do not want for ssh to fail when connecting new hosts.
    • The file could be used to specify host aliases
  • Plugin creates temporary bare repositories in ~/.BuildServer/system/caches/git this repositories are not cleaned up automatically. This directory are shared for different VCS roots with the same URL. See teamcity.remote configuration property to see URL for which directory is used.
  • java.lang.OutOfMemoryError while fetch repository. Usually happens when there are big files in repository. Currently jgit library loads file contents into the memory. To run fetch in separate process use property teamcity.git.fetch.separate.process.

...

described in the TeamCity documentation (Git).

Plugin is open-sourced and can be used as an example of TeamCity VCS support implementation. See the links below.

Plugin Development Status

Stable, production quality.

TeamCity 4.5.x Versions

If you want to use Git with TeamCity 4.5.x, you can download the plugin directly from the public TeamCity server: last build for TeamCity 4.5.

Then install it:

  1. Put jetbrains.git.zip into <TeamCity Data Directory>/plugins folder.
  2. Restart the server.

It is possible to to configure the following system properties for the Git plugin:

Property

Default

Description

teamcity.git.clone.timeout

18000

Timeout in seconds for transport that is used when the branch were never fetched

teamcity.git.fetch.timeout

1800

Timeout in seconds for transport that is used when the branch were previously fetched

teamcity.git.fetch.separate.process

false

Run git fetch in separate process or not, by default it is ran in the server's process

teamcity.git.commit.debug.info

false

Log additional debug info on each found commit

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

...

Documentation

For details on configuring a Git VCS Root and known issues description, please refer to TeamCity documentation.

Repository https://github.com/JetBrains/teamcity-git
Clone URL: git@github.com:JetBrains/teamcity-git.git
Builds at JetBrains public TeamCity instance.

Related Materials

Tracker Issue

History

Date

Build

Description

2009-07-03

pub-27

Added submodules support. Submodules are treated as a logical part of working tree from point of view of collect changes and build patch operations.

Original tracker issue