您可以声明一个包含要扫描的图像阵列的参数,然后使用循环为每个图像生成一个作业,而不是使用变量。
实例
name: $(BuildDefinitionName)_$(date:yyyyMMdd)_$(BuildID)$(rev:.r)
parameters:
- name: containerImages
displayName: 'Container images to scan'
type: object
default:
- name: openjdk
tag: 17-jdk-slim
- name: alpine
tag: 3.14
- name: nginx
tag: latest
jobs:
- ${{ each image in parameters.containerImages }}:
- job: scan_${{ image.name }}
displayName: "Scan ${{ image.name }}:${{ image.tag }}"
steps:
- script: |
trivy image -s HIGH,CRITICAL ${{ image.name }}:${{ image.tag }} | tee ./report/trivy-image-scan-report.txt
displayName: "Scan ${{ image.name }}:${{ image.tag }} with Trivy"
continueOnError: true
正在运行管道: