2011-06-07 70 views
5

有没有办法检测工作人员角色是否处于暂存或生产阶段。Azure Detect Staging与生产

我想这样做,以便在分阶段环境中抑制功能,直到它被交换到生产,然后在“反生产”版本中抑制相同的功能。

只存在交错的环境,以便可以预先上传新版本以确保交换是按时且零停机时间,然后停止先前的版本,同时执行额外的QA并删除。

感谢

韦恩

+1

http://stackoverflow.com/questions/4328462/staging-or-production-instance – 2011-06-07 07:05:22

+1

我认为这已经在这里回答 - http://stackoverflow.com/questions/4328462/staging-or-production-实例 – vonLochow 2011-10-12 20:32:55

回答

2

您可以通过使用服务管理REST API调用这样做。您可以使用embed-details = true查询参数获取托管服务的属性(http://msdn.microsoft.com/en-us/library/ee460806.aspx)。这将为您提供有关托管服务部署的详细信息。你感兴趣的是“”节点下的部署,它会给你你的部署ID。您可以将其与来自RoleEnvironment类(http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment_members.aspx)的部署ID进行比较,并使用它们可以确定您的部署是在分段还是生产槽中运行。

希望这会有所帮助。

0

节点在Windows Azure SDK会给你你正在寻找的信息 - https://github.com/WindowsAzure/azure-sdk-for-node

具体 - azure.RoleEnvironment.getCurrentRoleInstanceazure.RoleEnvironment.getRoles应该给你触发功能所必需的信息。

如果有人需要区分Azure云/ Azure模拟器,仿真器将配置在天蓝色模拟器下运行时可从process.env访问的EMULATED环境变量。如果您试图区分模拟器和内置节点服务器,这也很有帮助。

+1

'azure.RoleEnvironment.getCurrentRoleInstance'和'azure.RoleEnvironment.getRoles'都不会告诉当前实例在哪个部署插槽中。 – Compulim 2014-09-11 09:54:56