Jenkins与Docker的自动化CI/CD实战
一、发布流程设计
工作流程:
二、环境规划:
三、 部署过程
1,部署git
如果公司内部有直接克隆就可以
2,部署Jenkins环境
部署传送门:Jenkins+Maven+Svn实现代码自动打包与发布
3,部署私有镜像仓库
注意:docker 仓库 由于https 认证,所有需要pull的客户端,需要修改配置文件
4,所有主机安装docker
1)安装依赖包
2)添加Docker软件包源:
3)安装Docker CE
4)配置加速器
5)启动并开机启动
四、构建基础镜像
【Apache、Nginx、Tomcat、LNMP、LAMP、LNTP】
JAVA程序必须有JDK环境才可以运行,为了减少镜像大小及提高性能,这里直接把JDK放到宿主机上,容器以挂载形式使用。
1,安装jdk
2,拟写Dockerfile
3,构建镜像
4,上传到docker 镜像仓库
5,启动镜像 测试
五、Jenkins 配置
1.主页面 -> 系统管理 -> 全局工具配置
指定JDK、Maven路径,Git保持默认:
2.jenkins安装必要插件
主页面 -> 系统管理 ->管理插件:
3,配置SSH插件
第一步:先创建一个用于连接Docker主机的凭证 (有权限的用户)
主页面 -> 凭据 -> 系统 -> 右击全局凭据 -> 添加凭据:
输入连接Docker主机的用户名和密码:
第二步:添加SSH远程主机
主页面 -> 系统管理 -> 系统设置 -> SSH remote hosts:
问题:当以普通用户身份去使用docker images时,出现以下错误:
六、将从github上下载的JAVA项目,上传到自己的gitlab仓库
登陆gitlab查看solo项目:
七、Jenkins创建项目并发布测试
1.主页面 -> 新建任务 -> 输入任务名称,构建一个Maven项目:
注意:如果没有显示“构建一个Maven项目”选项,需要在管理插件里安装“Maven Integration plugin”插件。
配置Git参数化构建:
2.动态获取Git仓库tag,与用户交互选择Tag发布:【也可以设置分支】
3.指定项目Git仓库地址:
修改*/master为$Tag,Tag是上面动态获取的变量名,表示根据用户选择打代码版本。
4.设置maven构建命令选项:
利用pom.xml文件构建项目。
在Jenkins本机镜像构建与推送到镜像仓库,并SSH远程连接到Docker主机使用推送的镜像创建容器:
上图中 命令内容如下:
上图中Command 内容如下:
注:容器名称blog-solo,暴露宿主机端口8080,即使用宿主机IP 192.168.56.12:8080 访问blog-solo项目。
blog-solo项目已配置完成,开始构建:
选择tag,开始构建:
点击左下角构建历史里,右击第一个查看控制台输出:
构建详细内容
构建成功
访问:192.168.56.12:8080 查看部署结果
调整项目访问地址
进入容器,切换到项目目录
调整后,重启tomcat,再次验证,OK,结果如下:
至此,自动化CI环境搭建完成,你可以模拟提交代码并打tag测试自动化发布流程。
八、问题总结:
查看docker.sock权限
解决方法:【免sudo 使用docker images 】
欢迎工作一到五年的Java工程师朋友们加入Java架构开发:744677563
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云服务器ECS屏蔽某个IP的访问
方法一 vim /etc/hosts.deny 对配置文件做如下修改 添加内容 sshd:203.215.252.189 #禁止203.215.252.189对服务器SSH的访问 sshd:203.215.252.0/255.255.255.0 #禁止203.215.252.1~203.215.252.255对服务器SSH的访问 httpd:203.215.252.189 #禁止203.215.252.189对服务器httpd的访问 修改完成后保存,重启服务使配置生效 ,执行 : service xinetd restart 方法二 vim /etc/rc.local 修改配置文件 iptables -I INPUT -s 61.37.81.1 -j DROP # 61.37.81.1的包全部屏蔽 iptables -I INPUT -s 61.37.81.0/24 -j DROP #61.37.81.1到61.37.81.255的访问全部屏蔽 iptables -I INPUT -s 192.168.1.202 -p tcp --dport 80 -j DROP # 192.168....
- 下一篇
【实操】如何安装及查看云监控
大家好,本期为大家介绍如何安装及查看云监控。云监控是阿里云多年来服务器监控技术研究积累的成果,结合阿里云云计算平台强大的数据分析能力,为您提供云服务监控、站点监控和自定义监控,为您云上的产品、业务保驾护航。 下面开始演示:首先登录控制台,点击左侧的云服务器ECS,选择实例进入实例详情。可以看到右侧的监控信息,这里可以看到服务器的CPU使用率和内网的流量。点击查看内存等更多指标。这里可以看到CPU、内存、磁盘的使用情况和网络的运行状况。阿里云为用户提供了最短1小时,最长14天的查看方式,还可以选择时间范围。点击图片的右上角还可以查看大图或者切换其它指标。不但可以监控操作系统和基础硬件产品,还可以监控进程。如果大家在打开云监控界面后看不到相关的监控的信息说明实例没有安装云监控插件。我们可以点击左侧的主机监控,这里可以看到实例的插件状态。我们点击新购ECS自动安装云监控后面的开关把它打开,然后点击确定。以后新创建的ECS实例都会自动安装插件。也可以选择实例,点击下方的批量安装插件可以让系统自动安装插件。不过这些方法有时会安装不成功。如果安装失败就需要我们进行手动安装,点击上方的阿里云主机手工...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路