Azure devOps 任务警告 - “Terraform Load Output”版本 1 (TerraformOutput@1) 依赖于生命周期结束的 Node 版本 (10)

问题描述 投票:0回答:1

我创建了一个 Azure devOps Pipeline,其任务是输出人类可读的 Terraform 计划。

我有以下管道任务正在运行而没有警告...

 - task: TerraformOutput@1
   enabled: true
   inputs:
     outputFilePath: $(System.DefaultWorkingDirectory)/deployment_layer/network/tfplan'
     artifactName: 'tfplan'

我现在收到警告:

##[警告]任务“Terraform Load Output”版本 1 (TerraformOutput@1) 依赖于已终止生命的 Node 版本 (10)。

联系扩展所有者以获取任务的更新版本。任务维护者应查看节点升级指南:https://aka.ms/node-runner-guidance

我查看了该网址,但无法弄清楚他们所说的内容如何与我解决警告的任务相关联。

我将尝试找到一个类似的“任务”,它创建并发布为人类可读的 Terraform 计划选项卡 - 除了“TerraformOutput@1”之外,还有其他人使用不同的任务类型来执行此操作吗?

- task: TerraformOutput@1
  enabled: true
  displayName: "Create human readbale plan"
  inputs:
    outputFilePath: '$(System.DefaultWorkingDirectory)/deployment_layer/re_id/tfplan'
    artifactName: 'tfplan'
azure-devops azure-pipelines terraform-provider-azure
1个回答
0
投票

在 Azure DevOps 中使用 TerraformOutput@1 任务时,我会收到相同的警告。

表示管道任务正在使用生命周期结束的节点版本。该警告来自任务本身。

参考TerraformOutput任务配置:task.json

  "execution": {
    "Node10": {
      "target": "src/index.js"
    }
  }

我们需要联系扩展开发者更新扩展所依赖的节点版本。正如 jessehouwing 所分享的,我们可以在扩展站点中创建问题反馈票。

根据我的测试,这个警告暂时不影响任务的使用。您可以忽略此警告并继续使用。

我将尝试找到一个类似的“任务”,它创建并发布为人类可读的 Terraform 计划选项卡 - 除了“TerraformOutput@1”之外,还有其他人使用不同的任务类型来执行此操作吗?

恐怕没有现成的管道任务(内置或扩展任务)可以实现相同的功能(在“管道”选项卡中显示 terraform 计划输出)。

作为解决方法,我们可以使用 terraform show 命令将 tfplan 文件转换为人类可读的格式,并使用 logging 命令 将文件输出到管道任务。

这是一个例子:

steps:
- task: TerraformTaskV4@4
  inputs:
    provider: 'azurerm'
    command: 'init'
    xxx
- task: TerraformTaskV4@4
  inputs:
    provider: 'azurerm'
    command: 'plan'
    commandOptions: '-out=tfplan'
    environmentServiceNameAzureRM: 'xx'
- task: TerraformTaskV4@4
  inputs:
    provider: 'azurerm'
    command: 'show'
    commandOptions: 'tfplan -no-color'
    outputTo: 'file'
    outputFormat: 'default'
    fileName: 'tfplan.md'
    environmentServiceNameAzureRM: 'xx'
- bash: | 
    ls -la
    sed -i '1 i\```' tfplan.md
    echo '```' >> tfplan.md
    echo "##vso[task.uploadsummary]$(System.DefaultWorkingDirectory)/tfplan.md"

结果:

enter image description here

在这种情况下,我们可以在“管道”选项卡中看到人类可读的 terraform 输出。

© www.soinside.com 2019 - 2024. All rights reserved.