You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps自托管代理VMSS报错:无法找到unzip可执行文件

问题:Azure VMSS自托管代理运行Terraform流水线报错找不到unzip

环境配置

我已在Azure中创建虚拟机规模集(VMSS),执行的Azure CLI命令如下:

az group create --location eastus --name vmssagents

az vmss create --name vmssagentspool --resource-group vmssagents --image UbuntuLTS --vm-sku Standard_B1s --storage-sku StandardSSD_LRS --authentication-type SSH --generate-ssh-keys --instance-count 2 --disable-overprovision --upgrade-policy-mode manual --single-placement-group false --platform-fault-domain-count 1 --load-balancer ""

同时在Azure DevOps中创建了自托管代理池,但运行指定的Terraform流水线时,出现以下错误:

错误:无法找到可执行文件:'unzip'。请验证文件路径是否存在,或该文件是否能在PATH环境变量指定的目录中找到。同时检查文件权限以确认文件是否可执行。

流水线定义

trigger: none

pool: 'Self Hosted'

variables:
  bkstrgrg: azDevTFTestRG
  bkstrg: cirazadopstest2
  bkcontainer: tfstate
  bkstrgkey: devpipeline.terraform.tfstate

stages:
  - stage: tfvalidate
    jobs:
      - job: validate
        continueOnError: false
        steps:
          - task: TerraformInstaller@0
            displayName: tfinstall
            inputs:
              terraformVersion: 'latest'

          - task: TerraformTaskv3@3
            displayName: init
            inputs:
              provider: 'azurerm'
              command: 'init'
              backendServiceArm: 'Azure-Landing-Zone-Deployment'
              backendAzureRmResourceGroupName: '$(bkstrgrg)'
              backendAzureRmStorageAccountName: '$(bkstrg)'
              backendAzureRmContainerName: '$(bkcontainer)'
              backendAzureRmKey: '$(bkstrgkey)'

          - task: TerraformTaskV3@3
            displayName: validate
            inputs:
              provider: 'azurerm'
              command: 'validate'

  - stage: tfdeploy
    condition: succeeded ('tfvalidate')
    dependsOn: tfvalidate
    jobs:
      - job: apply
        steps:
          - task: TerraformInstaller@0
            displayName: tfinstall
            inputs:
              terraformVersion: 'latest'

          - task: TerraformTaskv3@3
            displayName: init
            inputs:
              provider: 'azurerm'
              command: 'init'
              backendServiceArm: 'Azure-Landing-Zone-Deployment'
              backendAzureRmResourceGroupName: '$(bkstrgrg)'
              backendAzureRmStorageAccountName: '$(bkstrg)'
              backendAzureRmContainerName: '$(bkcontainer)'
              backendAzureRmKey: '$(bkstrgkey)'

          - task: TerraformTaskV3@3
            displayName: validate
            inputs:
              provider: 'azurerm'
              command: 'validate'

          - task: TerraformTaskv3@3
            displayName: plan
            inputs:
              provider: 'azurerm'
              command: 'plan'
              environmentServiceNameAzureRM: 'Azure-Landing-Zone-Deployment'

          - task: TerraformTaskv3@3
            displayName: apply
            inputs:
              provider: 'azurerm'
              command: 'apply'
              environmentServiceNameAzureRM: 'Azure-Landing-Zone-Deployment'

后续操作

根据建议,我已使用自定义脚本扩展重新配置VMSS,执行命令如下:

az vmss extension set --vmss-name vmssagentspool --resource-group vmssagents  --name CustomScript --version 2.0 --publisher Microsoft.Azure.Extensions --settings '{"fileUris":["<自定义脚本文件的公网URL>"],"commandToExecute":"bash ./zip_install.sh" }'

内容的提问来源于stack exchange,提问作者One Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 18:35:32