天天看点

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

技术要求

docker -- 应用容器引擎

jenkins -- 基于Java开发的一种持续集成工具

github/git -- 代码托管服务平台

SonarQube -- 代码质量工具

maven -- 项目管理工具

python -- 需要用到脚本

DingTalk -- 钉钉机器人接收消息通知

机器要求

server1 -- jdk安装、jenkins安装(需要使用jdk)

server2 -- docker安装、git安装(需要从github拉取最新代码)、maven安装

server3 -- mysql数据库安装(应用数据库)

server4 -- SonarQube安装

实际情况:一台Tecent2核4G服务器安装部署所有

运行视频

配置流程

1 安装dokcer,docker中部署一个应用、一个数据库

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

2 jenkins安装部署,由于机器内存限制,jenkins部署到了tomcat

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

3 linux安装jdk环境,因为jenkins是java开发的,jenkins连接应用服务器/SonarQube服务器需要依赖java环境

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

4 linux安装git,因为需要使用git命令下载github仓库代码

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

5 linux安装maven,源码下载完需要打包代码

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

6 制作git秘钥,秘钥路径:/root/.ssh

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

7 公钥配置到github上,因为jenkins服务器需要有权限下载代码,测试:ssh [email protected]

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署
docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

8 启动tomcat,访问jenkins

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

9 jenkins控制台建立节点,每个节点对应一台linux服务器(jenkins服务器和应用部署服务器为一台服务器,不过不影响)

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署
docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

10 jenkins控制台新建任务

任务指定节点:

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

绑定git源码(需要配置ssh私钥):

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

github代码提交触发任务执行:

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

执行shell脚本&配置SonarQube代码扫描:

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

编写部署脚本,上述步骤的deploy.sh文件:

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

钉钉机器人通知:

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

python脚本位置:

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

11 任务执行

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

12 钉钉机器人配置&通知效果

机器人配置:

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署
docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

通知效果:

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

13 SonarQube代码扫描详情预览

docker自动化部署_基于docker+jenkins+github+SonarQube实现自动化部署

参考链接

https://www.cnblogs.com/yufeng218/p/8370670.html

https://blog.csdn.net/devops008/article/details/81773736

https://blog.csdn.net/BoomLee/article/details/86676577

继续阅读