基于docker部署的jenkins+maven自动化构建部署springboot项目实践

自动化构建部署思路

如下图

  1. 本地代码git提交到github
  2. jenkins程序(192.168.1.93) 检查到代码更新,自动构建编译spingboot项目生成war,并将war包通过ssh传到服务器(这里没多余的机器,还是用192.168.1.93)进行部署
  3. 利用写好的Docker和构建脚本,生成新的docker镜像并push到dockerhub官方镜像仓库(大家也可以自己搭建本地镜像仓库或者使用过阿里云镜像仓库)
  4. 生成镜像后,构建脚本里会直接run这个新的docker容器,项目部署成功,可通过127.0.0.1:8181进行访问。
    在这里插入图片描述

一、环境说明

  • 本地电脑

    • eclipse Version: Mars.1 Release (4.5.1)
    • maven3.5.0
    • JDK 1.8.0_65
    • git(eclipse自带)
  • 虚拟机centos7

    • docker 1.12.6 (docke 1.13之后才能用docker system prune命令)
    • jenkins (jenkins插件Maven Integration plugin,Publish Over SSH,工具安装JDK,Maven)
  • 代码仓库

    • github(去官网注册用户,建一个私有private repository仓库)
  • 镜像仓库

    • dockerhub(去官网注册用户,建一个私有private repository 仓库,只能创建一个免费仓库)

二、安装jenkins

centos之前已经安装了docker,不再赘述。
本次使用docker安装jenkins,安装jenkins有多种,yum,war包部署,自己选择,如果是docker部署jenkins,建议jenkins需要的插件如在jenkins安装即可。

1.配置docker加速

加快docker镜像下载速度

[root@localhost ~]# vi /etc/docker/daemon.json 
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker 
[root@localhost ~]# more /etc/docker/daemon.json 
{
   "registry-mirrors":["https://dockerhub.azk8s.cn",
    	"https://reg-mirror.qiniu.com",
	"https://registry.docker-cn.com"]}

2.安装jenkins(失败例子)

一条命令安装并运行jenkins

[root@localhost ~]# docker run -d --name myjenkins -p 8080:8080 -p 50000:50000 -v /root/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime -u 0 Jenkins

-u 0 是以root帐号覆盖容器的jenkins用户帐号,要不然-v映射卷的时候会报权限不足
docker 启动后就可以访问jenkins了 ,http://127.0.0.1:8080
管理用户密码容器启动的时候也有提示用命令docker logs -f myjenkins 查看启动日志,
或者到容器里面more /var/jenkins_home/secrets/initialAdminPassword
在这里插入图片描述
安装默认插件
在这里插入图片描述
总是失败,docker logs -f myjenkins 看日志有很多报错

aused by: java.io.IOException: Failed to install token-macro plugin
	at hudson.PluginManager.dynamicLoad(PluginManager.java:874)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:813)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1889)
	... 5 more
Caused by: java.io.IOException: Token Macro Plugin v2.12 failed to load.
 - You must update Jenkins from v2.60.3 to v2.121.3 or later to run this plugin.
 - Pipeline: Step API v2.22 failed to load. Fix this plugin first.
	at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:626)
	at hudson.PluginManager.dynamicLoad(PluginManager.
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值