@@ -3,6 +3,8 @@ mode: parallel
33stages :
44- Test
55- Build Artifacts
6+ - Security scan
7+ - Push
68steps :
79
810 main_clone :
@@ -96,17 +98,6 @@ steps:
9698 commands :
9799 - cd venona && make gocyclo
98100
99- image-security-scan :
100- << : *common
101- title : Scan Docker Image
102- commands :
103- - cd venona && make docker-security-scan TAG=${{CF_BRANCH_TAG_NORMALIZED}}
104- when :
105- steps :
106- - name : push
107- on :
108- - success
109-
110101 upload-codecov :
111102 << : *common
112103 title : Upload Code Coverage
@@ -150,17 +141,78 @@ steps:
150141 tag : ${{CF_BRANCH_TAG_NORMALIZED}}
151142 dockerfile : Dockerfile
152143 working_directory : ${{main_clone}}/venona
153- image_name : codefresh/venona
144+ image_name : ${{IMAGE_NAME}}
154145 when :
155146 steps :
156147 - name : compile
157148 on :
158149 - success
159150
151+ security_scan :
152+ stage : Security scan
153+ type : parallel
154+ when :
155+ steps :
156+ - name : build_image
157+ on :
158+ - success
159+ success_criteria :
160+ condition :
161+ any :
162+ secScanStep : security_scan_1.result == 'success'
163+ secScanFail : ' "${{IGNORE_SEC_SCAN}}" == "true"'
164+ steps :
165+ security_scan_1 :
166+ image : aquasec/trivy:latest
167+ title : " Scanning image for security vulnerablities"
168+ commands :
169+ - ' ! rm ${{SEC_SCAN_REPORT_FILE}} 2>/dev/null'
170+ - |-
171+ set -o pipefail
172+ trivy \
173+ --quiet \
174+ ${{IMAGE_NAME}}:${{CF_BRANCH_TAG_NORMALIZED_LOWER_CASE}} &> ${{SEC_SCAN_REPORT_FILE}}
175+ trivy \
176+ --quiet \
177+ --skip-update \
178+ --ignorefile /tmp/.trivy/trivyignore \
179+ --ignore-unfixed \
180+ --exit-code 1 \
181+ --severity ${{SEC_SCAN_SEVERITY_THRESHOLD}} \
182+ ${{IMAGE_NAME}}:${{CF_BRANCH_TAG_NORMALIZED_LOWER_CASE}}
183+ on_success :
184+ metadata :
185+ set :
186+ - ' ${{build_image.imageId}} ' :
187+ - SECURITY_CHECK_PASS : true
188+
189+ upload_sec_scan_report :
190+ stage : Security scan
191+ image : mesosphere/aws-cli
192+ fail_fast : false
193+ when :
194+ steps :
195+ - name : security_scan
196+ on :
197+ - success
198+ - name : export_version
199+ on :
200+ - success
201+ branch :
202+ only : [ "${{RELEASE_BRANCH_NAME}}" ]
203+ environment :
204+ - AWS_ACCESS_KEY_ID=${{SEC_SCAN_AWS_KEY_ID}}
205+ - AWS_SECRET_ACCESS_KEY=${{SEC_SCAN_AWS_SECRET_KEY}}
206+ commands :
207+ - |-
208+ aws s3 cp \
209+ ${{SEC_SCAN_REPORT_FILE}} \
210+ s3://${{SEC_SCAN_S3_BUCKET}}/${{IMAGE_NAME}}/${{CF_REPO_NAME}}:${{VERSION}}.txt
211+
160212 push :
161213 type : push
162214 title : Push candidate
163- stage : Build Artifacts
215+ stage : Push
164216 candidate : ${{build_image}}
165217 tags :
166218 - ${{VERSION}}-${{CF_BRANCH_TAG_NORMALIZED}}
0 commit comments