TeamCity オンプレミス 2025.11 ヘルプ

TeamCity エージェントを起動する

新しくインストールされたエージェントが初めてサーバーに接続すると、サーバーを承認する権限を持つ管理者 / ユーザーに表示されるエージェント | 許可されていないエージェントページに表示されます。エージェントは、TeamCity UI で承認されるまでビルドを実行しません。サーバーと同じコンピューターで実行されているエージェントは、デフォルトで許可されています。

許可されるエージェントの数は、サーバー上のエージェントライセンスの数によって制限されます。詳細については、ライセンスポリシーを参照してください。

TeamCity ビルドエージェントは手動で起動することも、自動的に起動するように設定することもできます。

手動スタート

次のスクリプトを実行します。

  • Windows 上: <installation path>\bin\agent.bat start

  • Linux と macOS: <installation path>/bin/agent.sh start

自動スタート

Windows での自動エージェント開始

Windows マシンの起動時にエージェントを自動的に実行するには、Windows サービスとして実行するようにエージェントを設定するか、別の方法を使用します。Windows サービスアプローチを使用するのが最も簡単な方法ですが、Windows はこの方法で実行されるプロセスにいくつかの制約を適用します。

TeamCity エージェントは、すべての要件が満たされていれば Windows サービスで確実に動作しますが、エージェントで実行するように構成されたビルドプロセスではそうならないことがよくあります。このため、すべてのビルドスクリプトがこれをサポートしている場合のみ、TeamCity エージェントを Windows サービスとして実行することをお勧めします。それ以外の場合は、OS 固有の代替方法を使用して TeamCity エージェントを自動的に起動することをお勧めします。
その 1 つは、Windows の起動時に自動ユーザーログオン(英語)を構成し、次にユーザーログオン (たとえば、Windows タスクスケジューラ(英語)経由) 時に TeamCity エージェントの起動 (agent.bat start 経由) を構成することです。

Windows サービスとしてのビルドエージェント

Windows では、TeamCity エージェントをサービスとして起動して、ユーザーがログインしていなくても実行できるようにすることができます。Windows エージェントインストーラーを使用する場合は、インストールウィザードでサービスをインストールするオプションがあります。

次の手順を使用して、Windows サービスを手動でインストールできます(たとえば、.zip エージェントのインストール後)。この手順は、同じマシン上に 2 番目以降のエージェント用の Windows サービスを作成するためにも実行する必要があります。

サービスをインストールします。

  1. 必要な名前と ID を持つサービス (手順 4 を参照。サービス名はデフォルトで TeamCity ビルドエージェントです) が存在しないかどうかを確認します。インストールされている場合は削除します。

  2. <agent home>\launcher\conf\wrapper.conf ファイルの wrapper.java.command プロパティに、JDK インストールディレクトリの Java 実行可能ファイルへの有効なパスが含まれていることを確認してください。Windows ディストリビューションファイルからインストールされたエージェントには wrapper.java.command=../jre/bin/java を使用できます。java.exe ファイルのパスは引用符なしで指定してください。

  3. エージェントを「システム」ではなくユーザーアカウント (推奨) で実行する場合は、適切な資格情報を使用して wrapper.ntservice.account および wrapper.ntservice.password プロパティを <agent home>\launcher\conf\wrapper.conf ファイルに追加します。

  4. (同じマシン上の 2 番目以降のエージェントの場合) wrapper.console.titlewrapper.ntservice.namewrapper.ntservice.displaynamewrapper.ntservice.description プロパティが OS 内で一意の値を持つように、<agent>\launcher\conf\wrapper.conf ファイルを変更します。

  5. 新しいエージェントサービスを登録するのに十分な権限を持つユーザーで <agent home>\bin\service.install.bat スクリプトを実行します。説明されているように構成された後でのみ、エージェントを初めて起動するようにしてください。

サービスを開始します。

  • <agent home>/bin/service.start.bat を実行します(または標準の Windows サービスアプレットを使用します)。

サービスを停止します。

  • <agent home>/bin/service.stop.bat を実行します(または標準の Windows サービスアプレットを使用します)。

インストール後、標準の Windows net.exe ユーティリティを使用してサービスを管理することもできます。例(デフォルトのサービス名を想定):

net start TCBuildAgent

<agent home>\launcher\conf\wrapper.conf ファイルを使用して、エージェントの JVM パラメーターを変更することもできます。

ビルドエージェントサービスの実行に使用されるユーザーアカウントには、エージェントサービスを開始 / 停止するための十分な権限が必要であることに注意してください。

Linux での自動エージェント開始

Linux マシンの起動時にエージェントを自動的に実行するには、デーモンプロセスを構成して agent.sh start コマンドで開始し、agent.sh stop コマンドで停止します。

