DevOps基础服务2——Jenkins

文章目录

  • 一、基本了解
    • 1.1 CI/CD介绍
    • 1.2 基于Docker的CI/CD
  • 二、安装jenkins
  • 三、页面管理
    • 3.1 当前系统用户配置
    • 3.2 系统配置
    • 3.3 全局工具配置
    • 3.4 插件管理
      • 3.4.1 安装插件
      • 3.4.2 上传插件
    • 3.5 用户设置
    • 3.6 查看日志
    • 3.7 汉化设置

一、基本了解

DEVOPS概念:

  • DevOps是一种思想,是一种文化,主要强调软件开发测试运维的一体化,目标是减少各个部门之间的沟通成本从而实现软件的快速高质量的发布。cicd是指持续集成发布部署,是一套流程实现软件的构建测试部署的自动化。
  • DevOps与cicd紧密相关,是理论与实践的结合,DevOps要实现人员一体化,必须要借助cicd工具来自动化整个流程。
  • DevOps融合了一系列基本原则和实践的方法论,并从这些实践中派生出了各种工具。这些工具体现在软件开发和交付过程的不同阶段:
    • 编码: 代码开发和审阅,版本控制工具、代码合并工具。
    • 构建: 持续集成工具、构建状态统计工具。
    • 测试: 通过测试和结果确定绩效的工具。
    • 打包: 成品仓库、应用程序部署前暂存。
    • 发布: 变更管理、发布审批、发布自动化。
    • 配置: 基础架构配置和部署,基础架构即代码工具。
    • 监控: 应用程序性能监视、最终用户体验。
      DevOps基础服务2——Jenkins_第1张图片

jenkins持续集成优点:

  • Jenkins自动化部署可以解决集成、测试、部署等重复性的工作,提高工作效率。
  • 持续集成可以更早的获取代码变更的信息,从而更早的进入测试阶段,更早的发现问题,这样解决问题的成本就会显著下降。
  • 持续集成缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间出现的等待时间。
  • 持续集成也意味着开发、集成、测试、部署得以持续。
  • 使用Maven(Ant)等来实现lava项目自动化构建发布部署。这些工具可以帮助在构建过程中实现自动化发布、回滚等动作。

1.1 CI/CD介绍

CI/CD流程图:
DevOps基础服务2——Jenkins_第2张图片
CI 持续集成:

  • 持续集成(CI)可以帮助开发人员更加频繁地将代码更改合并到共享分支或主干中。
  • 当开发人员对应用进行更改合并后,系统就会自动构建应用并运行不同级别的自动化测试来验证这些更改,确保这些更改没有对应用造成破坏。
  • 若自动化测试发现新代码和现有代码之间存在冲突,CI可以更加轻松地快速修复这些错误。

CD 持续交付:

  • 完成 CI 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。为了实现高效的持续交付流程,务必要确保 CI 已内置于开发管道。持续交付的目标是拥有一个可随时部署到生产环境的代码库。
  • 在持续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都涉及测试自动化和代码发布自动化。在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中。

CD 持续部署:

  • 对于一个成熟的 CI/CD 管道来说,最后的阶段是持续部署。作为持续交付——自动将生产就绪型构建版本发布到代码存储库——的延伸,持续部署可以自动将应用发布到生产环境。由于在生产之前的管道阶段没有手动门控,因此持续部署在很大程度上都得依赖精心设计的测试自动化。
  • 持续部署意味着开发人员对应用的更改在编写后的几分钟内就能生效(假设它通过了自动化测试)。这更加便于持续接收和整合用户反馈。所有这些 CI/CD 的关联步骤都有助于降低应用的部署风险,因此更便于以小件的方式(而非一次性)发布对应用的更改。

1.2 基于Docker的CI/CD

