azure - 如何将软件构建从 Azure DevOps 部署到内部服务器?
问题描述
我们将软件托管在 Azure DevOps 上的 Git 中,并使用构建管道(主要使用 Cake 脚本)构建。我们现在正在寻求使用 Azure DevOps 发布管道部署此软件。但是,我们所有的应用程序服务器都在我们的防火墙后面,在我们的网络内部,除了用于 Web 应用程序的 80 和 443 之外,没有任何端口开放。我们的应用程序有开发、登台和生产服务器(包括一些用于负载平衡的服务器)。我真正需要的是复制工件,将当前代码备份到服务器上的单独文件夹,在根部署文件夹中部署和解压缩工件文件,然后在这些服务器上重新启动 IIS。
我的公司相当大而且官僚,所以在我们尝试这个新流程之前,我们必须跳过一些尽职调查。本着这种精神,我正在努力寻找最佳解决方案。如果您能提供您的建议,特别是提供我们没有想到的任何其他解决方案,那将很有帮助:
- 显而易见的解决方案是在 Azure 云上建立服务器并完全迁移到云中。我知道这是一个解决方案,这可能就是我们要去的地方,但我的要求是提供非云解决方案选项,因此我可以正确地展示它并提出建议。
- 使用 Hyper VPN 隧道安全地传输文件并重新启动 IIS。就我们已经在 AzDO 上构建的构建过程而言,这可能是最简单和最简单的方法。从技术上讲,这是我最不满意的一个。
- 在网络内使用构建代理,从 AzDO 连接到它们,让他们构建软件,然后让他们部署它或其他代理。设置它的工作量很大,但到目前为止对我们的安全性干扰最小。我也不是粉丝,因为我希望 AzDO 处理构建和部署。
- 打开每个服务器的 SFTP 和 SSH 端口并以这种方式传输文件。也许是最不安全但非常简单的方法?
如果您对此问题有更好的解决方案或更常见的解决方案,请告诉我。如果您认为我应该是上述 4 个解决方案之一,请告诉我。如果您可以扩展上述任何选项,请执行此操作。
解决方案
ADO 代理只需要外部连接,因此它们与 ADO 通信,反之则不然。所以你只需要 443 出站到几个 ADO url。
阅读:https ://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops#communication
https://docs.microsoft.com/en-us/azure/devops /pipelines/agents/v2-windows?view=azure-devops#im-running-a-firewall-and-my-code-is-in-azure-repos-what-urls-does-the-agent-need-to -与沟通
推荐阅读
- excel - 从数据库中查找重复数据
- vim - Yank 命令在 vim 编辑器中不起作用
- sql - 使用 postgresql 连接表的递归树搜索
- css - CSS:根变量和 SASS 函数
- python - 从 Apple Mail 发送的电子邮件中解析标题时出现问题
- javascript - 在 reactjs 中更新状态索引的问题
- javascript - 如何排除故障:错误:未捕获(承诺):TypeError:this.afAuth.authState.take 不是函数?
- c# - web-api 2 的帮助文档中未显示属性描述
- arrays - 快速将数据添加到数组
- express - express 验证器 3.1.4 和 5.3.0 有什么区别?