Hai*_*ter 9 c# deployment virtual-machine azure azure-configuration
这个问题可能与Azure虚拟机无关,但我希望Azure提供比Amazon EC2更简单的方法.
我在多个Azure虚拟机上运行长期运行的应用程序(即不是Azure网站或[Paas]角色).它们是简单的控制台应用程序/ Windows服务.有时,我会进行代码刷新,需要停止这些进程,更新代码/二进制文件,然后重新启动这些进程.
在过去,我曾尝试使用PSTools(psexec)来远程执行此操作,但这似乎是一种黑客攻击.有没有更好的方法来远程终止应用程序,刷新部署,并重新启动应用程序?
理想情况下,Visual Studio中会有一个" 发布控制台应用程序 "等同于允许我将代码部署为Azure网站,但我猜这是不可能的.
非常感谢任何建议!
一种常见模式是将项目(例如命令行应用程序)存储在 Windows Azure Blob 存储中。我经常这样做(例如:我将所有 MongoDB 二进制文件存储在一个 blob 中,经过 zip 压缩,每个版本一个 zip #)。VM 启动后,我有一个任务,将 zip 从 blob 下载到本地磁盘,解压缩到本地文件夹,然后启动 mongod.exe 进程(这同样适用于其他控制台应用程序)。如果您有更复杂的安装,则需要获取 MSI 或其他类型的自动安装程序。将这些应用程序存储在 Blob 存储中有两个好处:
更新控制台应用程序时:您可以将新版本上传到 Blob 存储。现在您可以通过几种方式向我的虚拟机发出更新信号。例如:
这些都非常适用于独立 exe(或 xcopy-deployable exe)。对于需要管理员级别权限的 MSI,需要通过启动脚本运行。在这种情况下,您可能有一个配置更改事件,该事件将由您的角色实例处理(如上所述),但您只需重新启动实例,允许它们通过启动脚本运行 MSI。
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |