我有一个带有多个实例的生产和临时插槽的Azure网站。如何防止在Azure网站生产中交换Azure webjobs <-->分段插槽
我在网站上运行了几个Azure webjobs,其中一些触发了其他连续的webjobs。
我明白触发的webjobs只会在一个实例上运行一次。
我目前的设置是:
生产现场没有比从登台
分期的网站交换其他部署是建立以持续部署从到位桶
Webjobs从内部署VS发布到使用“发布到Azure”的制作槽(因为AFAIK不支持基于时间表的网页作业的连续部署)
的网站的VS解决方案是从含VS解决方案不同webjobs
我注意到,当我换的生产和分期,webjobs也换! 我意识到这一点时,我已经部署了一个新的webjob生产,随后进行网站部署,然后进行交换,新部署的webjob不再处于生产槽中!
我的问题:
是可以防止webjobs从生产之间的交换和分期(webjobs真的完全不同的代码片段不是网站)
到底是换了webjobs什么?二进制文件?时间表?两者?
我该如何阻止所有webjobs在临时插槽上运行?我的网络作业不需要高度可用,我可以轻松地在线下测试它们。
如果我VS将webjobs部署到插槽并进行交换,那么当前的临时插槽将缺少部署的webjob,当我执行我的下一个网站更新时我将丢失它,因此我应该在哪里部署我的网络工作?
有一个related thread,但它假定webjob与一个网站,是不是我有什么目前同时部署。
我真的很喜欢网站和webjobs,但它似乎与连续独立部署webjobs和网站有关的故事被打破。
真的会很感激的建议!
感谢
感谢您的回应阿米特。 我不知道直接部署一个WebJob是不好的做法,Visual Studio Azure集成实际上鼓励它在VS中的WebJob项目中使用“发布到Azure”按钮。看起来至少它不应该让它很容易遵循'坏习惯' 有什么地方可以向团队提供反馈? Git部署对于WebJobs和CloudServices来说是一个巨大的胜利。 这会稍微削弱故事,因为这意味着需要重新部署网站来更新WebJob。 –
“发布到Azure”的WebJob与网站相同,问题的做法是将git部署和“发布到Azure”(msdeploy)混合在一起,最好使用一种部署方法。 –
明白了,你知道我是否将我所有的webjobs添加到与我的网站(这是git部署)相同的VS解决方案中,当我在webjob中进行更改提交时,是否会重新部署我的网站只有更新是一个webjob?那些尚未更新的其他webjobs呢?我担心部署将花费多长时间,如果它的一个整体解决方案与所有webjobs和网站。 –