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 ofauto
orzipDeploy