إنتقل إلى المحتوى الرئيسي
الإصدار: v0.21

Jenkins

استخدم هذا المسار التعريفي على وكيل Linux يتوفر فيه Docker:

pipeline {
agent any

options {
buildDiscarder(logRotator(daysToKeepStr: '30', artifactDaysToKeepStr: '30'))
}

stages {
stage('Scan for malware') {
steps {
sh '''
mkdir -p amwscan-output
docker run --rm \
--volume "$WORKSPACE:/scan:ro" \
--volume "$WORKSPACE/amwscan-output:/output" \
marcocesarato/php-antimalware-scanner:latest /scan \
--lite --report-only --report-format=sarif \
--path-report=/output/amwscan-report.sarif \
--disable-checksum --disable-definitions-update
'''
}
}
}

post {
always {
archiveArtifacts artifacts: 'amwscan-output/amwscan-report.sarif', allowEmptyArchive: true
}
}
}

يُركّب مجلد العمل للقراءة فقط. وتبقى مجلدات الإخراج المنفصلة قابلة للكتابة كي يتمكن Jenkins من أرشفة تقرير SARIF بعد أن يؤدي اكتشاف إلى فشل مرحلة الفحص. تحتفظ المسارات بالتقارير لمدة 30 يوماً.