最初,当我们部署我们的版本时,每个环境最多花费大约 5 到 10 分钟,从前一刻到下一刻是 + 1 小时,有时甚至托管代理也会被超时取消。与此同时,我将 Microsoft 托管的并行作业从默认值增加到 2,但我无法解决这种情况。
2 回答
我在 Azure 中创建了一个 slot 阶段,并在 Pipeline 中将 web 部署更改为 zip 部署。将我的应用程序划分为 Azure 中的两个资源组(Dev 资源和 PROD 资源)。天蓝色有exaust。并且问题解决了。
我们建议您首先检查当您尝试通过 Azure DevOps 服务进行本地部署时是否也需要同样长的时间。
然后,既然你提到它曾经工作大约 5 到 10 分钟。还请仔细检查您的构建/发布管道历史记录,并验证您的管道最近是否有任何修改。
此外,如果您想要更快的部署,还可以做一些事情:
如果您有大文件,请缩小包的大小。最好在启动时从存储中下载你的大依赖,而不是将它们捆绑在包中
如果它是 WebRole 并且您想快速测试更新,您可以启用 WebDeploy 作为部署的一部分,然后在 VS 中执行正常的“发布..”工作流。当你从 VS 发布你的包时,它只是一个复选框。之后需要几秒钟来更新文件。请注意,对于要保留的更改,您 必须通过完全重新部署来更新云包,否则如果实例重新映像,您将丢失所做的更改。这基本上只是为了开发。
如果它是 WorkerRole,您可以将负载拆分为 WorkerRole 的 EntryPoint 从存储中下载、解压缩和执行的进程(简单的 .exe)。如果您有更新的版本,您只需将新包上传到存储。您的 workerrole 只是监视存储中是否有较新版本的软件包,然后下载它、解压缩并在杀死旧的 .exe 文件后运行新的 .exe 文件。
希望能帮助到你。