尽管安装了代理,但无法从 Azure DevOps(云 - PaaS)访问内部 SonarQube(本地)

Can't access internal SonarQube (on-premises) from Azure DevOps (cloud - PaaS) despite having installed the agent

我无法从 Azure DevOps(云)联系我的内部本地 SonarQube。

这是我在 Azure Build Pipeline 上遇到的错误:

##[debug][SQ] API GET '/api/server/version' failed, error was: {"code":"ETIMEDOUT","errno":"ETIMEDOUT","syscall":"connect","address":"172.16.8.3","port":9002}

我的本地 SonarQube 是内部的(只能通过 VPN 访问)但是当我在这台机器上安装 Azure 代理时(Azure 已经能够自动发布我的网站)我认为我不需要任何其他东西它可以从 Azure DevOps 访问。

我错过了什么?

虽然可以使用代理在内部服务器上发布网站(只能通过 VPN 访问),但 Sonarqube 不准备以类似的方式工作(从 Azure DevOps 上传必要的文件)。

这个问题只有2个解决方案:

  • 在您的 VPN 上创建一个例外,授权访问 Sonarqube 端口。此解决方案具有安全限制。

  • 使用SonarCloud(SonarQube云版)代替SonarQube。该解决方案可能会产生相关成本,因为 SonarCloud 免费版本迫使我们与 public 共享我们的代码。只有付费版本才能确保您的代码保密。