Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf

所需积分/C币:50 2019-09-30 10:49:10 2.86MB PDF
收藏 收藏 2
举报

Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud;自动化构建
7.2 Jenkins安装准备工作 7.3」 elkins安装图解说明 29 7.4设置全局工具 30 7.5系统设置 7.6添加全局用户名凭证 34 77凭证类型方式 34 7.8插件安装 35 8、私钥与公钥详解. 37 81为什么要公钥和私钥 82公钥与公钥的区别 37 83公钥与公钥通信图解 84公钥与公钥通信原理 85公钥与公钥生成&免密登录操作 39 851公钥和私钥生成. 39 852免密登录操作 .39 8.6配置Gtab公钥. 9、 Docker、」 elkins等编译镜像与部署详解. 91、需要准备的L作有哪些 92、 Spring boot配置和代码详解. ··,··+···, 92.1 Spring boot简要 922工程的 pom. xm配置.… ∴42 92.3 no main manifest attribute错误解决 44 92.4enν环境变量文件. 45 925 Dockerfile打包工程镜像细讲.…. 926工程文件结构.… 46 9.27buld.sh文件she‖脚木详解. 46 92.8不同环境的配置文件 929 Controller测试代码.… 52 93、非多台机器免密远程登录8 Jenkins部署流程详解…… 52 931特别说明 932新建 maven工程 ∴53 933参数化构建过稈说明 53 934源码管理…. 5 935Bud编译设置 ····4·· 936 SSH Publishers设置 9.3.7构建与编译部署项目. 938运行&部署结果 …57 94、多台机器免密远程登录& elkins部署流程详解. 59 94.1特别说明. 942新建 maven程 943参数化构建过程说明…… 944源码管理. .61 945 Build编译设置…… 946 SSH Publishers改置. 61 947构建与编译部署项日… 948运行&部署结果 64 10、总结&建议&学习.… ····; .65 101总结与建议 102⊥程源代码&推荐学习&参考文章 .66 姓名 日期 版本 说明 梁继龙 201907-11 V.0.0.1 初稿创建 梁继龙 201907-12 V0.0.1 添加 Docker基础知识 梁继龙 201907-13 V.0.0.1 添加 Gitlab详解 梁继龙 2019-07-15 V001添加」Dk、 Maven 梁继龙 2019-07-16 V0.0.1 添加私钥和公钥 梁继龙 2019-07-17 V.0.0.1 添加」 elkins部署过程 梁继龙 2019-07-18 V0.0.1 添加操作系统目录&修改文档 梁继龙 201907-19 ∨001优化文档&修改文档知识点 梁继龙 2019-08-13 ∨O.优化文档&添加自动启动 Docker 1、前言 11目的与初衷 本文档主要结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际绀讲 冫文档会涉及 Docker常见的知识点的结合一起使用的场景实操 本文档会讲述 Docker、」 en kins、 Gitlab、 Spring Boot、 Maven等技术结合实现自动化运 维部署( Ops Dev)应用工程,适合 Spring Cloud部署。 12什么是 DevOps DevOps( Development和口 perations的组合词)是一组过程、方法与系统的统称,用 于促进廾发(应用程序/软件工程)、技术运营和质量保障(QA)部门之闩的沟通、协作与 整合,它是一种重视“软件开发人员(Dev)"和“T运维技术人员(Ops)”之间沟通合作的 文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流稈,来使得构建、测试、发布 软件能够更加地快捷、频繁和可靠。 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发 和运营⊥作必须紧密合作。 1.3软件环境搭建内容 基于Lnux内核的 CentOs-7-x8664 Minima-1810iso操作系统上进行完成 在文档会涉及」DK(DK18), Maven(Maven36x)的安装过程讲解 ≯如何在 Docker上面安装Gtab详解和实际应用 如何在 Docker创建 NetWork网络与在上程中使用该网络 如何在 Docker安装 Registry私服与在工程中如何推送和拉取镜像 如何在 Docker( Version:18096)上面如何安装 Jen kins详解和实际应用 如何使用 Maven结合 Docker把 Spring boot应用编详成可用的镜像进行部署 其中」DK和 Maven是传统方式进行安装,由于有些软件在 Docker安装过程并 没传统方式安装简单,比如: Jenkins 14操作系统目录知识 在整个文档里面都会提到软件安装/usr/oca这个目录但是有些包含/home是存放源码 的路径,当初学习 Docker- compose的吋侯,不知道这个软件是·个二进制文件,然后 不按照系统的要求来安装,一直以为是下载过稈文件损坏了或者哪里不正确,当初权限 也授权了还是没执行成功。故去谷歌找了几篇文章才知道其中问题所在,科普一下 Linux 操作系统目录知识点。 日录结构图 bi de ho ome lib proc var 目录说明 目录 目录说明 bin 存放二进制可执行文件(s,cat,mkdr等) boot存放用于系统引导时使用的各种文件 de ev 用于存放设备文件 etc 存放系统配置文件 home存放所有用户文件的根目录 lib 存放跟文件系统中的程序运行所需要的共享库及内核模块 mnt 系统管理员安装临时文件系统的安装点 opt 额外安装的可选应用程序包所放置的位置 proc虚拟文件系统,存放当前内存的映射 root 超级用户目录 bin 存放进制可执行文件,只有root才能访问 tmp用于存放各种临时文件 usr 用于存放系统应用程序,比较重要的目录/usr/ocal本地管理员软件安装目录 var用于存放运行时需要改变数据的文件 1.5准备工作与事项 至少两台机器,这里描述两台机器的配置坯境,是在虚拟札 Mware Workstation pro 上面安装两个 Centos7-×8664- Minima|-1810.iso操作系统。 注意事项:其中 Gitlab、 Registry、 Jenkins都安装在node1机器上面,也就是node1作 为主机( master),node2作为save(从机或副机),机器名起有意义或能区分即可,推荐 起 master和save,这里就不作过多的阐述,为了避免看文档有疑问,请看清单列表. 机器名称机器分配P机器分配内存处理器 硬盘 nodel(master)192.168.1.2353G 核核 20G node 2(slave) 192.168.1.236 3G 20G ≯虚拟机设置事项 x centos_Docker235 xECentos7-Docker236 在此处键入内容进行搜索 日□我的计算机 IF CentOS7 Docker 235 CentoS Docker纯争版 虚拟机设置 Centos Docker236 共享的拟机 硬件选项 设备 摘要 内存 指定分否给此虚拟机的内存里。内存大小必须 的普数 处器 □硬盘(ScsI 20 GB 此去以树的内存N:[3072: ⊙a/DvD(D 正在使用文件E: Centos7-X86 中网络适配器 桥接模式(自动) UsB控阁器 存在 d声卡 自动检则 打印机 存在 口显示器 自动检测 1 GB ■最大建议内存 〔超出此大小可能 这里分配内存要注意一下,一定是1024的倍数 256NB 134GB ■建议内存 2、 Docker基础知识 21、 Docker理念与出现原因 211 Docker理念 Docker的主要目标是“Buid, Ship and run any app, Anywhere”,也就是通过对应用组 件的封装、分发、韶署、运行等生命厝期的管瑆,使用户的AP(可以是一个WEB应 用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行” Docker使用 Google公司推出的Go语言进行丌发实现,基于 Linux内核的 cgroup namespace,以及AUFS类的 Union fs等技术,对进稈进行封装隔离,属于操作系统 层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容 器。最初实现是基于LXC,从07版木以后开始去除LXC,转而使用自行开发的 libcontainer,从1.11开始,则进一步演进为使用runC和 container 为了解决运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚 拟化技术 212 Docker为什么出现 款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之 间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是 各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验 Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。 环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根 本上解决问题,软件可以带环境安装?也就是说,安裝的时候,把原始环境一模一样地复制 过来。开发人员利用 Docker可以消除协作编码时“在我的机器上可正常工作”的问题 传统上认为,软件编码开发/测试结朿后,所产出的成果即是程疗或是能够编译执行的 进制字节码等java为例)。而为了让这些程序可以顺利执行,开发团队也得准备完整 的部署文件,让维运闭队得以部署应用稈式,开发需要清楚的告诉运维部署闭队,用的 全部配置文件、所有软件环境。不过,即便如此,仍然常常发生部署失败的状况。 Docker 镜像的设计,使得Dσcker得以打破过去「程序即应用」的观念。透过镜像(imaεes将作 业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平 台间的无缝接轨运作。 22、为什么说“一次构建,到处运行” 221更快的应用交付和部署 冫传统的应用开发完成后,需要提供一堆安装稈序和配置说明文档,安装部署后需根据配 置文档进行繁杂的配置才能正常运行。 Docker化之后只需要父付少量容器镜像文件, 在正式生产环境加载镜像并运行即可,应用安装配置在镜像里已经内置好,大大节省部 署配置和测试验证时间。 222更便捷的升级和扩缩容 随着微服务架构和D。cker的发展,大量的应用会通过微服务方式架构,应用的开发构 建将变成搭乐高积木一样,每个 Docker容器将变成一块“积木”,应用的升级将变得 非常容易。当现有的容器不足以支撑业务处理时,可通过镜像运行新的容器进行快速疒 容,使应用系统的扩容从原先的天级变成分钟级甚至秒级。 223更简单的系统运维 应用容器化运行后,生产坏境运行的应用可与开发、测试环境的应用高度一致,容器会 将应用稈序相关的环境和状态完全封装起来,不公因为底层基础架构和操作系统的不 致性给应用带来影响,产生新的BUG。当出现程序异常吋,也可以通过测试环境的相 司容器进行快速定位和修复。 224更高效的技术资源利用 Docker是内核级虚拟化,其不像传统的虚拟化技术一样需要额外的 Hypervisor支持,所 以在·台物埋机上可以运行很多个容器实例,可大大提物理服务器的CPU和内存的 利用率。 23、 Docker底层原理 231 Docker是怎么工作的 Docker是一个 Client-Server结构的系统, Docker守护进程运行在主机上,然后通过 Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容 器,是一个运行时环境,就是我们前面说到的集装箱 运行主机 terTadoop s國 Docker容器 后台守护进程 客户1 客户端N 232为什么 Docker比虚拟机VM快 (1) docker有着比虚拟机更少的抽象层。由亍 docker不需要 Hypervisor实现硬件资源虚 拟化运行在 docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CpU、 内存利用率上 docker将会在效率上有明显优势。 (2) docker利用的是宿主机的内核而不需要 Guest os。因此,当新建一个容器时 docker不 需要和虚拟机一样重新加载一个操作系统内核。仍而避免引寻、加载操作系统內核返个 比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载 Guest os,返个新建 过程是分钟级别的。而 docker由于直接利用宿主机的操作系统,则省略了返个过程,因此 新建一个 docker容器只需要儿秒钟 特性对比 特性 容器 虚拟机 启动&部署秒级别 分钟级别 硬盘使用 般为MB 般为GB 性能 接近原牛 弱于 系统支持量单机支持上千个容器 般几|个 移植性 轻便,灵活 笨重,与VM技术耦合度高 24、 Docker有哪些优势 241 Docker安装软件更简单 使用 docker安装软件过程稍微比较容易和简单,由于网上很多活雷锋把你所需的软 件都起打包妤成镜像( Images上传到 Docker hub官方私服,我们只需要了解些 docker的命令或在安装过程中修改些配置即可 242 Docker五大优势 ≯持续集成、版夲控制、可移植性、隔离性、安全性 2.5、 Docker系统架构 251 Docker系统架构图 Docker使用客户端服务器(C/S)架构模式,使用远程AP来管理和创建 Docker容器 Docker容器通过 Docker镜像来创建, 容器与镜像的关系类似于面向对象编程中的对象与类。 鲸鱼背上有集装箱,蓝色的大海里面(宿主机系统 Window/ Centos/Mac)、鲸鱼( Docker 集装箱(容器实例)from来自我们的进行模板,鲸鱼上的每个集装箱都是隔离的

...展开详情
试读 67P Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf 50积分/C币 立即下载
    1/67
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第1页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第2页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第3页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第4页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第5页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第6页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第7页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第8页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第9页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第10页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第11页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第12页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第13页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第14页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第15页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第16页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第17页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第18页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第19页
    Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建.pdf第20页

    试读已结束,剩余47页未读...

    50积分/C币 立即下载 >