与青藤云官方提供的部署方法不一样,区别于官方在Jenkins主机上起一个扫描pod的方法,我们使用的是耦合性更小,更易排查问题的,
使用pipeline在k8s集群中起docker容器,在docker容器中起扫描pod的方法

听起来很麻烦,但是它的优点在于极少改变pipeline,并且便于排查故障。

效果图

准备:
k8s集群,Jenkins发版平台,将青藤云的扫描镜像拉取到自己的镜像仓库,Jenkins主机节点能访问青藤云平台的8244和8443端口
PS:之前没有理解这个服务端是什么,是部署好的青藤云平台服务端

在Jenkins的构建任务中执行镜像扫描

1.在pipeline中添加镜像扫描的步骤(pipeline是存储在gitlab)

    stage('Image scan') {steps {container(name: 'docker') {echo "这是执行镜像扫描的步骤"script{echo "定义变量res,将镜像扫描的结果(是否进行阻断)赋值给改变量,如果命中阻断规则,res为非0的值"echo "以下是扫描指令举例,用户需根据自己的需求进行修改"sh """ docker run -i --rm -v /root/report:/root -v /etc/machine-id:/etc/machine-id -v /tmp:/tmp -v /var/lib/docker:/var/lib/docker -v /var/run/docker.sock:/var/run/docker.sock --network=host 镜像仓库中镜像位置 scan --comid=xxx --server-host=xxx --htmlfile=/root/sec-report.html --jsonfile=/root/output.json  --log-level=debug ${HARBOR_ADDRESS}/${REGISTRY_DIR}/${IMAGE_NAME}:${TAG}"""sh "mkdir /home/jenkins/agent/workspace/${JOB_NAME}/report"sh "cp /root/report/sec-report.html /root/report/output.json /home/jenkins/agent/workspace/${JOB_NAME}/report"echo "该指令将扫描结果导出到artifacts中"archiveArtifacts artifacts: 'report/sec-report.html', followSymlinks: falsesh "find / -name sec-report.html"echo "【可选指令】如果安装了html report插件,该指令将扫描结果上传到插件,可直接在插件中查看结果"publishHTML([allowMissing: true, alwaysLinkToLastBuild: false, keepAll: true, reportDir: 'report/', reportFiles: 'sec-report.html', reportName: 'HTML Report', reportTitles: "${env.BUILD_NUMBER}"])}}}}

2.挂载容器中的容器的目录,因为是容器中起容器,将报告映射出来有点麻烦,先将容器A中的容器B映射到主机目录,再将主机目录挂到容器A

在容器A中挂载

    - hostPath:path: "/root/report"name: "volume-report"

制作挂载目录

        - mountPath: "/root/report"name: "volume-report"readOnly: false

