1

我按照 ms 文档指南中的说明进行操作,代理启动时没有任何问题。但是它从未出现在我的代理池中。我尝试了在github上找到的不同版本的 start.sh 脚本,它立即连接。我还能做些什么来尝试解决这个问题吗?以下非工作代理的日志

❯ kubectl logs azpagent-55864668dc-zgdrn
1. Determining matching Azure Pipelines agent...
2. Downloading and installing Azure Pipelines agent...
3. Configuring Azure Pipelines agent...

>> End User License Agreements:

Building sources from a TFVC repository requires accepting the Team Explorer Everywhere End User License Agreement. This step is not required for building sources from Git repositories.

A copy of the Team Explorer Everywhere license agreement can be found at:
  /azp/agent/externals/tee/license.html


>> Connect:

Connecting to server ...

>> Register Agent:

Scanning for tool capabilities.
Connecting to the server.
Successfully replaced the agent
Testing agent connection.
2019-08-03 04:22:56Z: Settings Saved.
4. Running Azure Pipelines agent...
Starting Agent listener interactively
Started listener process
Started running service
Scanning for tool capabilities.
Connecting to the server.
2019-08-03 04:23:08Z: Agent connect error: The signature is not valid.. Retrying until reconnected.

不太确定还有什么可以尝试的——有没有其他人看到过这个问题,或者在 linux 代理指南方面取得了成功?

4

3 回答 3

0

更新

根据错误信息The signature is not valid..

您是否正在使用和构建 TFVC 存储库中的源代码,这需要接受 Team Explorer Everywhere 最终用户许可协议。从 Git 存储库构建源不需要此步骤。

如果是这样,请尝试从 Git repo 构建。


您引用了不同版本的 start.sh 脚本的文档已弃用。它适用于旧的构建代理。

根据这个和相关的错误The signature is not valid.. Retrying until reconnected. 我会建议几件事:

  • 您可能在相当旧的代理版本上,尝试最新版本的代理 https://github.com/microsoft/azure-pipelines-agent/releases
  • 您需要重新启动代理进程才能使这些环境生效。
  • 请咨询您的 IT 部门,确保您的构建机器和 tfs 服务器/Azure DevOps 服务之间的网络可靠,看看您的网络是否有任何变化。

还要确保您的构建机器/VM 不会耗尽资源。

于 2019-08-06T06:14:56.053 回答
0

查看错误消息:

The signature is not valid.

提供的 PAT 可能存在问题。我建议按照本指南的描述生成一个新的 PAT,然后再试一次。

让我知道这是否有帮助。

于 2019-08-08T15:02:57.640 回答
0

如果其他人出现此问题或类似问题,@juliobbv 的建议非常有帮助。如果您注释掉脚本的最后一行,并将其替换为

./bin/Agent.Listener run & wait $!

您可以更清晰地查看任何错误消息。

就我而言,我没有意识到 AGENT_NAME 和 POOL 不再是同一个变量,并且原始错误消息并未表明问题是我缺乏对默认池的权限。

我对脚本的最终更改如下——我默认使用主机名的代理名称,并保持之前使用自定义池的行为

./config.sh --unattended \
  --agent "$(hostname)" \
  --url "$AZP_URL" \
  --auth PAT \
  --token $(cat "$AZP_TOKEN_FILE") \
  --pool "${AZP_POOL:-Default}" \
  --work "${AZP_WORK:-_work}" \
  --replace \
  --acceptTeeEula & wait $!
于 2019-08-12T19:29:40.830 回答