【Azure Pipelines】セルフホステッド Linux エージェントでCapabilitiesに反映する方法
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は自前のサーバーにエージェントをセットアップして構築しており、別のチームが構築を担当していたため、いまいち対応方法が分からず困った。
エラーでググってもピンポイントの情報が無く、結局公式ドキュメントを読んで解決。ちゃんとドキュメント読めってことですね。反省
netsh advfirewall firewall add rule name="Allow 4566" dir=in action=allow protocol=TCP localport=4566
Discussion