c# - 将代码/bin 文件(重新)部署到(多个)Windows Azure 虚拟机的方法

标签 c# azure deployment virtual-machine azure-configuration

这个问题可能与 Azure 虚拟机无关,但我希望 Azure 能够提供比 Amazon EC2 更简单的方法。

我有在多个 Azure 虚拟机(即不是 Azure 网站或 [Paas] 角色)上运行的长时间运行的应用程序。它们是简单的控制台应用程序/Windows 服务。有时,我会刷新代码并需要停止这些进程更新代码/二进制文件,然后重新启动这些进程

过去,我曾尝试使用 PSTools (psexec) 远程执行此操作,但看起来像是一种 hack。有没有更好的方法来远程终止应用程序、刷新部署并重新启动应用程序?

理想情况下,Visual Studio 中会有一个“发布控制台应用程序”等效项,它允许我像 Azure 网站一样部署代码,但我猜这不是有可能。

非常感谢您的建议!

最佳答案

执行任务有多种“正确”方法。

如果您正在运行 Windows Azure 应用程序 - 有一个关于 MSDN 的简单指南。 但如果您必须使用常规控制台应用程序来执行此操作,那么您就会遇到问题。

微软的方式是使用 WMI - 适用于远程 Windows 服务器任何类型管理的良好技术。我认为 WMI 应该可以满足您的目的。

最后一种方法:在每个 Azure VM 上安装 Git,并编写简单的服务器端脚本,计划每 5 分钟运行一次,以更新存储库中的代码、构建它、终止旧进程并启动新进程。将您的更新发布到存储库,仅此而已。 绝对是 hack,但它甚至适用于非 Windows 机器。

关于c# - 将代码/bin 文件(重新)部署到(多个)Windows Azure 虚拟机的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11455027/

相关文章:

mongodb - Azure Function 与 Cosmos MongoDB 集成不保存

deployment - 在 Windows XP 64 位上配置命名空间保留

c# - 执行定期审核和最佳实践

c# - 如何从 WinForms 打印多页?

c# - 显示 MySql 数据的表,用户可以编辑该数据

azure - 如何使用服务托管标识通过 Terraform 在 Azure 中配置资源

linux - 如何在 Azure 上为深度学习应用程序创建 Linux N6(带 GPU)VM?

ruby-on-rails - 使用 Ruby on Rails 和 Capistrano 部署跟踪

java - 我的 servlet.war 的 URL 是什么?

c# - 如何在 C# 9 中将记录转换为元组