Azure Functions 배포 시 Azure Pipeline 오류
IronPDF를 사용하는 Azure Function을 배포할 때, Azure Pipeline의 DeploymentType이(가) auto 또는 zipDeploy로 설정된 경우 다음과 같은 오류가 발생할 수 있습니다.
[0714/125524.684:FATAL:gpu_data_manager_impl_private.cc(440)] GPU process isn't usable. Goodbye.
이 오류는 zipDeploy이(가) IronPDF가 의존하는 Chromium 포함 프레임워크(CEF) 구성 요소를 포함한 네이티브 이진 파일을 올바르게 보존하지 않기 때문에 발생합니다. 배포 후 이러한 이진 파일이 누락되거나 손상된 경우, GPU 프로세스가 런타임 중에 실패합니다.
해결책
DeploymentType을(를) AzureRmWebAppDeployment@4 작업에서 webDeploy(으)로 변경하십시오. 이 배포 방법은 배포 과정 중에 CEF를 포함하여 모든 네이티브 이진 파일을 보존합니다.
출력 폴더가 배포 이전에 압축되지 않도록 공개 단계에서 zipAfterPublish: false을(를) 설정하십시오.
다음 파이프라인 YAML은 권장되는 전체 구성을 보여줍니다:
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'
<your-azure-subscription-name>, <path-to-your-csproj>, <your-azure-function-app-name>을(를) 실제 값으로 대체하십시오. 일반적인 Azure Functions 설정 및 구성에 대해서는 Azure 배포 가이드를 참조하십시오.

