azure PSRule的飞行中评估输出

dm7nw8vv  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(75)

我有以下管道,用于从资源组获取当前(动态)资源,并在这些现有资源上运行PSRule。

pool:
  vmImage: ubuntu-latest

stages:          
- stage: Assess
  displayName: In-flight assessment
  jobs:
  - job: 
    steps:
      - checkout: self

      - task: ps-rule-install@02
        displayName: Install PSRule.Rules.Azure
        inputs:
          module: 'PSRule.Rules.Azure'

      - task: AzurePowerShell@5
        inputs:
          azureSubscription: serviceConnection
          ScriptType: 'InlineScript'
          Inline: |
            Get-AzContext;
            Export-AzRuleData -ResourceGroupName 'myrgname' -OutputPath  'out/templates/';   
            Invoke-PSRule -Module 'PSRule.Rules.Azure' -InputPath 'out/templates/*.json' -OutputPath '$(Build.SourcesDirectory)';
          azurePowerShellVersion: 'LatestVersion'

管道运行良好,没有任何错误,但是似乎没有对JSON文件进行任何评估。我在这里遗漏了什么,因为我已经遵循了一两个存在的例子。
结果截图

iq0todco

iq0todco1#

Invoke-PSRule命令中,您已经设置了outputpath,但没有使用outputformat,它不会在devops日志中输出结果。此外,固定输入路径值。样品如下:

- task: ps-rule-install@02
        displayName: Install PSRule.Rules.Azure
        inputs:
          module: 'PSRule.Rules.Azure'

      - task: AzurePowerShell@5
        inputs:
          azureSubscription: 'ARMConn1'
          ScriptType: 'InlineScript'
          Inline: |
            Get-AzContext;
            Export-AzRuleData -ResourceGroupName 'wadeTestRG1' -OutputPath  'out/templates/'; 
            cd out/templates
            Invoke-PSRule -Module 'PSRule.Rules.Azure' -InputPath './*.json' -OutputPath test -OutputFormat json;
          azurePowerShellVersion: 'LatestVersion'

      - task: PublishPipelineArtifact@1
        inputs:
          targetPath: '$(Pipeline.Workspace)/s'
          artifact: 'tes'
          publishLocation: 'pipeline'

检查工件内容,将显示test结果(输出结果)

如果你想在devops日志中检查结果,请在yaml中使用Invoke-PSRule -Module 'PSRule.Rules.Azure' -InputPath ./*.json -As Summary;

相关问题