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

时间:2019-04-03 13:55:54

标签: azure security azure-devops vpn

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

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

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

如果您有一个更好的解决方案或更常见的解决方案,请告诉我。如果您认为我应该使用上述四种解决方案之一,请告诉我。如果可以扩展上面的任何选项,请这样做。