veinmind-jenkins

所属分类:构建工具
开发工具:Groovy
文件大小:0KB
下载次数:0
上传日期:2022-08-24 10:40:48
上 传 者sh-1993
说明:  维因明·詹金斯,,
(veinmind-jenkins,,)

文件列表:
Jenkinsfile (1724, 2022-08-24)
docs/ (0, 2022-08-24)
docs/build.png (122849, 2022-08-24)
docs/build_1.png (103999, 2022-08-24)
docs/build_2.png (86802, 2022-08-24)
docs/dest.png (108930, 2022-08-24)
docs/dest2.png (125433, 2022-08-24)
docs/global_setting.png (53900, 2022-08-24)
docs/img.png (262230, 2022-08-24)
docs/install.png (59598, 2022-08-24)
docs/library.png (64929, 2022-08-24)
docs/pipeline_doc.png (67285, 2022-08-24)
docs/pipline.png (78494, 2022-08-24)
test/ (0, 2022-08-24)
test/Dockerfile (170, 2022-08-24)
vars/ (0, 2022-08-24)
vars/veinmindRunner.groovy (634, 2022-08-24)

# Veinmind Jenkins > [veinmind-tools](https://github.com/chaitin/veinmind-jenkins/blob/master/) 集成 Jenkins 欢迎使用 Veinmind Jenkins 安全插件,使用该插件,您可以快速集成 `veinmind-runner` 扫描能力到您的CI中。 ![img.png](https://github.com/chaitin/veinmind-jenkins/blob/master/docs/img.png) # 快速开始 Veinmind Jenkins 支持如下两种方式使用 ## 方式1: 使用 Veinmind Scanner 插件 (推荐) + 支持自动扫描模式,**无需修改Jenkinsfile文件或BuildStep**,自动识别`docker build`的动作,触发扫描任务。 + 支持手动模式,可以手动增加Build Step/Pipeline Step来手动触发扫描。 + 简便安装,一次安装,永久使用。 + 使用简单,无需记住复杂的参数,鼠标配置即可。 + 支持阻断功能。 + 提供数据统计和详情页面。 ![dest.png](https://github.com/chaitin/veinmind-jenkins/blob/master/docs/dest.png) ### 适配性 Veinmind Scanner 需要如下的条件。 1. Jenkins 支持版本 > v2.332.4 2. 对于自动扫描功能,目前支持的自动扫描的方法: | 插件名称 | Job类型 | 是否支持Auto | |--------------------------------------------------------------------|----------|:--------:| | Linux Shell | FreeStyle | | | [Docker plugin](https://github.com/chaitin/veinmind-jenkins/blob/master/https://plugins.jenkins.io/docker-plugin/) | FreeStyle | | | [Docker build step](https://github.com/chaitin/veinmind-jenkins/blob/master/https://plugins.jenkins.io/docker-build-step/) | FreeStyle | | | Pipeline Shell(sh) | Pipeline | | | [Docker Pipeline](https://github.com/chaitin/veinmind-jenkins/blob/master/https://plugins.jenkins.io/docker-workflow/) | Pipeline | | ### 使用步骤 1. 将插件安装至 Jenkins 并重新启动。 ![install.png](https://github.com/chaitin/veinmind-jenkins/blob/master/./docs/install.png) 2. 在 `Manage Jenkins` -> `Configure System` 勾选自动扫描选项, 配置好全局变量并保存。 ![setting.png](https://github.com/chaitin/veinmind-jenkins/blob/master/./docs/global_setting.png) 3. 立即构建一个存在镜像build的Job。 ![build.png](https://github.com/chaitin/veinmind-jenkins/blob/master/docs/build.png) 5. 等待扫描结束,即可在侧边栏查看到扫描结果。 ![dest.png](https://github.com/chaitin/veinmind-jenkins/blob/master/docs/dest.png) ![dest2.png](https://github.com/chaitin/veinmind-jenkins/blob/master/docs/dest2.png) ### 进阶使用 1. 使用 `veinmindScanner` 来在 Jenkinsfile 内手动插入扫描步骤。 ![pipline.png](https://github.com/chaitin/veinmind-jenkins/blob/master/docs/pipline.png) `veinmindScanner block: true, image: 'YOOUR_IMAGE_REF', scanConfig: [$class: 'RunnerConfig', agentVersion: 'latest', scanArgs: '-v /var/run/docker.sock:/var/run/docker.sock', workSpace: '']` 如果不熟悉Pipeline语法,可以在 `pipeline-syntax` 流水线语法处,选择veinmindScanner,根据配置项生成对应的Pipeline语句。 ![pipeline_doc.png](https://github.com/chaitin/veinmind-jenkins/blob/master/./docs/pipeline_doc.png) 2. 手动增添build-step。 ![选择veinmind-scanner](https://github.com/chaitin/veinmind-jenkins/blob/master/./docs/build_1.png) ![填写构建参数](https://github.com/chaitin/veinmind-jenkins/blob/master/./docs/build_2.png) ### 参数设置 配置参数分为全局配置和job配置。 自动扫描默认使用的是全局配置,因此如果您想要使用自动扫描功能,请先配置Global Config。 对于全局配置和job配置都存在的参数,优先使用job配置的参数。 | 参数名称 | 参数作用 | 默认值 | |-------------|------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------| | 是否开启自动(全局) | 自动扫描开关 | false | | 日志等级(全局) | 在控制台输出的日志级别 | info | | 超时时间(全局) | 扫描异常的超时时间 | 600 | | 是否阻断 | 当发现风险时是否阻断流程 | false | | Agent | 使用扫描的探针 | veinmind-runner | | 版本号 | 使用探针的版本号,需要能够访问github,若无法访问则默认使用latest版本 | latest | | 高级配置 | 扫描参数的高级配置,默认无需修改 | -v /var/run/docker.sock:/var/run/docker.sock | | 工作区配置 | 如果您的Jenkins是使用容器部署的,并且配置了jenkins工作目录的挂载 (如: -v /home/jenkins_home:/var/jenkins_home) 请填写您挂在的实际路径。(在上述例子中,此处应该填写/home/jenkins_home) | "" | ## 方式2: 使用 Veinmind Jenkins Lib (不推荐) ### 适配性 > 注意:所有的使用方式都是默认Jenkins安装了以下插件 > + Docker plugin > + Pipeline: Groovy Libraries ### 使用步骤 **1. 通过Pipeline Libraries引入配置** 在 Manage Jenkins Configure System Global Pipeline Libraries 添加 `https://github.com/chaitin/veinmind-jenkins` ![img.png](https://github.com/chaitin/veinmind-jenkins/blob/master/docs/library.png) 随后即可在Jenkinsfile内使用: ```groovy // import library @Library('veinmind-runner') _ pipeline { agent any stages { stage('build') { steps { script { sh 'docker build -t YOUR_IMAGE:YOUR_TAG .' } } } // add scan stage('scan') { steps { script { // easy mod veinmindRunner.scan("YOUR_IMAGE:YOUR_TAG") // set exit-code veinmindRunner.scan("YOUR_IMAGE:YOUR_TAG", 1) // set output veinmindRunner.scan("YOUR_IMAGE:YOUR_TAG", outPut="report.json", exitCode=0) // set all config params veinmindRunner.scan("YOUR_IMAGE:YOUR_TAG", "scan-host", "report.json", 0) } } } } } ``` ### 参数设置 | 参数名称 | 参数作用 | 默认值 | | ---------- |-------------------------------|-------------| | imageRef | 镜像 Reference | | | scanAction | 扫描功能类型 | scan-host | | outPut | 报告输出名称 | report.json | | exitCode | 当发现安全问题时的程序退出码, 非零时阻断Pipeline | 0 |

近期下载者

相关文件


收藏者