развертывание веб-приложения в выпуске конвейера azure DevOps с шаблонами powershell / json - ошибка - модальное диалоговое окно недопустимо

# Использование выпуска конвейера Azure DevOps со сценарием powershell, файлом шаблона json и параметром json #file. Для аутентификации заметок на портале Azure требуется многофакторная аутентификация (например, аутентификатор на моем мобильном телефоне)

#'ERROR- >>>>> <strong>"Showing a modal dialog box or form when the application is not running in #UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly #style to display a notification from a service application."</strong>
#(Note- Bottom of logs immediately below contains this modal error.)'
    
    
    2020-11-14T20:33:38.7159389Z ##[section]Starting: WebApp_Create01
    2020-11-14T20:33:38.7499602Z ==============================================================================
    2020-11-14T20:33:38.7499865Z Task         : Azure PowerShell
    2020-11-14T20:33:38.7499927Z Description  : Run a PowerShell script within an Azure environment
    2020-11-14T20:33:38.7499981Z Version      : 3.1.28
    2020-11-14T20:33:38.7500050Z Author       : Microsoft Corporation
    2020-11-14T20:33:38.7500132Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-powershell
    2020-11-14T20:33:38.7500215Z ==============================================================================
    2020-11-14T20:33:40.5542183Z ##[command]Import-Module -Name C:\Program Files\WindowsPowerShell\Modules\AzureRM\6.13.1\AzureRM.psd1 -Global
    2020-11-14T20:33:54.9421385Z ##[command]Clear-AzureRmContext -Scope Process
    2020-11-14T20:33:55.3824175Z ##[command]Disable-AzureRmContextAutosave -ErrorAction Stop
    2020-11-14T20:33:56.1766169Z ##[command]Add-AzureRMAccount -ServicePrincipal -Tenant *** -Credential System.Management.Automation.PSCredential -Environment AzXXXXXXXXXXXXXnt @processScope
    2020-11-14T20:33:57.8815316Z ##[command] Select-AzureRMSubscription -SubscriptionId c27XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2 -TenantId ***
    2020-11-14T20:33:58.5484671Z ##[command]& 'C:\agent\Workfolder_CloudUiPathAgent03\_temp\939d1XXXXXXXXXXXXXXXXXXXXXXXX2127.ps1'
    2020-11-14T20:33:58.7424214Z ##[command]Disconnect-AzureRmAccount -Scope Process -ErrorAction Stop
    2020-11-14T20:33:59.1018440Z ##[command]Clear-AzureRmContext -Scope Process -ErrorAction Stop
    <strong>2020-11-14T20:33:59.7603535Z ##[error]Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.</strong>
    2020-11-14T20:33:59.8133689Z ##[section]Finishing: WebApp_Create01
    <br>
    
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    
    #The immediately below is the ps1 pasted into the section for the "Inline" script.  Pipeline was #created as "Azure Powershell":
    
    
    
    Connect-AzureRmAccount -Environment AzXXXXXXXXXXXXXnt -TenantId '410XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXf1d' -Force
    Select-AzureRmSubscription -Subscription "c271XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX832"
    # Tried both Connect-AzureRmAccount and Login-AzureRmAccount without any success?
    #Login-AzureRmAccount -Environment AzXXXXXXXXXXXXXt | Out-Null
    #Select-AzureRmSubscription -Subscription "c271XXXXXXXXXXXXXXXXXXXXXXXXX832" | Out-Null
    
    <br>
    # Deploy App Service Plan, Web App & Deployment Slots
    $DeploymentParametersBuildVM = @{
        ResourceGroupName = 'DXXXXXXXXXXXXXXXXXXXXXXXXamic'
        TemplateUri       = 'https://dXXXXXXXXXXXXXXXXX.blob.core.XXXXXcloudapi.net/blob-uXXXXXXXXXXXXXXXXXXXXXXXXX7/webappcreate.json'
    TemplateParameterFile = "https://XXXXXXXXXXXXXapi.net/blob-uXXXXXXXXXXXXXXXXXXXXXXXXX7/webappcreate.parameters.json"
        Verbose           = $true
        webAppName        = 'uXXXXXXXXXXXXXXXXXXXXXXXXXXX7'
        hostingPlanName   = 'WebXXXXXXXXXXXXXXXXXXXXXX01' 
        templateSasToken  = 'mtAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXpSTQ=='
        subscriptionId = 'c271XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX832'
        name = 'uXXXXXXXXXXXXXXXXXXXXX7'
        location = 'UXXXXXXXXXXXXXXX'
        serverFarmResourceGroup = 'DXXXXXXXXXXXXXXXXXXXXXXXXamic'
        Tenantid = '410XXXXXXXXXXXXXXXXXXXXXXXXXXXf1d'
        alwaysOn = 'off'    
        sku = 'Free'
        skuCode = 'F1'      
        workerSize = '0'
        workerSizeId = '0'
        numberOfWorkers = '1'
        currentStack = 'dotnet'
        phpVersion = 'OFF'
        appInsightValue = 'uXXXXXXXXXXXXXXXXXXXXXXo7Insight'
        netFrameworkVersion = 'v4.0'
        azureAccountPassword  = '12XXXXXXXXXXXXXXXXXditto'
        accountid = 'a183XXXXXXXXXXXXXXXXXXXXXXXXXXXXX68fa'
        Credential = '12XXXXXXXXXXXXXXXXXditto'
        ServicePrincipal = '_MV_XXXXXXXXXXXXXXXXXXXXXXXXXXXX9~1e'
           
        
    }
    
    
    # DEPLOY
    New-AzureRmResourceGroupDeployment @DeploymentParametersBuildVM
    
    
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    
    #webapp.parameters.json    (this is the azure webapp "parameter" json immediately below): 
    
    
        
    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "subscriptionId": {
                "value": "c271XXXXXXXXXXXXXXXXXXXXXXXXXXXXX832"
            },
            "name": {
                "value": "uXXXXXXXXXXXXXXXXXXX7"
            },
            "location": {
                "value": "UXXXXXXXXXXXXXX"
            },
            "hostingPlanName": {
                "value": "WebXXXXXXXXXXXXXXXXXXX01"
            },
            "serverFarmResourceGroup": {
                "value": "DXXXXXXXXXXXXXXXXXXXic"
            },
            "alwaysOn": {
                "value": "true"
            },
            "sku": {
                "value": "Free"
            },
            "skuCode": {
                "value": "F1"
            },
            "workerSize": {
                "value": "0"
            },
            "workerSizeId": {
                "value": "0"
            },
            "numberOfWorkers": {
                "value": "1"
            },
            "currentStack": {
                "value": "dotnet"
            },
            "phpVersion": {
                "value": "OFF"
            },
            "appInsightValue": {
                "value": "uXXXXXXXXXXXXXXXXXX7Insight"
            },
            "netFrameworkVersion": {
                "value": "v4.0"
            }
        }
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    
    
    #webappacreate.json   (this is the azure webapp "template" json immediately below)
    
    
    
    {
        "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "subscriptionId": {
                "type": "string"
            },
            "name": {
                "type": "string"
            },
            "location": {
                "type": "string"
            },
            "hostingPlanName": {
                "type": "string"
            },
            "serverFarmResourceGroup": {
                "type": "string"
            },
            "alwaysOn": {
                "type": "bool"
            },
            "sku": {
                "type": "string"
            },
            "skuCode": {
                "type": "string"
            },
            "workerSize": {
                "type": "string"
            },
            "workerSizeId": {
                "type": "string"
            },
            "numberOfWorkers": {
                "type": "string"
            },
            "currentStack": {
                "type": "string"
            },
            "phpVersion": {
                "type": "string"
            },
            "appInsightValue": {
                "type": "string"
            },
            "netFrameworkVersion": {
                "type": "string"
            }
        },
        "variables": {
            "appInsightName": "[concat('microsoft.insights/components/',parameters('appInsightValue'))]"
        },
        "resources": [
            {
                "apiVersion": "2018-11-01",
                "name": "[parameters('name')]",
                "type": "Microsoft.Web/sites",
                "location": "[parameters('location')]",
                "tags": {},
                "dependsOn": [
                    "[concat('microsoft.insights/components/',parameters('appInsightValue'))]",
                    "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
                ],
                "properties": {
                    "name": "[parameters('name')]",
                    "siteConfig": {
                        "appSettings": [
                            {
                                "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
                                "value": "[reference(variables('appInsightName'), '2015-05-01').InstrumentationKey]"
                            },
                            {
                                "name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
                                "value": "[reference(variables('appInsightName'), '2015-05-01').ConnectionString]"
                            },
                            {
                                "name": "ApplicationInsightsAgent_EXTENSION_VERSION",
                                "value": "~2"
                            },
                            {
                                "name": "XDT_MicrosoftApplicationInsights_Mode",
                                "value": "default"
                            }
                        ],
                        "metadata": [
                            {
                                "name": "CURRENT_STACK",
                                "value": "[parameters('currentStack')]"
                            }
                        ],
                        "phpVersion": "[parameters('phpVersion')]",
                        "netFrameworkVersion": "[parameters('netFrameworkVersion')]",
                        "alwaysOn": "[parameters('alwaysOn')]"
                    },
                    "serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                    "clientAffinityEnabled": true
                }
            },
            {
                "apiVersion": "2018-11-01",
                "name": "[parameters('hostingPlanName')]",
                "type": "Microsoft.Web/serverfarms",
                "location": "[parameters('location')]",
                "kind": "",
                "tags": {},
                "dependsOn": [],
                "properties": {
                    "name": "[parameters('hostingPlanName')]",
                    "workerSize": "[parameters('workerSize')]",
                    "workerSizeId": "[parameters('workerSizeId')]",
                    "numberOfWorkers": "[parameters('numberOfWorkers')]"
                },
                "sku": {
                    "Tier": "[parameters('sku')]",
                    "Name": "[parameters('skuCode')]"
                }
            },
            {
                "apiVersion": "2015-05-01",
                "name": "[parameters('appInsightValue')]",
                "type": "microsoft.insights/components",
                "location": "[parameters('location')]",
                "tags": {},
                "properties": {
                    "ApplicationId": "[parameters('name')]",
                    "Request_Source": "IbizaWebAppExtensionCreate"
                }
            }
        ]
    }