systemd については、teamcityagent.service 構成ファイルの例を参照してください。

[Unit] Description=TeamCity Build Agent After=network.target [Service] Type=oneshot User=teamcityagent Group=teamcityagent ExecStart=/home/teamcityagent/agent/bin/agent.sh start ExecStop=-/home/teamcityagent/agent/bin/agent.sh stop # Support agent upgrade as the main process starts a child and exits then RemainAfterExit=yes # Support agent upgrade as the main process gets SIGTERM during upgrade and that maps to exit code 143 SuccessExitStatus=0 143 [Install] WantedBy=default.target

init.d については、次の手順例を参照してください。

  1. services`scripts ディレクトリに移動します。

    cd /etc/init.d/
  2. ビルドエージェントサービススクリプトを開きます。

    sudo vim buildAgent
  3. 次のコンテンツをファイルに貼り付けます。

    #!/bin/sh ### BEGIN INIT INFO # Provides: TeamCity Build Agent # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start build agent daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO #Provide the correct user name: USER="agentuser" case "$1" in start) su - $USER -c "cd BuildAgent/bin ; ./agent.sh start" ;; stop) su - $USER -c "cd BuildAgent/bin ; ./agent.sh stop" ;; *) echo "usage start/stop" exit 1 ;; esac exit 0
  4. ファイルを実行する権限を設定します。

    sudo chmod 755 buildAgent
  5. 適切なツールを使用して、マシンの起動時および再起動時にエージェントサービスを開始するリンクを作成します。

    • Debian/Ubuntu の場合:

      sudo update-rc.d buildAgent defaults
    • Red Hat/CentOS の場合:

      sudo chkconfig buildAgent on

macOS での自動エージェント開始

macOS の場合、TeamCity はビルドユーザーがログインしたときに自動的にビルドエージェントをロードする機能を提供します。

推奨されるアプローチは、 launchd (英語)(LaunchAgent) を使用することです。

launchd を介して自動ビルドエージェント起動を設定するには、次の手順に従います。

  1. buildAgent.zip を介してビルドエージェントをインストールします。

  2. conf/buildAgent.properties ファイルを準備します(少なくともエージェント名を設定します)。

  3. 適切なエージェントアップグレードプロセスを確保するために、buildAgent ディレクトリのすべてのファイルが your_build_user によって所有されていることを確認してください。

  4. 次のコマンドでビルドエージェントをロードします。

    mkdir buildAgent/logs  # Directory should be created under your_build_user user sh buildAgent/bin/mac.launchd.sh load
  5. これらのコマンドは、your_build_user アカウントで実行します。ビルドエージェントが TeamCity サーバーから自動アップグレードされるまで最大数分待ちます。ログでプロセスを監視できます。

    tail -f buildAgent/logs/teamcity-agent.log
  6. ビルドエージェントがアップグレードされ、TeamCity サーバーに正常に接続されたら、エージェントを停止します。

    sh buildAgent/bin/mac.launchd.sh unload
  7. ビルドエージェントが TeamCity サーバーからアップグレードした後、buildAgent/bin/jetbrains.teamcity.BuildAgent.plist ファイルを $HOME/Library/LaunchAgents/ ディレクトリにコピーします(作成する必要がある場合があります)。ルート権限で TeamCity を開始したくない場合は、.plist ファイルで UserName キーを指定します(例:

    <key>UserName</key> <string>your_build_user</string>
  8. ここで説明されているように、macOS システムを自動的に your_build_user としてログインするように設定します。

  9. マシンを再起動します。システムの起動時に、ビルドユーザーが自動的にログインし、ビルドエージェントが起動します。
    ビルドエージェントが実行されていることをすばやく確認するには、次のコマンドを使用します。

    launchctl list | grep BuildAgent 69722 0 jetbrains.teamcity.BuildAgent

ビルドエージェントを停止する

エージェントを手動で停止するには、stop パラメーターを指定して <Agent home>\agent スクリプトを実行します。

現在のビルドが完了した後に停止を要求するには、stop を使用します。即時停止を要求するには、stop force を使用します (エージェント上でビルドが実行中の場合は、突然停止 (キャンセル) されます)。
Linux では、stop kill を使用してエージェントプロセスを強制終了することもできます。

コンソールが接続された状態でエージェントが実行されている場合は、コンソールで Ctrl+C を押してエージェントを停止することもできます(ビルドが実行されている場合はキャンセルされます)。

ビルドエージェントが macOS で LaunchAgent サービスとして開始されている場合は、launchctl ユーティリティを使用して停止できます。

launchctl unload $HOME/Library/LaunchAgents/jetbrains.teamcity.BuildAgent.plist # or launchctl remove jetbrains.teamcity.BuildAgent
2025 年 4 月 07 日