Errores de Azure Pipeline al implementar Azure Functions
Al implementar una Azure Function que utiliza IronPDF, puede encontrar el siguiente error si DeploymentType en su Azure Pipeline está configurado a auto o zipDeploy.
[0714/125524.684:FATAL:gpu_data_manager_impl_private.cc(440)] GPU process isn't usable. Goodbye.
Este error ocurre porque zipDeploy no preserva correctamente los binarios nativos de los que depende IronPDF, incluidos los componentes del Chromium Embedded Framework (CEF). Cuando esos binarios faltan o están corruptos después de la implementación, el proceso de GPU falla en tiempo de ejecución.
Solución
Cambie DeploymentType a webDeploy en la tarea AzureRmWebAppDeployment@4. Este método de implementación preserva todos los binarios nativos, incluido CEF, durante el proceso de implementación.
También configure zipAfterPublish: false en el paso de publicación para que la carpeta de salida no sea comprimida antes de la implementación.
El siguiente YAML de pipeline muestra la configuración 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'
Reemplace <your-azure-subscription-name>, <path-to-your-csproj> y <your-azure-function-app-name> con sus valores reales. Para la configuración e instalación general de Azure Functions, consulte la guía de implementación de Azure.

