鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

创建Jenkins流水线病毒扫描任务

创建任务

在Jenkins中集成clamav工具,在流水线上配置递归扫描“/home”路径下的病毒,并输出扫描日志到家路径下的clamscan.log中。

  1. 创建流水线。进入Jenkins主页,在左侧树单击“新建任务”
    图1 创建pipeline任务1
  2. 打开新建任务页面,填写任务名称,选择流水线选项,单击“确定”按钮创建任务。
    图2 创建pipeline任务2
  3. 进入到新创建的Pipeline任务中,左侧树单击“配置”,打开配置页面。将病毒扫描代码示例复制到流水线配置的脚本中,最后单击“保存”
    图3 创建pipeline任务3

    病毒扫描代码示例请参见Jenkins流水线病毒扫描代码示例

  4. 单击任务左侧树“立即构建”,执行任务。
    图4 执行任务
  5. 查看任务执行状态。
    图5 查看执行状态
  6. 请在家路径下的clamscan.log查看病毒扫描日志。

Jenkins流水线病毒扫描代码示例

ClamAV病毒扫描代码示例。

pipeline {
    agent any
    options {
        timeout(time: 1, unit: 'HOURS')
    }
    parameters {
        string(name: 'GIT_URL', defaultValue: 'https://github.com/ruanjue/wtdbg2.git', description: '--> git url <--')
        string(name: 'GIT_BRANCH', defaultValue: 'v2.5', description: '--> code branch <--')
        string(name: 'GIT_TARGET_DIR_NAME', defaultValue: 'wtdbg2', description: '--> code branch <--')
    }
    stages{
        stage('Git   Code') {
            agent {
                label 'kunpeng_c_cpp_builder'
            }
            steps {
                echo '====== 获取源码 ======'
                checkout scmGit(branches: [[name: "${params.GIT_BRANCH}"]],
                                    browser: github("${params.GIT_URL}"),
                                    extensions: [[$class: 'RelativeTargetDirectory',
                                    relativeTargetDir: "${params.GIT_TARGET_DIR_NAME}"],
                                    cleanBeforeCheckout(deleteUntrackedNestedRepositories: true)],
                                    userRemoteConfigs: [[url: "${params.GIT_URL}"]])
                
            }
        }
        stage('freshclam') {
            agent {
                label 'kunpeng_executor'
            }
            steps{
                sh 'freshclam'
            }
        }
        stage('clamscan') {
            agent {
                label 'kunpeng_executor'
            }
            steps{
                sh 'clamscan -i -r /home -l ~/clamscan.log'
            }
        }
    }
}