【问题标题】:Is it possible to deploy code to an Azure Cloud Service without a build step?是否可以在没有构建步骤的情况下将代码部署到 Azure 云服务?
【发布时间】:2014-11-19 19:55:42
【问题描述】:

我们正在评估一些旧的内部部署应用程序迁移到异地,并且我们正在评估我们的所有选项。我知道 Azure 网站会更容易设置,但目前看来可能需要云服务为我们提供的一些额外控制。

但是,到目前为止,我所阅读的有关云服务的所有内容都展示了如何构建应用程序,然后将构建部署到云中。同样,您可以连接到 Visual Studio Online 存储库,在 VSO 中定义构建,并在提交后执行构建并将构建部署到云端。

但是,在我们的例子中,我们的一些页面是经典 ASP 页面。如果其中一个页面发生更改,我无法找出允许我们部署更新文件的工作流程。请记住,经典的 ASP 文件没有“构建”过程;它就像一个在运行时解释的 powershell 脚本。

这些应用不涉及任何 Visual Studio 解决方案或项目。它只是我们要上传的文件包。对于“概念证明”,我决定从最简单的“应用程序”开始,即一个简单的“hello.txt”文件,但我无法找到一种方法来部署它而不将其“包装”在 Visual工作室解决方案。

我希望我可以使用,例如,Publish-AzureServiceProject,但是这似乎需要一个 ServiceDefinition.csdef 文件,而且我不知道如何在没有在 Visual Studio 中设置解决方案的情况下执行此操作——a不会用于任何事情的解决方案。

我感觉我遗漏了一些东西,只需要找到适当的发布设置文件,或正确使用 Azure cmdlet。是否有一种直接的方法可以将文件包发布到 Azure 云服务?

【问题讨论】:

    标签: powershell azure asp-classic azure-cloud-services


    【解决方案1】:

    Josh,您需要将文件打包成一个可部署的包。这可以使用cspack 命令行工具和手工制作的定义文件来实现。在这种情况下,您的 ASP 文件将被视为“内容”。

    最简单的方法是创建存根 Visual Studio 解决方案并包含一个“云服务”项目,您可以在其中添加所有 ASP 文件。这样,如果您的 Web 角色需要 Azure 结构回收,您的所有文件都将重新部署。

    虽然如果您只需要调整一个文件,这似乎是一个很大的开销,但这是在 Azure 中管理 PaaS 部署的正确方法。如果此过程对您不起作用,那么您应该考虑迁移到完全由您自己管理的 IaaS 虚拟机。

    【讨论】:

      【解决方案2】:

      可能有帮助的一件事是认识到云服务中的 Web 角色只是使用 IIS 的 VM。出于这个原因,您可以像任何其他服务器一样通过 RDP、FTP 等连接到它们。我们的团队经常绕过简单事情的开销,例如部署新的 CSS 文件、图像等,只需将其复制到老学校的方式。

      同样,不确定这是否对您有帮助,但老派技术也同样有效。 :-)

      【讨论】:

      • 但是如果你这样做了,你的更改不会在你下次重新发布应用程序时被销毁吗?如果您有多个网络角色怎么办?您是否会访问每个角色实例 (VM) 并进行相同的更改?
      • 嗨,乔希,两者都是。例如,如果您要手动添加一个文件,您可能希望将其添加到主项目中,以便在下一次正式构建时它也能正常运行。同样,对于每个 VM,您都需要进行相同的更改。这可以通过脚本自动化。同样,我并不是说正常的构建过程不是要走的路。但主要构建可能存在风险,如果您需要做的只是次要构建,它可能会有所帮助。
      • Simon 理论上听起来不错,但在现实世界中,拥有这种访问权限会有所帮助。 Azure 为您提供 RDP 信息以访问机器是有原因的。
      • Daniel,理论上你的信息是正确的,但你永远不应该在没有大警告的情况下给出这个建议,即你复制到 Azure PaaS VM 的任何内容消失。唯一的问题是可能需要多长时间。可能是几分钟,也可能是几周,但它最终会消失,所以这绝对不是你想要为真正的生产站点做的事情。它仅适用于您尝试排除故障或临时测试更改的情况。有关更多信息,请参阅blogs.msdn.com/b/kwill/archive/2013/09/05/…
      • 同意 Kwill。我的建议假设是临时的、测试类型的调整。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 1970-01-01
      • 2022-06-24
      • 2017-06-25
      • 1970-01-01
      • 2013-08-21
      相关资源
      最近更新 更多