Erros no Azure Pipeline ao Implantar Funções do Azure

This article was translated from English: Does it need improvement?
Translated
View the article in English

Ao implantar uma Função do Azure que utiliza IronPDF, você pode encontrar o seguinte erro se o DeploymentType no seu Azure Pipeline estiver definido como auto ou zipDeploy.

[0714/125524.684:FATAL:gpu_data_manager_impl_private.cc(440)] GPU process isn't usable. Goodbye.

Esse erro ocorre porque zipDeploy não preserva corretamente os binários nativos dos quais o IronPDF depende, incluindo os componentes do Chromium Embedded Framework (CEF). Quando esses binários estão ausentes ou corrompidos após a implantação, o processo da GPU falha em tempo de execução.

Solução

Altere o DeploymentType para webDeploy na tarefa AzureRmWebAppDeployment@4. Esse método de implantação preserva todos os binários nativos, incluindo CEF, durante o processo de implantação.

Também configure zipAfterPublish: false na etapa de publicação para que a pasta de saída não seja compactada antes da implantação.

O seguinte YAML de pipeline mostra a configuração completa recomendada:

jobs:
  - job:
    steps:
    - checkout: self
      displayName: Checkout Repository
      lfs: true

    - task: AzureCLI@2
      displayName: Check Azure CLI Installation
      inputs:
        azureSubscription: '<your-azure-subscription-name>'
        scriptType: 'ps'
        scriptLocation: 'inlineScript'
        inlineScript: 'az --version'

    - task: DotNetCoreCLI@2
      displayName: Restore Function Project
      inputs:
        command: 'restore'
        projects: '<path-to-your-csproj>'

    - task: DotNetCoreCLI@2
      displayName: Build Function Project
      inputs:
        command: 'build'
        projects: '<path-to-your-csproj>'
        arguments: '--configuration Release --no-restore --verbosity normal'

    - task: DotNetCoreCLI@2
      displayName: Publish Function Project
      inputs:
        command: publish
        arguments: '--configuration Release --no-build --output $(Build.ArtifactStagingDirectory)/publish_output'
        projects: '<path-to-your-csproj>'
        publishWebProjects: false
        modifyOutputPath: false
        zipAfterPublish: false

    - task: AzureRmWebAppDeployment@4
      displayName: 'Deploy Azure Function App'
      inputs:
        ConnectionType: 'AzureRM'
        azureSubscription: '<your-azure-subscription-name>'
        appType: 'functionApp'
        WebAppName: '<your-azure-function-app-name>'
        enableCustomDeployment: true
        DeploymentType: 'webDeploy'
jobs:
  - job:
    steps:
    - checkout: self
      displayName: Checkout Repository
      lfs: true

    - task: AzureCLI@2
      displayName: Check Azure CLI Installation
      inputs:
        azureSubscription: '<your-azure-subscription-name>'
        scriptType: 'ps'
        scriptLocation: 'inlineScript'
        inlineScript: 'az --version'

    - task: DotNetCoreCLI@2
      displayName: Restore Function Project
      inputs:
        command: 'restore'
        projects: '<path-to-your-csproj>'

    - task: DotNetCoreCLI@2
      displayName: Build Function Project
      inputs:
        command: 'build'
        projects: '<path-to-your-csproj>'
        arguments: '--configuration Release --no-restore --verbosity normal'

    - task: DotNetCoreCLI@2
      displayName: Publish Function Project
      inputs:
        command: publish
        arguments: '--configuration Release --no-build --output $(Build.ArtifactStagingDirectory)/publish_output'
        projects: '<path-to-your-csproj>'
        publishWebProjects: false
        modifyOutputPath: false
        zipAfterPublish: false

    - task: AzureRmWebAppDeployment@4
      displayName: 'Deploy Azure Function App'
      inputs:
        ConnectionType: 'AzureRM'
        azureSubscription: '<your-azure-subscription-name>'
        appType: 'functionApp'
        WebAppName: '<your-azure-function-app-name>'
        enableCustomDeployment: true
        DeploymentType: 'webDeploy'
YAML

Substitua <your-azure-subscription-name>, <path-to-your-csproj> e <your-azure-function-app-name> pelos seus valores reais. Para configuração geral e setup de Funções do Azure, consulte o guia de implantação do Azure.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 20,088,359 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.