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中部署一个应用、一个数据库

f52bc8918c11e15268cea91c65133670.png

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

849783b532b6d65e4274157f9e418ffb.png

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

4186744f5a14098be3b3f9aeb29a07dc.png

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

b1961e3e305e2049eb72ec3e2fc26c8e.png

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

6e8807b2eaf64c279fce4f7aae728a48.png

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

6b9349ed1607c7edd2450dbc360f037c.png

7 公钥配置到github上,因为jenkins服务器需要有权限下载代码,测试:ssh git@github.com

323432d6bbef7868249eb30b271f349e.png

8436c1f917cb4505a8cde4a545142638.png

8 启动tomcat,访问jenkins

01a60fc84bcfe4c65f96f4e7c35c8190.png

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

ed6b7ada492ffbb0c5f288096057cfe5.png

4a1207f1687510f9c8d588af32aa4a94.png

10 jenkins控制台新建任务

任务指定节点:

fe09f715b8b9abff1c22967d4dd17f96.png

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

52e792acca6f6ebd0e0e1248f2e29e03.png

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

156adb9fa2ce1867b93e21a046b56269.png

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

f139c28274dbb1c07c767325c256d290.png

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

bb70c9edb9c47fc84a82562a205c676b.png

钉钉机器人通知:

dfc2d6f2427dffa333c9d7e5dfd930fe.png

python脚本位置:

7f8f19eb0818f12a0824c0d4c0592074.png

11 任务执行

0be67afc86f4d9acabdb20083c8b0656.png

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

机器人配置:

70c4185469ec685f189da957e7c1ab6c.png

91da016aa818e75681cfc1b1d6849b2f.png

通知效果:

3040b8672c668dcafe9a1e225eb142ac.png

13 SonarQube代码扫描详情预览

8982ed0fbb70e443a50deb9344bd3540.png

参考链接

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值