Azure Web App更新

时间:2017-04-25 10:42:00

标签: azure azure-web-sites azure-deployment

我们已经创建了Web应用程序,我们计划在Azure Marketplace中将应用程序发布为Web App。可以使用ARM模板(POC)将Web App发布到Marketplace,以便为我们的客户进行一键式部署。

当我们发布较新版本的应用程序时,我们如何通过Google Play商店等Azure Marketplace提供无缝升级(第一次安装按钮和旧版本使用用户更新按钮?

我通过本文解释了在Azure中的部署。但是,我没有找到任何升级Azure应用程序的文章

https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-deploy

2 个答案:

答案 0 :(得分:1)

我们可以使用git pull命令从其他git存储库获取更新。在Azure kudu中,命令可能是这样的,

D:\home\site\wwwroot>git remote add gitsource https://username@passwordyourgitserver.com/xx.git
D:\home\site\wwwroot>git pull gitsource master 
  

当我们发布较新版本的应用程序时,我们如何才能为客户提供无缝升级

发布新版本的应用程序后,您可以强制客户端执行上层命令以获取更新。如果使用C#作为编程语言,则可以使用以下步骤执行powershell命令。

  1. 使用NuGet安装System.Management.Automation dll。
  2. 使用以下方法运行powershell脚本。
  3. private static string RunScript(string scripts)
    {
        // create Powershell runspace
        Runspace runspace = RunspaceFactory.CreateRunspace();
        // open it
        runspace.Open();
        // create a pipeline and feed it the script text 
        Pipeline pipeline = runspace.CreatePipeline();
    
        pipeline.Commands.AddScript(scripts);
        pipeline.Commands.Add("Out-String");
        //execute the script
        Collection<PSObject> results = pipeline.Invoke();
        //close the runspace
        runspace.Close();
        // convert the script result into a single string
        StringBuilder stringBuilder = new StringBuilder();
        foreach (PSObject obj in results)
        {
            stringBuilder.AppendLine(obj.ToString());
        }
        return stringBuilder.ToString();
    }
    

答案 1 :(得分:1)

在用于为客户配置站点的ARM模板中,您可以从GitHub存储库启用到该站点的持续部署。因此,只要更新了repo,您​​的模板配置的网站(任何或所有网站)都将使用新的drop进行更新。

请参阅此示例模板:https://github.com/Azure/azure-quickstart-templates/tree/master/201-web-app-github-deploy

然后对于自动部署,将其设置为&#34; false&#34;:

https://github.com/Azure/azure-quickstart-templates/blob/master/201-web-app-github-deploy/azuredeploy.json#L101