【Jenkins+青藤云】基于Jenkins部署青藤云镜像扫描插件(1)相关推荐

  1. 【Jenkins+青藤云】基于Jenkins部署青藤云镜像扫描插件(2)—部署问题解决

    干货!干货!这是干货篇 简述: 文章将介绍再Jenkins平台安装青藤云安全镜像扫描工具go-scanner时遇到的一些问题及解决办法. Jenkins版本升级 1.Jenkins版本匹配插件版本 D ...

  2. 【有容云案例系列】基于Jenkins和Kubernetes的CI工作流

    嘉宾介绍 黄文俊 有容云资深系统架构师 主要负责容器云平台产品架构及设计. 8年工作经验, 有着企业级存储, 云计算解决方案相关理解. 关注于微服务设计思考, 开发流程优化, docker及kuber ...

  3. 基于Jenkins和k8s构建企业级DevOps容器云平台

    1.1 什么是DevOps? DevOps中的Dev是Devlopment(开发),Ops是Operation(运维),用一句话来说 DevOps 就是打通开发运维的壁垒,实现开发运维一体化.DevO ...

  4. 【Jenkins】win 10 / win 11:Jenkins 的下载、安装、部署(Jenkins 2.134 基于 Java 8)

    目录 一.Jenkins的下载 二.Jenkins的安装 三.安装后初次登录Jenkins 四.部署自动化集成环境 一.Jenkins的下载 Jenkins官网下载地址:Jenkins   点击前往下 ...

  5. 阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署及简易配置

    阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署与简易配置 Jenkins 目前是使用比较多的一个持续集成的开源工具,不管是开发测试部署,还是代码扫描等.很多工作都可以 ...

  6. 个人博客,懒人终章部署,阿里云Ecs+Jenkins+Gitee自动,一键部署SpringBoot自己博客项目,还在用

    阿里云Ecs+Jenkins+Gitee自动,一键部署SpringBoot自己博客项目: 最近看见网上很多Jenkins的自动部署SpringBoot的Demo,但是都要自己安装JDK,Maven.. ...

  7. 《阿里云服务器搭建》------实现Jenkins和github之间自动化部署Java web项目

    本系列教程的搭建环境为阿里云服务器,其他服务器可作为参考. 本文主要讲述实现Jenkins和github之间自动化部署项目 在浏览器中打开我们的jenkins页面.(http://ip:80/jenk ...

  8. 【Jenkins】win 10 / win 11:Jenkins 的下载、安装、部署(Jenkins 2.365 基于 Java 17)

    目录 一.安装 JDK 二.Jenkins 下载 三.准备服务登录凭据 四.Jenkins 安装 (1)自定义路径安装 (2)提供服务登录凭据 (3)设置端口 (4)选择 Java 主目录 (jdk ...

  9. 阿里云 jenkins svn maven 构建自动化部署

    第一步:下载 jdk .tomcat.jenkins.maven jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.h ...

最新文章

  1. 实现软件自动启动代码
  2. 浅谈一个缓存小实践,另外还有更多案例,欢迎关注~
  3. Win32ASM学习[14]:符号扩展指令: CBW,CWDE,CDQ,CWD
  4. php 文本处理 库,处理文本的PHP库
  5. 【转】.so兼容32位和64位
  6. java 一些容易忽视的小点-控制语句
  7. TreeView 之间节点拖动 /移动
  8. Python实现最简单的神经网络(数字识别)
  9. 利用jQuery点击DIV变颜色的小例子
  10. 实现Http Server的三种方法
  11. 【VBA研究】用VBA创建数据透视表
  12. The7 — 响应式多用途 WordPress 主题 免费下载
  13. 使用idea运行CS项目后“客户端页面加载不出来“的解决方法
  14. 基于三周加速度传感器的计步器设计
  15. 小说作者推荐:炤炤酒合集
  16. 甲虫之王怀旧服新开的服务器是否自动开门,魔兽世界怀旧服:不刷虫皮也能当甲虫之王,钻漏洞可量产黑虫子...
  17. g++来进行编译的头文件路径问题
  18. 做人留一线、日后好想见:致所有明日之后手游拆家大队
  19. 安卓项目实战之快速集成emojicon表情开源库
  20. 【大数据】城市公交网络分析与可视化(六):对比分析不同城市公交的“非直线系数”

热门文章

  1. PRI变换法原理解析及其matlab分析
  2. win10下node.js升级
  3. java祖玛_Canvas小练习_祖玛游戏01
  4. vue.runtime.esm.js:620 [Vue warn]: Error in nextTick: “TypeError: Cannot convert object to primitive
  5. android sqlite存对象,【Android基础】Android SQLite存储自定义对象
  6. 安装 VMware tools时报错:不在 sudoers 文件中。此事将被报告。
  7. 中国人寿张青南:中国人寿如何基于容器构建PaaS平台
  8. 对于MCU看门狗IIWDG WWDG喂狗时间的配置参考
  9. python不属于ipo模型的是_以下不属于IPO模型的是
  10. 天池- IJCAI-18 阿里妈妈搜索广告转化预测新手入门经历(一:数据预处理、特征工程)