基于Jenkins实现流程图:

  • Jenkins每天定时从代码仓库中检出代码进行编译,编译成功后,将会自动进行镜像构建,并将构建好的镜像推送到Docker Registry中。同时会自动触发测试环境自动拉取镜像,运行容器。
    DevOps基础服务2——Jenkins_第3张图片

gitlab + jenkins + docker 的CI/CD流程:

  1. 开发者向自己的gitlab网站提交了代码。
  2. 通过webhook让jenkins执行自动化构建过程。
  3. jenkins从git上拉取代码进行构建,如构建失败可配置邮件通知开发人员。
  4. jenkins在自动化构建脚本中调用docker命令将构建好的镜像push 私有镜像服务器。
  5. 同时,jenkins也可以直接执行remote shell启动构建好的容器。
  6. 服务端可以手动通过docker命令,从镜像仓库中心拉取镜像,进行手动
    DevOps基础服务2——Jenkins_第4张图片

二、安装jenkins

  • Jenkins官网,安装指南
  • maven官网,安装在jenkins服务器,用于自动构建代码。

1.安装jdk环境。

yum -y install java-11-openjdk*

2.下载jenkins的war包。

wget https://get.jenkins.io/war-stable/2.401.2/jenkins.war --no-check-certificate

3.启动war包,前台运行。

nohup java -jar jenkins.war &

4.http://ip:8080访问网页,配置安装信息,进入首页。

DevOps基础服务2——Jenkins_第5张图片
DevOps基础服务2——Jenkins_第6张图片

5.安装maven插件。

wget https://dlcdn.apache.org/maven/maven-3/3.9.3/binaries/apache-maven-3.9.3-bin.tar.gz --no-check-certificate


tar zxf apache-maven-3.9.3-bin.tar.gz -C /usr/local/
ln -s /usr/local/apache-maven-3.9.3 /usr/local/maven

三、页面管理

3.1 当前系统用户配置

1.更改时间戳。
DevOps基础服务2——Jenkins_第7张图片
DevOps基础服务2——Jenkins_第8张图片

3.2 系统配置

DevOps基础服务2——Jenkins_第9张图片
DevOps基础服务2——Jenkins_第10张图片
DevOps基础服务2——Jenkins_第11张图片

3.3 全局工具配置

DevOps基础服务2——Jenkins_第12张图片
DevOps基础服务2——Jenkins_第13张图片

3.4 插件管理

DevOps基础服务2——Jenkins_第14张图片
1.这里遇到一个报错。
DevOps基础服务2——Jenkins_第15张图片

2.解决方法,添加如下配置,再重启服务。

cat /etc/sysconfig/jenkins 
NS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DownloadService.noSignatureCheck=true"

3.4.1 安装插件

1.进入Advanced settings配置栏,修改Update Site项的下载地址,再重启服务。

http://mirror.xmission.com/jenkins/updates/update-center.json

DevOps基础服务2——Jenkins_第16张图片

2.修改Jenkins工作目录下updates中的default.json文件,war包安装的工作目录在/root/.jenkins目录下。

vim /root/.jenkins/updates/default.json

//替换源地址。
:1,$s/https:\/\/updates.jenkins.io\/download/http:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g

3.重启jenkins服务,再开始下载。

DevOps基础服务2——Jenkins_第17张图片

3.4.2 上传插件

1.手动下载插件到本地,地址。
2.上传插件。
DevOps基础服务2——Jenkins_第18张图片
3.查看效果。

DevOps基础服务2——Jenkins_第19张图片

3.5 用户设置

1.创建用户。
DevOps基础服务2——Jenkins_第20张图片
DevOps基础服务2——Jenkins_第21张图片

DevOps基础服务2——Jenkins_第22张图片

3.6 查看日志

DevOps基础服务2——Jenkins_第23张图片

3.7 汉化设置

DevOps基础服务2——Jenkins_第24张图片
DevOps基础服务2——Jenkins_第25张图片

你可能感兴趣的:(DevOps,jenkins,运维)