TeamCity エージェントを起動する
新しくインストールされたエージェントが初めてサーバーに接続すると、サーバーを承認する権限を持つ管理者 / ユーザーに表示されるエージェント | 許可されていないエージェントページに表示されます。エージェントは、TeamCity UI で承認されるまでビルドを実行しません。サーバーと同じコンピューターで実行されているエージェントは、デフォルトで許可されています。
許可されるエージェントの数は、サーバー上のエージェントライセンスの数によって制限されます。詳細については、ライセンスポリシーを参照してください。
TeamCity ビルドエージェントは手動で起動することも、自動的に起動するように設定することもできます。
手動スタート
次のスクリプトを実行します。
Windows 上:
<installation path>\bin\agent.bat startLinux と 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 サービスを作成するためにも実行する必要があります。
サービスをインストールします。
必要な名前と ID を持つサービス (手順 4 を参照。サービス名はデフォルトで TeamCity ビルドエージェントです) が存在しないかどうかを確認します。インストールされている場合は削除します。
<agent home>\launcher\conf\wrapper.confファイルのwrapper.java.commandプロパティに、JDK インストールディレクトリの Java 実行可能ファイルへの有効なパスが含まれていることを確認してください。Windows ディストリビューションファイルからインストールされたエージェントにはwrapper.java.command=../jre/bin/javaを使用できます。java.exeファイルのパスは引用符なしで指定してください。エージェントを「システム」ではなくユーザーアカウント (推奨) で実行する場合は、適切な資格情報を使用して
wrapper.ntservice.accountおよびwrapper.ntservice.passwordプロパティを<agent home>\launcher\conf\wrapper.confファイルに追加します。(同じマシン上の 2 番目以降のエージェントの場合)
wrapper.console.title、wrapper.ntservice.name、wrapper.ntservice.displayname、wrapper.ntservice.descriptionプロパティが OS 内で一意の値を持つように、<agent>\launcher\conf\wrapper.confファイルを変更します。新しいエージェントサービスを登録するのに十分な権限を持つユーザーで
<agent home>\bin\service.install.batスクリプトを実行します。説明されているように構成された後でのみ、エージェントを初めて起動するようにしてください。
サービスを開始します。
<agent home>/bin/service.start.batを実行します(または標準の Windows サービスアプレットを使用します)。
サービスを停止します。
<agent home>/bin/service.stop.batを実行します(または標準の Windows サービスアプレットを使用します)。
インストール後、標準の Windows net.exe ユーティリティを使用してサービスを管理することもできます。例(デフォルトのサービス名を想定):
<agent home>\launcher\conf\wrapper.conf ファイルを使用して、エージェントの JVM パラメーターを変更することもできます。
ビルドエージェントサービスの実行に使用されるユーザーアカウントには、エージェントサービスを開始 / 停止するための十分な権限が必要であることに注意してください。
Linux での自動エージェント開始
Linux マシンの起動時にエージェントを自動的に実行するには、デーモンプロセスを構成して agent.sh start コマンドで開始し、agent.sh stop コマンドで停止します。
systemd については、teamcityagent.service 構成ファイルの例を参照してください。
init.d については、次の手順例を参照してください。
services`scripts ディレクトリに移動します。
cd /etc/init.d/ビルドエージェントサービススクリプトを開きます。
sudo vim buildAgent次のコンテンツをファイルに貼り付けます。
#!/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ファイルを実行する権限を設定します。
sudo chmod 755 buildAgent適切なツールを使用して、マシンの起動時および再起動時にエージェントサービスを開始するリンクを作成します。
Debian/Ubuntu の場合:
sudo update-rc.d buildAgent defaultsRed Hat/CentOS の場合:
sudo chkconfig buildAgent on
macOS での自動エージェント開始
macOS の場合、TeamCity はビルドユーザーがログインしたときに自動的にビルドエージェントをロードする機能を提供します。
推奨されるアプローチは、 launchd (英語)(LaunchAgent) を使用することです。
launchd を介して自動ビルドエージェント起動を設定するには、次の手順に従います。
buildAgent.zipを介してビルドエージェントをインストールします。conf/buildAgent.propertiesファイルを準備します(少なくともエージェント名を設定します)。適切なエージェントアップグレードプロセスを確保するために、
buildAgentディレクトリのすべてのファイルがyour_build_userによって所有されていることを確認してください。次のコマンドでビルドエージェントをロードします。
mkdir buildAgent/logs # Directory should be created under your_build_user user sh buildAgent/bin/mac.launchd.sh loadこれらのコマンドは、
your_build_userアカウントで実行します。ビルドエージェントが TeamCity サーバーから自動アップグレードされるまで最大数分待ちます。ログでプロセスを監視できます。tail -f buildAgent/logs/teamcity-agent.logビルドエージェントがアップグレードされ、TeamCity サーバーに正常に接続されたら、エージェントを停止します。
sh buildAgent/bin/mac.launchd.sh unloadビルドエージェントが TeamCity サーバーからアップグレードした後、
buildAgent/bin/jetbrains.teamcity.BuildAgent.plistファイルを$HOME/Library/LaunchAgents/ディレクトリにコピーします(作成する必要がある場合があります)。ルート権限で TeamCity を開始したくない場合は、.plistファイルでUserNameキーを指定します(例:<key>UserName</key> <string>your_build_user</string>ここで説明されているように、macOS システムを自動的に
your_build_userとしてログインするように設定します。マシンを再起動します。システムの起動時に、ビルドユーザーが自動的にログインし、ビルドエージェントが起動します。
ビルドエージェントが実行されていることをすばやく確認するには、次のコマンドを使用します。launchctl list | grep BuildAgent 69722 0 jetbrains.teamcity.BuildAgent
ビルドエージェントを停止する
エージェントを手動で停止するには、stop パラメーターを指定して <Agent home>\agent スクリプトを実行します。
現在のビルドが完了した後に停止を要求するには、stop を使用します。即時停止を要求するには、stop force を使用します (エージェント上でビルドが実行中の場合は、突然停止 (キャンセル) されます)。
Linux では、stop kill を使用してエージェントプロセスを強制終了することもできます。
コンソールが接続された状態でエージェントが実行されている場合は、コンソールで Ctrl+C を押してエージェントを停止することもできます(ビルドが実行されている場合はキャンセルされます)。
ビルドエージェントが macOS で LaunchAgent サービスとして開始されている場合は、launchctl ユーティリティを使用して停止できます。
関連ページ:
ライセンスポリシー
価格と新規ライセンス / アップグレードについては、公式 Web サイトから入手できます。ライセンス条件、ライセンスキーの取得またはアップグレード、その他の関連トピックについてご質問がある場合は、JetBrains セールス部門にお問い合わせください。TeamCity ライセンス契約は、公式 Web サイトまたはインストールされた TeamCity サーバー Web UI のフッターで確認できます。ライセンスの概要:JetBrains では、ニーズに合わせて TeamCity を拡張できるライセ...
Amazon EC2 用の TeamCity のセットアップ
TeamCity Amazon EC2 統合により、TeamCity は、現在のビルドキューのワークロードに応じて、クラウドでホストされているエージェントをオンデマンドで自動的に開始および停止することで、ビルドリソースを自動スケールできます。共通情報:TeamCity では、さまざまなタイプの EC2 統合をセットアップできます。使用する設定とソースに応じて、クラウド AWS ホスト型エージェントは以下で実行できます。同じ Amazon マシンイメージ (AMI) から複製された複数の同一のイ...