如何将软件构建从 Azure DevOps 部署到内部服务器?

Ros*_*son 6 security vpn azure azure-devops

我们将软件托管在 Azure DevOps 上的 Git 中,并使用构建管道(主要使用 Cake 脚本)构建。我们现在希望使用 Azure DevOps 发布管道来部署此软件。但是,我们所有的应用程序服务器都在我们的防火墙后面,在我们的网络内部,除了用于 Web 应用程序的 80 和 443 之外,没有任何端口打开。我们为我们的应用程序(包括一些用于负载平衡)提供开发、暂存和生产服务器。我真正需要的是复制工件,将当前代码备份到服务器上的一个单独文件夹,在根部署文件夹中部署和解压缩工件文件,然后在这些服务器上重新启动 IIS。

我的公司相当大而且官僚主义,所以在我们尝试这个新流程之前,我们必须跳过一些障碍进行尽职调查。本着这种精神,我正在努力寻找最佳解决方案。如果您可以提供您的建议,特别是提供我们没有想到的任何其他解决方案,那将很有帮助:

  1. 显而易见的解决方案是在 Azure 云上建立服务器并完全迁移到云中。我知道这是一个解决方案,这可能就是我们要去的地方,但我的要求是非云解决方案选项,因此我可以正确地提出这个并提出建议。
  2. 使用 Hyper VPN 隧道安全地传输文件并重新启动 IIS。对于我们已经在 AzDO 上构建的构建过程,可能是最简单和最简单的方法。从技术上讲,这是我最不满意的一种。
  3. 在网络内部使用构建代理,从 AzDO 连接到它们,让它们构建软件,然后让它们部署它或其他代理。设置它需要做很多工作,但到目前为止对我们的安全性影响最小。我也不是粉丝,因为我希望 AzDO 处理构建和部署。
  4. 打开每个服务器的 SFTP 和 SSH 端口并以这种方式传输文件。也许是最不安全但很简单的方式?

如果您对此问题有更好的解决方案或更常见的解决方案,请告诉我。如果您认为我应该使用上述 4 个解决方案之一,请告诉我。如果您可以扩展上述任何选项,请执行。