Azure Pipelines 托管代理部署到具有访问限制的 VM

问题描述 投票:0回答:1

我想使用 Azure Pipelines 在 Azure 中的 Linux VM 上部署代码。管道使用 Microsoft 托管代理,VM 具有访问限制,我需要将 IP 地址列入白名单。由于 Azure Pipelines 的每个部署都来自不同的 IP,是否有一种方法可以在不将每个 Microsoft 代理 IP 地址列入白名单的情况下部署到此 VM?

我找到的唯一解决方案是使用自托管代理。 有没有一种方法可以在不将虚拟机上每个部署的每个公共 IP 列入白名单的情况下完成部署?

azure-devops azure-virtual-machine
1个回答
-1
投票

当您使用 Microsoft 托管代理时,您可能需要知道安装具有特定配置的 Microsoft 托管代理的 IP 地址范围。如果你想通过 IP 地址限制对 Microsoft 托管代理的访问,如果你需要通过防火墙授予他们访问权限。 IP 范围随时间变化,因为 Azure DevOps 使用 Azure 全球网络。 Azure 在 json 文件中每周发布 IP 地址列表,请参阅此处 - https://www.microsoft.com/en-us/download/details.aspx?id=56519
列出按区域分隔的 Azure 数据中心 IP 范围。每周一次将新提议的 IP 范围添加到此文件中。下周将看到新的 IP 范围生效。为了使您的列表保持最新,我们建议您经常返回(至少每周一次)。
您可以每周检查可用的 IP 并将这些 IP 列入白名单,因为没有其他解决方法可以通过这些不同的 IP。
对于以上参考,请遵循此文档:-
Azure Pipelines 的 Microsoft 托管代理 - Azure Pipelines |微软学习

但目前只有自托管代理是可用的替代方案
不想每周更新你的IP。

此外,您还可以通过本文档了解 azure devops 通常使用的各种 IP 和 url - 允许的地址列表和网络连接 - Azure DevOps |微软学习

作为替代方案:-

使用自托管代理是您可以在 Linux VM 上配置并设置防火墙以使用自托管代理允许来自 > 特定 IP 地址的流量的可能解决方案。

enter image description here

然后尝试连接 linux vm 并创建一个文件夹并下载代理:使用下面的命令:

~/$ mkdir myagent && cd myagent
~/myagent$ tar zxvf ~/Downloads/vsts-agent-linux-x64-3.218.0.tar.gz

配置代理:

~/myagent$ ./config.sh

运行代理:

~/myagent$ ./run.sh

创建个人访问令牌:

在用户设置 -> 个人访问令牌

enter image description here

允许对代理池的读取和管理权限,如下所示:

enter image description here

更详细参考这个链接

在 Linux 上部署 Azure Pipelines 代理 - Azure Pipelines |微软学习

© www.soinside.com 2019 - 2024. All rights reserved.