Skip to content
English
  • There are no suggestions because the search field is empty.

How to deploy Azure Function with IronPdf using Azure Pipeline?

Avoid deployment failures like GPU errors by using the correct deployment type for Azure Functions running IronPdf.

When deploying an Azure Function that uses IronPdf, customers may encounter the following error if they set the DeploymentType to auto or zipDeploy in their Azure Pipeline:
2025-07-14T12:55:25Z   [Information]   [0714/125524.684:FATAL:gpu_data_manager_impl_private.cc(440)] GPU process isn't usable. Goodbye.

This issue stems from how Chromium Embedded Framework (CEF) dependencies are loaded. IronPdf relies on CEF, and if it is not deployed properly (e.g., missing binaries or incorrect deployment type), it can cause failures during runtime—especially related to GPU or sandboxing issues.

To avoid this problem, use webDeploy as the DeploymentType. This ensures that all native binaries, including CEF, are preserved and correctly handled during deployment.

Working Azure Pipeline YAML (Sample)

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

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

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

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

    # Publish the Azure Function to output folder
    - 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

    # Deploy the published function using webDeploy
    - 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'  #Use webDeploy instead of auto/zipDeploy

Key Recommendations

  • Use webDeploy instead of auto or zipDeploy