trigger:
- master
pool:
vmImage: ubuntu-latest
stages:
- stage: Build
displayName: Docker イメージをビルド
jobs:
- job: BuildAndSave
displayName: Docker イメージをビルドして保存
steps:
- script: |
docker build -t my-image .
docker save my-image -o $(Pipeline.Workspace)/my-image.tar
displayName: 'Docker イメージを TAR にビルドして保存'
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)/my-image.tar'
artifactName: 'my-image-tar'
displayName: 'Docker イメージ TAR を成果物として公開'
- stage: Scan
displayName: Docker イメージをスキャン
dependsOn: Build
jobs:
- job: RunScanner
displayName: Aikido Local Scanner でスキャン
steps:
- task: DownloadPipelineArtifact@2
inputs:
artifact: 'my-image-tar'
path: '$(Pipeline.Workspace)'
displayName: '保存したイメージ TAR をダウンロード'
- script: |
docker run --rm -v $(Pipeline.Workspace):$(Pipeline.Workspace) aikidosecurity/local-scanner image-scan $(Pipeline.Workspace)/my-image.tar --image-name my-image --apikey $(AIKIDO_API_KEY)
displayName: 'Aikido で Docker イメージをスキャン'