ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【DevOps系列】DevOps简介及底子环境安装 [打印本页]

作者: 魏晓东    时间: 2024-7-17 00:40
标题: 【DevOps系列】DevOps简介及底子环境安装
作者:后端小肥肠
  目录
1. 前言
2. DevOps(具体先容)
3. Code阶段工具
3.1 Git安装
3.2 GitLab安装
4. Build阶段工具
5. Operate阶段工具
5.1 Docker安装
5.2 Docker-Compose安装
6. Integrate工具
6.1 Jenkins先容
6.2 Jenkins安装
6.3 Jenkins入门设置
6.3.1 构建使命
6.3.2 设置源码拉取地址
6.3.3 设置Maven构建代码
6.3.4 设置Publish发布&远程操作
7. 结语


1. 前言

在当代软件开发中,接纳DevOps(Development和Operations的团结)方法已成为提高效率、加速交付和提升产物质量的重要手段。DevOps不仅仅是一种工具或技能的聚集,更是一种文化和理念的融合,旨在通过主动化和协作来消除传统开发与运维之间的隔阂,实现连续交付和连续集成。
本系列文章将深入探究DevOps的各个方面,从底子概念到现实工具的使用,为读者提供全面的指导和实用的建议。我们将具体先容各种工具如Git、GitLab、Docker、Jenkins、Maven等的安装和设置过程,帮助读者快速掌握并应用这些关键技能,从而建立高效的软件开发和交付流程。
2. DevOps(具体先容)

软件开发最开始是由两个团队组成:

这看似两个目标差别的团队需要协同完成一个软件的开发。
在开发团队指定好操持并完成coding后,需要提供到运维团队。
运维团队向开发团队反馈需要修复的BUG以及一些需要返工的使命。
这时开发团队需要常常等待运维团队的反馈。这无疑延长了变乱并推迟了整个软件开发的周期。
会有一种方式,在开发团队等待的时候,让开发团队转移到下一个项目中。等待运维团队为之前的代码提供反馈。
可是这样就意味着一个完整的项目需要一个更长的周期才可以开发出最终代码。

基于现在的互联网现状,更推崇敏捷式开发,这样就导致项目的迭代速度更快,但是由于开发团队与运维团队的沟通问题,会导致新版本上线的时间成本很高。这又违背的敏捷式开发的最初的目的。
那么如果让开发团队和运维团队整合到成一个团队,协同应对一套软件呢?这就被称为DevOps。
DevOps,字面意思是Development &Operations的缩写,也就是开发&运维。
虽然字面意思只涉及到了开发团队和运维团队,着实QA测试团队也是参与其中的。
网上可以检察到DevOps的符号雷同于一个无穷大的符号
DevOps

  这表明DevOps是一个不停提高效率并且连续不停工作的过程
DevOps的方式可以让公司能够更快地应对更新和市场发展变革,开发可以快速交付,部署也更加稳固。
核心就在于简化Dev和Ops团队之间的流程,使整体软件开发过程更快速。
整体的软件开发流程包括:

为了包管整体流程可以高效的完成,各个阶段都有比较常见的工具,如下图:
软件开发过程&涉及工具

  最终可以给DevOps下一个定义:DevOps 夸大的是高效构造团队之间如何通过主动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳固的软件。
3. Code阶段工具

在code阶段,我们需要将差别版本的代码存储到一个堆栈中,常见的版本控制工具就是SVN或者Git,这里我们接纳Git作为版本控制工具,GitLab作为远程堆栈。
3.1 Git安装

https://git-scm.com/(傻瓜式安装)
3.2 GitLab安装

单独准备服务器,接纳Docker安装

首页

  

  
初始暗码

  
登录成功后跳转页面

  
修改暗码

  搞定后,即可像Gitee、GitHub一样使用。
4. Build阶段工具

构建Java项目的工具一样平常有两种选择,一个是Maven,一个是Gradle。
这里我们选择Maven作为项目的编译工具。
具体安装Maven流程不做阐述,但是需要确保设置好Maven堆栈私服以及JDK编译版本。
5. Operate阶段工具

部署过程,会接纳Docker举行部署,临时只安装Docker即可,后续还需安装Kubenetes
5.1 Docker安装


效果

  5.2 Docker-Compose安装


效果

  6. Integrate工具

连续集成、连续部署CI、CD的工具很多,其中Jenkins是一个开源的连续集成平台。
Jenkins涉及到将编写完毕的代码发布到测试环境和生产环境的使命,并且还涉及到了构建项目等使命。
Jenkins需要大量的插件包管工作,安装成本较高,下面会基于Docker搭建Jenkins。
6.1 Jenkins先容

Jenkins是一个开源软件项目,是基于Java开发的一种连续集成工具
Jenkins应用广泛,大多数互联网公司都接纳Jenkins配合GitLab、Docker、K 作为实现DevOps的核心工具。
Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来主动化CI/CD过程中的各种噜苏功能。
  

  

  Jenkins最重要的工作就是将GitLab上可以构建的工程代码拉取并且举行构建,再根据流程可以选择发布到测试环境或是生产环境。
一样平常是GitLab上的代码颠末大量的测试后,确定发行版本,再发布到生产环境。
CI/CD可以明确为:

CI、CD

  6.2 Jenkins安装


错误日志

  1. chmod -R a+w data/
复制代码

Jenkins首页

  

  
登录并下载插件

  

  
选择需要安装的插件

  

  

  
  

  

  

  6.3 Jenkins入门设置

由于Jenkins需要从Git拉取代码、需要本地构建、乃至需要直接发布自定义镜像到Docker堆栈,所以Jenkins需要设置大量内容。
6.3.1 构建使命

准备好GitLab堆栈中的项目,并且通过Jenkins设置项目的实现当前项目的DevOps根本流程。

6.3.2 设置源码拉取地址

Jenkins需要将Git上存放的源码存储到Jenkins服务地点磁盘的本地

源码管理

  
点击使命test中的立即构建

  
检察使命拉取Git源码日志

  可以看到源码已经拉取带Jenkins本地,可以根据第三行日志信息,检察Jenkins本地拉取到的源码。

源码存放位置

  6.3.3 设置Maven构建代码

代码拉取到Jenkins本地后,需要在Jenkins中对代码举行构建,这里需要Maven的环境,而Maven需要Java的环境,接下来需要在Jenkins中安装JDK和Maven,并且设置到Jenkins服务。

6.3.4 设置Publish发布&远程操作

jar包构建好之后,就可以根据环境发布到测试或生产环境,这里需要用到之前下载好的插件Publish Over SSH。

7. 结语

本文对DevOps的根本概念举行了先容,同时展示了底子环境搭建步调,下篇文章将对CI/CD如何闭环实现举行更进一步的讲解,如本文对你有帮助,请动动小手三连一下哦~



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4