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融合了一系列基本原则和实践的方法论,并从这些实践中派生出了各种工具。这些工具体现在软件开发和交付过程的不同阶段:
    • 编码: 代码开发和审阅,版本控制工具、代码合并工具。
    • 构建: 持续集成工具、构建状态统计工具。
    • 测试: 通过测试和结果确定绩效的工具。
    • 打包: 成品仓库、应用程序部署前暂存。
    • 发布: 变更管理、发布审批、发布自动化。
    • 配置: 基础架构配置和部署,基础架构即代码工具。
    • 监控: 应用程序性能监视、最终用户体验。
      在这里插入图片描述

jenkins持续集成优点:

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

1.1 CI/CD介绍

CI/CD流程图:
在这里插入图片描述
CI 持续集成:

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

CD 持续交付:

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

CD 持续部署:

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

1.2 基于Docker的CI/CD

基于Jenkins实现流程图:

  • Jenkins每天定时从代码仓库中检出代码进行编译,编译成功后,将会自动进行镜像构建,并将构建好的镜像推送到Docker Registry中。同时会自动触发测试环境自动拉取镜像,运行容器。
    在这里插入图片描述

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

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

二、安装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访问网页,配置安装信息,进入首页。

在这里插入图片描述

5.安装maven插件。

wget https://dlcdn.apache.org/maven/maven-3/3.9.3/binaries/apache-maven-3.9.3-bin.tar.gz --no-check-certificatetar 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.更改时间戳。
在这里插入图片描述
在这里插入图片描述

3.2 系统配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 全局工具配置

在这里插入图片描述
在这里插入图片描述

3.4 插件管理

在这里插入图片描述
1.这里遇到一个报错。
在这里插入图片描述

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

在这里插入图片描述

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服务,再开始下载。

在这里插入图片描述

3.4.2 上传插件

1.手动下载插件到本地,地址。
2.上传插件。
在这里插入图片描述
3.查看效果。

在这里插入图片描述

3.5 用户设置

1.创建用户。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.6 查看日志

在这里插入图片描述

3.7 汉化设置

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20738.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络ping丢包什么原因(附解决方案)

​  数据包丢失是一种网络问题,当通过网络(或设备之间或通过 Internet)传输的数据包在传输过程中丢失或丢弃并且无法到达目的地时,就会发生这种情况。简单来说,数据包丢失是指数据包无法通过互联网从发送者成功传输到接收者。 如何检测数据…

LiveGBS流媒体平台GB/T28181功能-支持UDP、TCP被动、TCP主动模式流传输模式之间有什么区别?

LiveGBS流媒体平台-国标流媒体服务几种流传输模式UDP、TCP被动、TCP主动模式区别是什么 1、背景1、GB28181流传输模式1.1、UDP1.2、TCP 被动1.3、TCP 主动 2、切换流传输模式2.1、编辑2.2、下拉切换 3、搭建GB28181视频直播平台 1、背景 国标GB28181协议中,视频流到…

eNSP-VRRP虚拟路由器冗余技术

VRRP-虚拟路由器冗余技术 文章目录 VRRP-虚拟路由器冗余技术一、拓扑结构二、基本配置三、测试验证四、知识点详解1.VRRP路由器2.报文格式3.工作过程 一、拓扑结构 二、基本配置 R1: #配置ip <Huawei>sys [Huawei]sys r1 [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip a…

Perl 7 - 使用 Perlbrew 管理perl 版本

文章目录 关于 Perlbrew安装 Perlbrew使用 perlbrew 安装/管理 perl 版本 关于 Perlbrew 官网&#xff1a;https://perlbrew.pl 相关文档&#xff1a; App::perlbrew https://metacpan.org/pod/App::perlbrew Perlbrew 是一个工具&#xff0c;用于管理您$HOME 目录(或您指定的…

嵌入式LinuxLED驱动开发实验

目录&#xff1a; 1. Linux下LED灯的驱动原理1.1. 地址映射1.1.1. 实际物理地址映射到虚拟地址的函数1.1.2. 内存访问函数 2.硬件原理图分析3. 实验程序编写3.1. 驱动程序编写3.2. 应用程序编写 4. 运行测试 1. Linux下LED灯的驱动原理 我们在裸机实验的时候&#xff0c;都是通…

【数据结构】红黑树

文章目录 红黑树1. 红黑树的概念2. 红黑树的性质3. 红黑树节点的定义4. 红黑树的结构5. 红黑树的插入操作 红黑树 1. 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个节点上增加一个存储位表示节点的颜色&#xff0c;可以是Red或者是Black。通过任何一…

【Docker】Docker的部署含服务和应用、多租环境、Linux内核的详细介绍

前言 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 &#x1f4d5;作者简介&#xff1a;热…

简化生活之让AI以指定格式输出

原文合集地址如下&#xff0c;有需要的朋友可以关注 本文地址 合集地址 今天京东也宣布即将发布了自己的大模型&#xff0c;那么使用AI大模型进行工作或者生活将是必不可少的步骤。 建立命令 AI大模型是一种生成式聊天对话模型&#xff0c;我们可以通过预先定义命令的方式…

HTML的Input(type)的属性都有哪些

&#x1f607;作者介绍&#xff1a;一个有梦想、有理想、有目标的&#xff0c;且渴望能够学有所成的追梦人。 &#x1f386;学习格言&#xff1a;不读书的人,思想就会停止。——狄德罗 ⛪️个人主页&#xff1a;进入博主主页 &#x1f33c;欢迎小伙伴们访问到博主的文章内容&am…

flutter开发实战-Running Gradle task ‘assembleDebug‘ 的解决方法

flutter开发实战-Running Gradle task ‘assembleDebug‘ 的解决方法 使用Android studio经常出现Running Gradle task ‘assembleDebug‘问题&#xff0c;记录一下解决方法。 一、在Android目录下更改build.gradle 将repositories中的google(), mavenCentral() repositori…

linux_driver_day10

作业1 题目&#xff1a; 使用驱动代码实现如下要求 应用程序通过阻塞的io模型来读取number变量的值 number是内核驱动中的一个变量 number的值随着按键按下而改变&#xff08;按键中断&#xff09; 例如 numbero 按下按键 number1&#xff0c;再次按下按键 number0 在按下按…

未跟踪的文件: (使用 “git add <文件>...“ 以包含要提交的内容)怎么移除这些内容

有时候我们常常修改一些内容 手动就是&#xff1a;rm -rf system/core/healthd/images/.png 怎么丢弃呢&#xff1f; git clean -f . 删除这种文件