部署Azure Functions時的Azure Pipeline錯誤

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

當部署使用IronPDF的Azure Function時,如果您在Azure Pipeline中將zipDeploy,可能會遇到以下錯誤。

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

此錯誤發生是因為zipDeploy未正確保留IronPDF依賴的本機二進位檔案,包含Chromium Embedded Framework (CEF)元件。 如果這些二進位檔案在部署後遺失或損壞,GPU進程會在運行時失敗。

解決方案

AzureRmWebAppDeployment@4任務中。 此部署方法在部署過程中保留了所有本機二進位檔案,包括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'
YAML

替換<your-azure-function-app-name>為您的實際值。 有關一般Azure Functions的設置和配置,請參閱Azure部署指南

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,088,359 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。