Erreurs de pipeline Azure lors du déploiement de fonctions Azure

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

Lors du déploiement d'une fonction Azure qui utilise IronPDF, vous pouvez rencontrer l'erreur suivante si le DeploymentType dans votre pipeline Azure est défini sur auto ou zipDeploy.

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

Cette erreur se produit parce que zipDeploy ne préserve pas correctement les binaires natifs dont dépend IronPDF, y compris les composants du Chromium Embedded Framework (CEF). Lorsque ces binaires sont manquants ou corrompus après le déploiement, le processus GPU échoue à l'exécution.

Solution

Changez le DeploymentType en webDeploy dans la tâche AzureRmWebAppDeployment@4. Cette méthode de déploiement préserve tous les binaires natifs, y compris le CEF, pendant le processus de déploiement.

Définissez également zipAfterPublish: false dans l'étape de publication afin que le dossier de sortie ne soit pas zippé avant le déploiement.

Le YAML de pipeline suivant montre la configuration recommandée complète :

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

Remplacez <your-azure-subscription-name>, <path-to-your-csproj> et <your-azure-function-app-name> par vos valeurs réelles. Pour la configuration générale des fonctions Azure, consultez le guide de déploiement Azure.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer ?
Nuget Téléchargements 20,088,359 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.