Ответы (2)


Согласно сообщению об ошибке, вам кажется, что вам нужно установить для параметров MessageBox.Show значение ServiceNotification или DefaultDesktopOnly. Вы можете попробовать обходной путь, представленный в этом тикет: добавление MessageBoxOptions.ServiceNotification

MessageBox.Show(msg, "Print Error", System.Windows.Forms.MessageBoxButtons.YesNo, 
   System.Windows.Forms.MessageBoxIcon.Error,     
   System.Windows.Forms.MessageBoxDefaultButton.Button1, 
   System.Windows.Forms.MessageBoxOptions.ServiceNotification); 

Но MessageBox предназначен для использования в приложениях Windows (в отличие от веб-приложений). Он попытается открыть окно сообщения на сервере. Вот билет вы можете сослаться на.

person Hugh Lin    schedule 16.11.2020
comment
Спасибо. Пожалуйста, ознакомьтесь с моим решением, приведенным выше для МСП по конвейеру MSFT. - person d1260; 17.11.2020

Выяснилось, что для конвейера azure DevOps не требуется аутентификации, поэтому не требуется вход в систему или подключение. Это избавилось от всплывающего окна (модальная ошибка).

Затем я посоветовался с человеком по лазурному DevOps, и он сказал, чтобы он не использовал PowerShell в конвейере.

Он рекомендовал вариант развертывания группы ресурсов Azure для конвейерной версии. Для этого не требуется никакого сценария запуска, а только шаблон json и параметр json.

Спасибо.

person d1260    schedule 17.11.2020
comment
Спасибо, что поделились здесь своим решением. Примите, пожалуйста, свое решение в качестве ответа? Таким образом, было бы полезно, чтобы другие участники, столкнувшиеся с той же проблемой, легко нашли решение. Хорошего дня:) - person Hugh Lin; 30.11.2020