【Jenkins+青藤云】基于Jenkins部署青藤云镜像扫描插件(1)
与青藤云官方提供的部署方法不一样,区别于官方在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)相关推荐
- 【Jenkins+青藤云】基于Jenkins部署青藤云镜像扫描插件(2)—部署问题解决
干货!干货!这是干货篇 简述: 文章将介绍再Jenkins平台安装青藤云安全镜像扫描工具go-scanner时遇到的一些问题及解决办法. Jenkins版本升级 1.Jenkins版本匹配插件版本 D ...
- 【有容云案例系列】基于Jenkins和Kubernetes的CI工作流
嘉宾介绍 黄文俊 有容云资深系统架构师 主要负责容器云平台产品架构及设计. 8年工作经验, 有着企业级存储, 云计算解决方案相关理解. 关注于微服务设计思考, 开发流程优化, docker及kuber ...
- 基于Jenkins和k8s构建企业级DevOps容器云平台
1.1 什么是DevOps? DevOps中的Dev是Devlopment(开发),Ops是Operation(运维),用一句话来说 DevOps 就是打通开发运维的壁垒,实现开发运维一体化.DevO ...
- 【Jenkins】win 10 / win 11:Jenkins 的下载、安装、部署(Jenkins 2.134 基于 Java 8)
目录 一.Jenkins的下载 二.Jenkins的安装 三.安装后初次登录Jenkins 四.部署自动化集成环境 一.Jenkins的下载 Jenkins官网下载地址:Jenkins 点击前往下 ...
- 阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署及简易配置
阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署与简易配置 Jenkins 目前是使用比较多的一个持续集成的开源工具,不管是开发测试部署,还是代码扫描等.很多工作都可以 ...
- 个人博客,懒人终章部署,阿里云Ecs+Jenkins+Gitee自动,一键部署SpringBoot自己博客项目,还在用
阿里云Ecs+Jenkins+Gitee自动,一键部署SpringBoot自己博客项目: 最近看见网上很多Jenkins的自动部署SpringBoot的Demo,但是都要自己安装JDK,Maven.. ...
- 《阿里云服务器搭建》------实现Jenkins和github之间自动化部署Java web项目
本系列教程的搭建环境为阿里云服务器,其他服务器可作为参考. 本文主要讲述实现Jenkins和github之间自动化部署项目 在浏览器中打开我们的jenkins页面.(http://ip:80/jenk ...
- 【Jenkins】win 10 / win 11:Jenkins 的下载、安装、部署(Jenkins 2.365 基于 Java 17)
目录 一.安装 JDK 二.Jenkins 下载 三.准备服务登录凭据 四.Jenkins 安装 (1)自定义路径安装 (2)提供服务登录凭据 (3)设置端口 (4)选择 Java 主目录 (jdk ...
- 阿里云 jenkins svn maven 构建自动化部署
第一步:下载 jdk .tomcat.jenkins.maven jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.h ...
最新文章
- 实现软件自动启动代码
- 浅谈一个缓存小实践,另外还有更多案例,欢迎关注~
- Win32ASM学习[14]:符号扩展指令: CBW,CWDE,CDQ,CWD
- php 文本处理 库,处理文本的PHP库
- 【转】.so兼容32位和64位
- java 一些容易忽视的小点-控制语句
- TreeView 之间节点拖动 /移动
- Python实现最简单的神经网络(数字识别)
- 利用jQuery点击DIV变颜色的小例子
- 实现Http Server的三种方法
- 【VBA研究】用VBA创建数据透视表
- The7 — 响应式多用途 WordPress 主题 免费下载
- 使用idea运行CS项目后“客户端页面加载不出来“的解决方法
- 基于三周加速度传感器的计步器设计
- 小说作者推荐:炤炤酒合集
- 甲虫之王怀旧服新开的服务器是否自动开门,魔兽世界怀旧服:不刷虫皮也能当甲虫之王,钻漏洞可量产黑虫子...
- g++来进行编译的头文件路径问题
- 做人留一线、日后好想见:致所有明日之后手游拆家大队
- 安卓项目实战之快速集成emojicon表情开源库
- 【大数据】城市公交网络分析与可视化(六):对比分析不同城市公交的“非直线系数”
热门文章
- PRI变换法原理解析及其matlab分析
- win10下node.js升级
- java祖玛_Canvas小练习_祖玛游戏01
- vue.runtime.esm.js:620 [Vue warn]: Error in nextTick: “TypeError: Cannot convert object to primitive
- android sqlite存对象,【Android基础】Android SQLite存储自定义对象
- 安装 VMware tools时报错:不在 sudoers 文件中。此事将被报告。
- 中国人寿张青南:中国人寿如何基于容器构建PaaS平台
- 对于MCU看门狗IIWDG WWDG喂狗时间的配置参考
- python不属于ipo模型的是_以下不属于IPO模型的是
- 天池- IJCAI-18 阿里妈妈搜索广告转化预测新手入门经历(一:数据预处理、特征工程)