首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Checkov扫描特定文件夹或PR自定义分支文件

Checkov扫描特定文件夹或PR自定义分支文件
EN

Stack Overflow用户
提问于 2022-11-22 12:27:42
回答 1查看 34关注 0票数 0

尝试通过Azure 切可夫 YAML管道运行IaC (用于IaC验证),用于存储在Azure DevOps版本控制中的ARM模板文件。守则如下:

代码语言:javascript
复制
trigger: none

pool:
  vmImage: ubuntu-latest

stages:
  - stage: 'runCheckov'
    displayName: 'Checkov - Scan ARM files'
    jobs:
      - job: 'RunCheckov'
        displayName: 'Checkov solution'
        steps:
          - bash: |
              docker pull bridgecrew/checkov
            workingDirectory: $(System.DefaultWorkingDirectory)
            displayName: 'Pull bridgecrew/checkov image'

          - bash: |
              docker run \
                --volume $(pwd):/scripts bridgecrew/checkov \
                --directory /scripts \
                --output junitxml \
                --soft-fail > $(pwd)/CheckovReport.xml
            workingDirectory: $(System.DefaultWorkingDirectory)
            displayName: 'Run checkov'

          - task: PublishTestResults@2
            inputs:
              testRunTitle: 'Checkov run results'
              failTaskOnFailedTests: false
              testResultsFormat: 'JUnit'
              testResultsFiles: 'CheckovReport.xml'
              searchFolder: '$(System.DefaultWorkingDirectory)'
              mergeTestResults: false
              publishRunAttachments: true
            displayName: 'Publish Test results'

问题-如何将ARM模板的路径/文件夹更改为扫描。现在,它扫描在我的整个repo1下找到的所有ARM模板,不管我设置了哪个目录值。

此外,如何在PR评审期间扫描提交给自定义分支的PR文件,因此它将触发构建,但是构建将只扫描自定义分支中的那些文件。我知道如何通过DevOps存储库设置来触发构建,但同样,如何确保构建管道使用/扫描特定的PR提交文件,而不是整个repo1 (和master分支)。

EN

回答 1

Stack Overflow用户

发布于 2022-11-23 02:20:54

我建议您使用Docker映像bridgecrew/checkov来设置运行Checkov扫描的集装箱作业容器作业将将作业的所有任务运行到从此映像启动的Docker容器中。

容器作业中,可以将源存储库签入容器中,然后使用脚本任务(如Bash任务)运行相关的Checkov CLI来执行文件扫描。在脚本任务上,可以使用'workingDirectory‘选项指定运行命令行的路径/文件夹。通常,命令行只对指定目录及其子目录中的文件起作用。

如果只想扫描作业中特定分支中的文件,则可以将特定分支克隆/签出到容器中作业的工作目录中,然后如前所述,使用相关的Checkov CLI扫描指定目录下的文件。

更新

在管道作业中,您可以尝试调用Azure DevOps REST "提交-获取更改“来获取用于特定提交的所有更改的文件和文件夹。

然后使用参数--directory (-d)或--file (-f)的车臣CLI扫描指定的文件或文件夹。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74532617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档