TeamCity サーバーのインストールと設定
このページでは、新しい TeamCity サーバーのインストールについて説明します。アップグレード手順については、アップグレードを参照してください。
TeamCity サーバーをインストールするには、次の手順に従います。
以下の詳細に基づいて、適切な TeamCity ディストリビューション(
.exe
,.tar.gz
または Docker イメージ(英語))を選択します。AWS スタックで TeamCity を実行することもできます。ディストリビューションをダウンロードします。
TeamCity ライセンスポリシーを確認してください。
以下の手順に従って TeamCity サーバーをインストールして設定します。
TeamCity サーバーをインストールする
TeamCity インストールオプションのいずれかを選択したら、対応するインストール手順に進みます。
Windows の .exe ディストリビューション– Windows プラットフォームのインストールウィザードを提供し、サーバーを Windows サービスとしてインストールできる実行可能ファイル。
.tar.gz ディストリビューション–すべてのプラットフォームに適した「ポータブル」バージョンのアーカイブ。
Docker イメージ–イメージページ(英語)の説明を確認してください(英語)。
.exe
および .tar.gz
ディストリビューション:
TeamCity がテストされている Tomcat バージョンを含めてください。これにより、動作する組み合わせとして知られています。これは、外部 Tomcat には当てはまらない場合があります。
サーバーの実行に通常推奨される追加の JRE オプションを定義します。
teamcity-server 起動スクリプトには、いくつかの便利なオプション(たとえば、メモリ設定用の個別の環境変数)を提供し、TeamCity を正しく構成します(たとえば、
.log4j
構成)。少なくとも Windows では、場合によっては(Java のインストールが欠落しているなど)エラー報告を改善します。
Windows では、TeamCity をコンソールとして実行する場合と同じ構成を使用する機能を持つサービスとして実行できます。
ビルドエージェントのディストリビューションと、1 つのエージェントで TeamCity サーバーを簡単に評価できる単一の起動スクリプトがバンドルされています。
TeamCity プラグイン開発(英語)の devPackage にバンドルされています。
将来、より便利な機能を提供する可能性があります。
インストール後、TeamCity Web UI に Web ブラウザーからアクセスできます。デフォルトのアドレスは、Windows ディストリビューションの場合は http://localhost/
(英語)、tar.gz
ディストリビューションの場合は http://localhost:8111/
(英語) です。
インストールに成功しても TeamCity Web UI にアクセスできない場合は、TeamCity インストールのトラブルシューティングのセクションを参照してください。
Windows、Linux、または macOS には、ビルドサーバーと 1 つのビルドエージェントがデフォルトでインストールされます。さらにビルドエージェントが必要な場合は、追加のビルドエージェントのインストールセクションを参照してください。
Windows インストールパッケージを介した TeamCity のインストール
Windows プラットフォームの場合は、実行可能ファイルを実行してインストールの指示に従います。TeamCity Web サーバーと Windows サービスとして実行できる 1 つのビルドエージェントをインストールするオプションがあります。
サービスのインストールを選択した場合は、標準の Windows Services
アプレットを使用してサービスを管理します。それ以外の場合は、標準スクリプトを使用します。
インストール中にデフォルトのポート(80)を変更しなかった場合、TeamCity Web UI は、サーバーがインストールされているのと同じマシンで実行されている Web ブラウザーで http://localhost/
(英語) を介してアクセスできます。ポート 80 は、他のプログラム(たとえば、Skype、または IIS などの他の Web サーバー)で使用できることに注意してください。この場合、インストール中に別のポートを指定し、ブラウザーで http://localhost:<port>/
(英語) アドレスを使用できます。
インストール後に TeamCity サーバーのサービスパラメーター、メモリ設定、またはシステムプロパティを編集する場合は、TeamCity サーバー起動プロパティの設定ページを参照してください。
Tomcat サーブレットコンテナーにバンドルされている TeamCity のインストール (Linux、macOS、Windows)
インストールの前にソフトウェア要件を確認してください。
TeamCity<version number>.tar.gz
アーカイブを解凍します(たとえば、Linux では tar xfz TeamCity<version number>.tar.gz
コマンド、Windows では WinZip、WinRar、または同様のユーティリティを使用します)。GNU tar を使用して解凍します(たとえば、Solaris 10 tar は長すぎるファイル名を切り捨てることが報告されており、解凍後にサーバーを使用すると ClassNotFoundException
が発生することがあります。Solaris パッケージ(英語)または gtar xfz
コマンドで GNU tar を入手することを検討してください)。
JRE または JDK がインストールされており、JAVA_HOME
環境変数が Java インストールディレクトリを指していることを確認してください。Java JDK1.8.0_161 以降が必要です。
無人 TeamCity サーバーインストール
自動サーバーインストールの場合は、.tar.gz
ディストリビューションを使用してください。
通常は、解凍して本番用のサーバーの設定セクションに記載されている手順をスクリプトに実行させる必要があります。
事前に構成されたサーバーをすぐに入手したい場合は、事前に構成されたサーバーのファイルをデータディレクトリに配置します。新しいサーバーごとに、新しいデータベース( <Data Directory>\config\database.properties
で構成)を指していることを確認し、<Data Directory>\config\main-config.xml
ファイルを変更して、ルート XML 要素に uuid
属性を持たないようにし(新しい URL を生成できるようにする)、「rootURL 」属性。
Tomcat の他のバージョンを使う
.tar.gz
および .exe
ディストリビューションにバンドルされているものの代わりに TomcatWeb サーバーの別のバージョンを使用するには、Tomcat のアップグレード / パッチを実行できます。
後者の場合は、次のようにします。
現在の TeamCity ホームをバックアップします。
Tomcat ディストリビューションにも存在する TeamCity ホームからディレクトリを削除 / 削除します。
Tomcat ディストリビューションを TeamCity ホームディレクトリに解凍します。
- TeamCity 固有のファイルを以前にバックアップ / 移動したディレクトリから TeamCity ホームにコピーします。すなわち:
Tomcat ディストリビューションには存在しない
bin
のファイルデフォルトの Tomcat
conf
ディレクトリと TeamCity のディレクトリの違いを確認し、Tomcat ファイルを TeamCity 固有の設定で更新します。(teamcity- * ファイル、およびserver.xml
の一部)デフォルトの Tomcat
webapps/ROOT
ディレクトリを削除し、TeamCity によって提供されたものと置き換えます。
TeamCity サーバーの起動
Windows では、TeamCity サーバーが Windows サービスとしてインストールされている場合は、通常のサービス開始およびサービス停止手順に従ってください。
.exe
または .tar.gz
ディストリビューションを使用して TeamCity をインストールした場合は、<TeamCity ホーム > / bin ディレクトリにある teamcity-server
スクリプトを使用して TeamCity サーバーを起動および停止できます。このスクリプトは、run
(同じコンソールで実行)、start
(新しい独立したプロセスを開始してスクリプトを終了)、および stop
コマンドを受け入れます。
(評価のみ)TeamCity サーバーと 1 つのデフォルトエージェントを同時に起動 / 停止するには、
runAll
スクリプトを使用、例:runAll.bat start
を使用してサーバーとデフォルトのエージェントを起動するrunAll.bat stop
を使用してサーバーとデフォルトのエージェントを停止します
TeamCity サーバーのみを起動 / 停止する、
teamcity-server
スクリプトを使用して必要なパラメーターを渡します。使用方法を確認するには、パラメーターなしでスクリプトを起動します。teamcity-server
スクリプトは、stop
コマンドに対して以下のオプションをサポートします。stop n
- TeamCity サーバーに停止コマンドを送信し、プロセスが終了するのを最大 n 秒間待ちます。stop n -force
- TeamCity サーバーに停止コマンドを送信し、プロセスが終了するまで最大 n 秒間待機し、サーバープロセスが停止しなかった場合は終了します。
デフォルトでは、TeamCity は http://localhost:8111/
(英語) 上で動作します。サーバーポートを変更するには、以下の情報を参照してください。
特別なプロパティをサーバーに渡す必要がある場合は、TeamCity サーバー起動プロパティの設定を参照してください。
macOS 上の TeamCity サーバーを自動起動
macOS で TeamCity サーバーを起動することは、macOS で Tomcat を起動することと非常によく似ています。
TeamCity をインストールし、
bin/teamcity-server.sh start
を使用してコマンドラインから起動した場合に動作することを確認します。TeamCity は / Library / TeamCity フォルダーにインストールされていると仮定します次の内容で
/Library/LaunchDaemons/jetbrains.teamcity.server.plist
ファイルを作成します。<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>WorkingDirectory</key> <string>/Library/TeamCity</string> <key>Debug</key> <false/> <key>Label</key> <string>jetbrains.teamcity.server</string> <key>OnDemand</key> <false/> <key>KeepAlive</key> <true/> <key>ProgramArguments</key> <array> <string>/bin/bash</string> <string>--login</string> <string>-c</string> <string>bin/teamcity\-server.sh run</string> </array> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>logs/launchd.err.log</string> <key>StandardOutPath</key> <string>logs/launchd.out.log</string> </dict> </plist>次のコマンドを実行してファイルをテストします。
launchctl load /Library/LaunchDaemons/jetbrains.teamcity.server.plistこのコマンドは TeamCity サーバーを起動するはずです(これは
logs/teamcity-server.log
から、あなたのブラウザーで見ることができます)。ルート権限で TeamCity を起動したくない場合は、
.plist
ファイルで UserName キーを指定します。例:<key>UserName</key> <string>teamcity_user</string>
マシンの起動時に TeamCity サーバーが自動的に起動します。TeamCity Build Agent の自動起動を設定するには、専用のセクションを参照してください。
インストール構成
TeamCity インストールのトラブルシューティング
インストールが成功すると、TeamCity サーバーの Web UI に Web ブラウザー経由でアクセスできます。同じマシンから TeamCity にアクセスするために使用できるデフォルトアドレスは、インストールパッケージとインストールオプションによって異なります。(ポート 80 は、別のポートが指定されていない限り、Windows インストールに使用されます。サーバー構成で変更されていない限り、.tar.gz
インストールにはポート 8111 が使用されます)。
TeamCity Web UI にアクセスできない場合は、以下を確認してください。
"TeamCity サーバー " サービスが実行されています (Windows サービスとして TeamCity をインストールした場合)
TeamCity サーバープロセス(Tomcat)が実行 (これは <TeamCity ホーム > / bin ディレクトリで実行される
java
プロセスです)コンソールからサーバーを実行した場合のコンソール出力
エラーメッセージについては、
teamcity-server.log
および <TeamCity ホーム > \ logs ディレクトリにあるその他のファイル
サーバーのインストールに関する最も一般的な課題の 1 つは、別のプログラムによって既に使用されているポートを使用することです。デフォルトポートの変更については下記を参照してください。
サーバーポートの変更
TeamCity サーバーの Windows インストーラーを使用する場合は、インストール中に使用するポートを設定できます。
.tar.gz
ディストリビューションを使用している場合は、以下の手順に従ってポートを変更してください。他のアプリケーションが TeamCity サーバーと同じポートを使用している場合、TeamCity サーバー(Tomcat サーバー)は起動せず、サーバーログまたはサーバーコンソールに "Address already in use" エラーが表示されます。
サーバーポートを変更するには、<TeamCity ホーム > /conf/server.xml ファイルで、コメントが付けられていない <Connector>
XML ノードのポート番号を変更します(ここではポート番号は 8111 です)。
To apply the changes, restart the server. If the server was working with the old port previously, you would need to change the port in all the stored URLs of the server (browser bookmarks, agents' serverUrl
property, URL in user's IDEs, the Server URL setting on the 管理 | グローバル設定 page).
同じマシンで別の Tomcat サーバーを実行している場合は、他の Tomcat サーバーサービスポートも変更する必要があります( server.xml
ファイルで port=
を検索してください)。
https://
プロトコルを使用したい場合は、別に有効にする必要があります。プロセスは TeamCity に固有のものではなく、使用される Web サーバー(デフォルトでは Tomcat)用です。TeamCity Web UI 用に HTTPS を構成するも参照してください。
サーバーコンテキストの変更
デフォルトでは、TeamCity サーバーはサーバーアドレスのルートコンテキスト( http://localhost:8111/
(英語) など)でアクセス可能です。代わりにネストしたパス(たとえば http://localhost:8111/teamcity/
(英語))で利用できるようにするには、次の手順を実行する必要があります。
TeamCity サーバーを停止します。
<TeamCity ホーム > \ webapps \ ROOT ディレクトリの名前を <TeamCity ホーム > \ webapps \ teamcity に変更します。
TeamCity サーバーを起動します。
Java のインストール
TeamCity サーバーは、Tomcat アプリケーションサーバーで実行される JVM Web アプリケーションです。TeamCity サーバーを実行するには、Java SE JRE のインストールが必要です。互換性のある JRE は TeamCity Windows インストーラーにバンドルされていますが、他のディストリビューションを使用する場合は個別にインストールする必要があります。
最新の Java 11 x64 で TeamCity サーバーを実行することをお勧めします。推奨される Java ディストリビューションは Amazon Corretto(英語) です。
サポートされている Java バージョンは、OpenJDK および Oracle Java 8(8u16 以降)および 11 (32 または 64 ビットです。
TeamCity で使用するネイティブライブラリ(Microsoft SQL データベースの統合セキュリティオプションを使用するための .dll
など)を構成した場合、JVM x86 / x64 プラットフォームに一致するようにライブラリを更新する必要があります。
TeamCity は次のようにサーバープロセスを実行するために Java を選択します。
デフォルトでは、TeamCity インストールに JRE がバンドルされている場合(<TeamCity ホーム > \ jre ディレクトリが存在する場合)、TeamCity サーバープロセスの実行に使用されます。別の JRE を使用するには、
TEAMCITY_JRE
環境変数を使用してそのパスを指定します。<TeamCity ホーム > \ jre ディレクトリが存在しない場合、TeamCity は、JRE または JVM(Java SDK)のインストールディレクトリをそれぞれ指す
JRE_HOME
またはJAVA_HOME
環境変数を探します。両方の変数が宣言されている場合、JRE が使用されます。
Java インストールを更新するために必要な手順は、使用されるディストリビューションによって異なります。
TeamCity インストールにバンドルされた JRE がある場合(<TeamCity ホーム > \ jre ディレクトリがあります)、インストール手順に従って新しい JRE をインストールし、結果のディレクトリのコンテンツをコピーして既存の <TeamCity ホーム > \ jre のコンテンツを置き換えることにより、それを更新します。ディレクトリ。
<TeamCity ホーム > \ buildAgent ディレクトリから TeamCity エージェントも実行する場合は、JRE の代わりに JDK(Java SDK)インストールをインストールし、JDK インストールディレクトリの内容を <TeamCity ホーム > \ jre にコピーします。
64 ビット Java を使用して TeamCity サーバーを実行する
TeamCity サーバーは 64 ビット JVM にバンドルされていますが、32 ビットと 64 ビットの両方の Java で実行できます。
32 ビット Java を 64 ビット JVM に更新する必要がある場合は、32 ビットから 64 ビット JVM に切り替えるときにメモリ使用量がほぼ 2 倍になることに注意してください。- ビット JVM。TeamCity サーバーのメモリ設定を参照してください。
64 ビット Java に更新するには、Java のバンドルバージョンを使用するか、次のいずれかを実行します。
更新サーバーが使用する Java。
JVM メモリオプションを設定します。64 ビット JVM のオプション
-Xmx4g -XX:ReservedCodeCacheSize=450m
を設定することをお勧めします。
TeamCity サーバーのメモリ設定
TeamCity サーバーには、子プロセスを起動できるメインプロセスがあります。子プロセスはマシンで使用可能なメモリを使用します。このセクションでは、特別な構成が必要なため、メインの TeamCity サーバープロセスのメモリ設定のみを扱います。
TeamCity メインサーバープロセスは、JVM アプリケーションとして、JVM 専用のメモリのみを使用します。必要なメモリは、使用する JVM(32 ビットまたは 64 ビット)によって異なる場合があります。JVM が使用するメモリは通常、ヒープ( -Xmx
を介して構成されます)およびメタスペース(使用可能なネイティブメモリの量によって制限されます)、内部 JVM(通常は数十 Mb)、およびメモリマップファイルなどの OS 依存のメモリ機能で構成されます。TeamCity は主にヒープメモリに依存します。この設定は、TeamCity サーバーを実行している JVM に -Xmx
(ヒープスペース)オプションを渡すことにより、TeamCity アプリケーションに対して手動で構成できます。
実稼働目的で TeamCity の使用を開始するか、評価中にサーバーをロードする場合は、TeamCity サーバーの適切なメモリ設定を手動で設定する必要があります。
メモリ設定を変更するには、TeamCity サーバー起動プロパティの設定を参照してください。
通常、これは TEAMCITY_SERVER_MEM_OPTS
環境変数を -Xmx750m
のような値に設定することを意味します
Java 8 では無視されるため、TEAMCITY_SERVER_MEM_OPTS
環境変数から -XX:MaxPermSize
JVM オプションを削除することをお勧めします(以前に構成されている場合)。
速度が遅い、OutOfMemory エラーが発生する、または TeamCity UI にメモリ関連の警告が常に表示される場合は、設定を次のレベルに上げます。
最小設定:32 ビット Java
-Xmx750m
の場合、64 ビット Java(バンドル)-Xmx1024m
の場合中規模サーバーでの使用に推奨される設定:32 ビット Java
-Xmx1024m
の場合。32 ビット Java の設定を大きくすると、「ネイティブメモリ割り当て(malloc)が失敗しました」というOutOfMemoryError
JVM がクラッシュするか、「新しいネイティブスレッドを作成できません」というメッセージが表示されます。64 ビット Java-Xmx2048m
の場合。大規模サーバーでの使用に推奨される設定(64 ビット Java を使用する必要があります):
-Xmx4g -XX:ReservedCodeCacheSize=450m
これらの設定は、最大 200 のエージェントと数千のビルド構成のインストールに適しています。インストールされたカスタムプラグインでは、Xmx
パラメーターで定義された値を増やす必要がある場合があります。大規模サーバー使用の最大設定(64 ビット Java を使用する必要があります):
-Xmx10g -XX:ReservedCodeCacheSize=640m
より大きな値は、より大きな TeamCity インストールに使用できます。ただし、一般に、TeamCity サポートに相談せずに10g
より大きい値を使用することはお勧めしません。
ヒント :
32 ビット JVM は、最大 1Gb のヒープメモリ(
Xmx1024m
)で確実に機能します。(これは-Xmx1200m
に増やすことができますが、Windows での JVM はこの設定で時々クラッシュする可能性があります。)より多くのメモリが必要な場合は、64 ビット JVM を 2Gb 以上割り当てて使用する必要があります(-Xmx2048m
)。TeamCity サーバーが 100 を超えるエージェントで実行されているか、非常にアクティブなビルド / 数千のユーザーにサービスを提供していない限り、4Gb を超えるメモリを TeamCity プロセス専用にする必要はほとんどありません。経験則として、64 ビット JVM には、同じアプリケーションの 32 ビットの 2 倍のメモリを割り当てる必要があります。64 ビット JVM に切り替える場合(たとえば、Windows インストーラーを使用して TeamCity 2020.1 にアップグレードする場合)、それに応じてメモリ設定(
-Xmx
)を調整してください。アプリケーションに割り当てるメモリ量が 2 倍未満の場合は、64 ビットに切り替えても意味がありません。大規模な TeamCity インストールでは、メモリ設定の微調整が有効な場合があります。TeamCity サーバー JVM 専用のメモリ量は、定期的にマシン上で使用可能な物理メモリの合計 (ネストされたプロセスおよび OS レベルのキャッシュ使用の許可) の 60% を超えないようにしてください。また、ヒープ (
– Xmx
) が 8Gb を超えるように設定されていて、マシンに多くの CPU コア (たとえば 8 以上) があり、現在の CPU 使用率が 60% 未満である場合は、-XX:+UseG1GC
JVM オプションを介して G1JVM ガーベッジコレクターを有効にすると、stop-the-world GC による一時停止の長さを減らすことができます。
推奨されるアプローチは、初期設定から開始し、管理 | 診断ページを使用して使用済みメモリの割合を監視することです。サーバーが数十分間、80% を超えるメモリを継続的に使用する場合、これはおそらく -Xmx
メモリ値をさらに 20% 増加させる兆候です。
TeamCity サーバーの設定
TeamCity データディレクトリの設定
TeamCity データディレクトリのデフォルトの配置は変更できます。詳細については、TeamCity データディレクトリを参照してください。
サーバー設定の編集
サーバーが正常に起動すると、TeamCity ページ要求はリダイレクトされ、サーバー管理者のユーザー名とパスワードの入力を求められます。管理者アカウントがセットアップされるまで、誰もサーバーページにアクセスできないことを確認してください。
管理者アカウントの設定後、TeamCity サーバーでプロジェクトとビルドの設定を作成し始めることができます。サーバー管理セクションで、次の設定を構成することもできます。
サーバー URL
メールサーバーのアドレスと設定
Jabber サーバーのアドレスと設定
本番用のサーバーの設定
すぐに使える TeamCity サーバーのインストールは評価目的に適しています。本番用には、通常次の追加設定を行う必要があります。
サーバーの URL、メール、(オプションで)Jabber サーバー設定が指定されており、正しいことを確認してください。
マシンの再起動時の OS 依存の自動起動のためのサーバープロセスの構成。
TeamCity データディレクトリに信頼できるストレージを使用します。
推奨メモリ設定、アクティブまたは成長中のサーバーには「最大設定」を使用します。
定期的なバックアップの計画。
最新の TeamCity リリースへの定期的なアップグレードの計画。
(TeamCity 10.0.3 以降)
teamcity.installation.completed=true
行を <TeamCity データディレクトリ > \ conf \ teamcity-startup.properties ファイルに追加することを検討してください。これにより、そのようなユーザーが見つからない場合、サーバーは管理者ユーザーを作成できなくなります。
パフォーマンスおよびセキュリティに関する注意事項についてサーバーを構成する際の注意事項を必ず確認してください。
関連ページ:

アップグレード
特に明記しない限り、TeamCity はメジャー / マイナーリリース間のダウングレード(バージョンの最初の 2 つの番号の変更)をサポートしません。アップグレードの前にデータをバックアップすることを強くお勧めします。TeamCity は、以前のバージョンからそれ以降のバージョンへのアップグレードを...

ビルドエージェントの設定とメンテナンス
TeamCity エージェントの詳細を表示する :TeamCity Web UI のエージェントページは、TeamCity エージェントに関する包括的な情報を提供します。ページ上のタブの数は、エージェントのセットアップによって異なる場合があります。接続済み / 切断済み接続済みタブと切断済みタブには...