🛠️

【Azure Pipelines】セルフホステッド Linux エージェントでCapabilitiesに反映する方法

2023/01/11に公開

Pipelines実行でエラーが発生

Azure PipelinesでCICD構築していたら、Pipelinesの実行でエラーが発生した。

##[error]No agent found in pool XXXX which satisfies the specified demands: java, Agent.Version -gtVersion 2.163.1

エージェントがjavaを認識していないようなのでCapabilitiesを確認すると、たしかにjavaが無い。
※Capabilitiesの確認方法は以下。
https://learn.microsoft.com/ja-jp/azure/devops/pipelines/agents/agents?view=azure-devops&tabs=browser#configure-agent-capabilities

対応方法

ドキュメントの「環境変数を更新する」を実施すればOK。
https://learn.microsoft.com/ja-jp/azure/devops/pipelines/agents/agents?view=azure-devops&tabs=browser#configure-agent-capabilities

env.sh.env.pathに環境変数(PATHとかJAVA_HOMEとか)を反映しているだけ。
env.shを実行せず、.env.pathを直接変更してもよい。

.env.pathに環境変数が反映されたら、以下コマンドでエージェントの再起動を行う。

sudo ./svc.sh stop
sudo ./svc.sh start

余談

Pipelinesは自前のサーバーにエージェントをセットアップして構築しており、別のチームが構築を担当していたため、いまいち対応方法が分からず困った。
エラーでググってもピンポイントの情報が無く、結局公式ドキュメントを読んで解決。ちゃんとドキュメント読めってことですね。反省。

Discussion