Notices: This section not yet converted to new layout. Download stats are rolling back out.

TeamCity Continuous Integration Server (OpenJDK8)


Package test results are passing.

This package was approved as a trusted package on 8/30/2019.

Powerful Continuous Integration out of the box.

Professional edition of TeamCity is free forever and provides access to all product features, support via the forum and issue tracker, 100 build configurations, and 3 build agents. It is a perfect fit for small teams and individual developers.

Package Specific

This package installs TeamCity together with Java OpenJDK 8

Package Parameters

The following package parameters can be set:

  • /unzipLocation: - Root directory to install TeamCity service (defaults to c:\, which results in c:\TeamCity being used. A TeamCity folder is always created, so the actual install path is C:\TeamCity for the default case or path\TeamCity with a custom option)
  • /RunAsSystem - Run as SYSTEM user (defaults to true. If false, then username/password must be set)
  • /ServiceName: - Name of TeamCity Windows service (defaults to 'TeamCity')
  • /Domain: - Windows service domain
  • /Username: - Windows service username
  • /Password: - Windows service password

To pass parameters, use --params "''" (e.g. choco install packageID [other options] --params="'/ITEM:value /ITEM2:value2 /FLAG_BOOLEAN'").
To have choco remember parameters on upgrade, be sure to set choco feature enable -n=useRememberedArgumentsForUpgrades.

choco install teamcity --params "'/username=*user* /password=*password*'"

To install TeamCity Continuous Integration Server (OpenJDK8), run the following command from the command line or from PowerShell:

C:\> choco install teamcity-openjdk8

To upgrade TeamCity Continuous Integration Server (OpenJDK8), run the following command from the command line or from PowerShell:

C:\> choco upgrade teamcity-openjdk8


  • tools\.skipAutoUninstall
  • tools\chocolateybeforemodify.ps1 Show
    $ErrorActionPreference = 'Stop'; # stop on all errors
    if(!$PSScriptRoot){ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent }
    . "$PSScriptRoot\ChocolateyHelpers.ps1"
    $optionsFile = (Join-Path $PSScriptRoot 'options.xml')
    if (!(Test-Path $optionsFile)) {
      throw 'Install options file missing. Could not uninstall.'
    $options = Import-CliXml -Path $optionsFile
    $service = Get-Service | Where-Object Name -eq $options['serviceName']
    if ($service -ne $null) {
      Stop-Service $service
    $binPath = Join-Path $options['unzipLocation'] 'TeamCity\bin'
    if ((Test-Path $binPath) -and ($service -ne $null)) {
      Push-Location $binPath
      Start-ChocolateyProcessAsAdmin "$binPath\teamcity-server.bat service delete"
  • tools\chocolateyHelpers.ps1 Show
    function Get-ChocolateyPackageTempFolder {
          [string] $packageName
        $chocTempDir = Join-Path $env:TEMP 'chocolatey'
        $tempDir = Join-Path $chocTempDir "$packageName"
        if (![System.IO.Directory]::Exists($tempDir)) {[System.IO.Directory]::CreateDirectory($tempDir) | Out-Null}
        return $tempDir
    function Set-ChocolateyPackageOptions {
            [hashtable] $options
        $packageParameters = $env:chocolateyPackageParameters;
        if ($packageParameters) {
            $parameters = ConvertFrom-StringData -StringData $env:chocolateyPackageParameters.Replace(" ", "`n")
            $parameters.GetEnumerator() | ForEach-Object {
               $options[($_.Key)] = ($_.Value)
  • tools\chocolateyinstall.ps1 Show
    $ErrorActionPreference = 'Stop'; # stop on all errors
    $options = @{
      version = $env:ChocolateyPackageVersion;
      unzipLocation = 'C:\';
      runAsSystem = $true;
      serviceName = 'TeamCity';
      userName = '';
      domain = '';
      password = '';
    if(!$PSScriptRoot){ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent }
    . "$PSScriptRoot\ChocolateyHelpers.ps1"
    Set-ChocolateyPackageOptions $options
    if ($options['userName'] -ne '' -and $options['password'] -ne '') {
      $options['runAsSystem'] = $false;
    $filename = "TeamCity-$($env:ChocolateyPackageVersion).tar.gz"
    $platformPackageName = 'teamcity'
    $scriptPath = $(Split-Path -parent $MyInvocation.MyCommand.Definition)
    $commonPath = $(Split-Path -parent $(Split-Path -parent $scriptPath))
    $downloadFile = Join-Path  (Join-Path $commonPath $platformPackageName) $filename
    $tempFolder = Get-ChocolateyPackageTempFolder $env:ChocolateyPackageName
    $tarFile = Join-Path $tempFolder "TeamCity-$($env:ChocolateyPackageVersion).tar"
    Get-ChocolateyUnzip -FileFullPath $downloadFile -Destination $tempFolder
    Get-ChocolateyUnzip -FileFullPath $tarFile -Destination $options['unzipLocation']
    $binPath = Join-Path $options['unzipLocation'] 'TeamCity\bin'
    Push-Location $binPath
    $args = New-Object System.Collections.ArrayList
    $args.Add('service') | Out-Null
    $args.Add('install') | Out-Null
    if ($options['runAsSystem']) {
      $args.Add('/runAsSystem') | Out-Null
    else {
      $args.Add("/user=`"$($options['userName'])`"") | Out-Null
      $args.Add("/password=`"$($options['password'])`"") | Out-Null
      if ($options['domain'] -ne '')
        $args.Add("/domain=`"$($options['domain'])`"") | Out-Null
    $joined = $($args -join ' ')
    Start-ChocolateyProcessAsAdmin "$binPath\teamcity-server.bat $joined"
    $options['password'] = '';
    Export-CliXml -Path (Join-Path $PSScriptRoot 'options.xml') -InputObject $options
    Remove-Item $tarFile
  • tools\chocolateyuninstall.ps1 Show
    $ErrorActionPreference = 'Stop'; # stop on all errors
    if(!$PSScriptRoot){ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent }
    $optionsFile = (Join-Path $PSScriptRoot 'options.xml')
    if (!(Test-Path $optionsFile)) {
      throw 'Install options file missing. Could not uninstall.'
    $options = Import-CliXml -Path $optionsFile
    Remove-Item (Join-Path $options['unzipLocation'] 'TeamCity') -Recurse -Force

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.


Package Maintainer(s)

Software Author(s)

  • JetBrains


JetBrains s.r.o.


Release Notes

Version History

Version Downloads Last updated Status
TeamCity Continuous Integration Server (OpenJDK8) 2019.1.2 15 Thursday, August 1, 2019 approved
TeamCity Continuous Integration Server (OpenJDK8) 2019.1.1 54 Wednesday, June 26, 2019 approved
TeamCity Continuous Integration Server (OpenJDK8) 2019.1 124 Sunday, May 26, 2019 approved

Discussion for the TeamCity Continuous Integration Server (OpenJDK8) Package

Ground rules:

  • This discussion is only about TeamCity Continuous Integration Server (OpenJDK8) and the TeamCity Continuous Integration Server (OpenJDK8) package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or TeamCity Continuous Integration Server (OpenJDK8), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus uses cookies to enhance the user experience of the site.