DevOps基础服务2——Jenkins

news2024/11/25 2:44:49

文章目录

  • 一、基本了解
    • 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-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.更改时间戳。
在这里插入图片描述
在这里插入图片描述

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.coloradmin.cn/o/746968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

经典指针与数组笔试题——C语言

学习这片文章中的知识点,可以加深大家对指针应用的理解,让大家更能轻松知道指针在各种情况下指向那个内存地址。    文章开始之前 ,我们先来介绍一下一些必要的知识点 📢 : 以下代码都是在64位编译器下测试的 经典…

orcle报错:无监听程序,解决方法

orcle报错:无监听程序,解决方法 报错页面: 打开桌面侧边安装orcle的列表,找到Net Configuration Assistant,双击(这个可以重新配置监听) ![]](https://img-blog.csdnimg.cn/3ba6bd6bd0af413ca5…

nginx 开机自启

0x00 前言 简单的记录下 0x01 正文 cd /lib/systemd/system/ vim nginx.service [Unit] Descriptionnginx service Afternetwork.target [Service] Typeforking ExecStart/usr/local/nginx/sbin/nginx ExecReload/usr/local/nginx/sbin/nginx -s reload ExecStop/usr/lo…

pt18CSS

CSS 基础使用 CSS全称为: Cascading Style Sheets ,意为层叠样式表 ,与HTML相辅相成,实现网页的排版布局与样式美化 CSS使用方式 行内样式/内联样式 使用简单,但不推荐,大面积使用,很累 借…

ESP32(MicroPython) 网页显示温湿度+RGB点阵控制

本程序整合了RGB点阵可交互超声波云台网页显示温湿度程序和网页控制WS2812程序的功能,对一些参数进行了调整。去掉了图标以加快加载速度,去掉了超声波云台和按键控制以简化接线并实现RGB点阵更新周期可调,由于RGB点阵更新周期相对较长&#x…

vue3前端模拟https安全策略同局域网内测试方法-local-ssl-proxy

文章目录 前言建议全局安装运行安全策略模拟运行效果如果其他客户端不能访问 直接在cmd跑即可,不过我们应该先运行项目 前言 为什么要用https安全策略呢,因为http浏览器策略访问权限有限,不能使用navigator的激活“用户音频或视频”的方法&a…

windows上的mysql服务突然消失: 10061 Unkonwn error

问题描述 windows10 系统,今天早晨系统自己更新了下,也没啥问题,突然发现电脑上安装的mysql 服务没了… 原因分析: 我是安装的解压版的mysql 虽然服务没了,但是文件夹,包括数据啥的都在最重要的就是数据啦,还好都在 解决方案: 打开mysql 的bin所在目录…

Git撤销已合并提交的多种姿势

#Git撤销已合并提交的多种姿势 在Git中,合并分支是一个常见的操作,但有时候可能会意外地将错误的提交合并到了主分支。这时候需要撤销已合并的提交并恢复到正确的状态。本文将介绍的是如何在Git中撤销已合并的提交,无论这个提交记录是最新的还…

包管理工具:npm

安装Node的过程会自动安装npm工具 比如npm install dayjs后 const dayjsrequire("dayjs")console.log(dayjs()) 直接运行 生成package.json文件  方式一:手动从零创建项目,npm init –y  方式二:通过脚手架创建项目&#xf…

Sentinel服务器容错简介

spring gateway 详解 服务容错高并发带来的问题服务雪崩效应常见容错方案常见的容错思路1、隔离2、超时3、限流4、熔断5、降级 常见的容错组件 SentinelSentinel 具有以下特征:Sentinel概念和功能相关概念1、资源2、规则 重要功能 服务容错 高并发带来的问题 在微服务架构中&…

Vivado使用误区与进阶系列(七)用Tcl定制Vivado设计实现流程

01 基本的FPGA设计实现流程 FPGA 的设计流程简单来讲,就是从源代码到比特流文件的实现过程。大体上跟 IC 设计流程类似,可以分为前端设计和后端设计。其中前端设计是把源代码综合为对应的门级网表的过程,而后端设计则是把门级网表布局布线到…

orcle报错:TNS 监听程序无法为请求的服务器类型找到可用的处理程序

orcle报错:TNS 监听程序无法为请求的服务器类型找到可用的处理程序 方法一:配置文件修改 服务端的数据库是专用服务器,但是在客户端的tnsname.ora里配置中设置了连接方式为shared,这种情况下打开tnsnames.ora, 找到安装orcle的安装目录,点…

MSP430F5529,超声波,距离检测报警,倒车雷达,SR-04模块

文章目录 硬件连接功能实物效果代码 硬件连接 /* OLED----MSP430VCC-----3.3VGND-----GNDSCL------P3.1SDA------P3.0 */ /* 蜂鸣器----MSP430VCC-----3.3VGND-----GNDDAT------P2.4 */ /* 超声波----MSP430VCC-----3.3VGND-----GNDTRIG------P1.3ECHO------P1.2 */ /* …

模板学堂|数据关系和AntV、ECharts图表解析

DataEase开源数据可视化分析平台于2022年6月正式发布模板市场(https://dataease.io/templates/)。模板市场旨在为DataEase用户提供专业、美观、拿来即用的仪表板模板,方便用户根据自身的业务需求和使用场景选择对应的仪表板模板,并…

PHP 音乐欣赏网站mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP音乐欣赏网站 是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 代码下载 https://download.csdn.net/download/qq_41221322/88041034https://download.…

Sentry 监控 Docker 方式部署

一、简介 根据主篇 Sentry 监控部署与使用 流程,使用 Docker 方式 方式进行部署。 docker 方式 部署操作比较简单,也是 Sentry 官方 比较推崇的方式,直接按 Sentry On-Premise 提供的方式按部就班部署就好了。或者可直接参考 Docker 部署 Se…

关于根据文件名以及内容查找文件存放路径

1 根据文件名字查找文件存放路径 1.1 命令如下(先切换到存放该文件的顶级父目录下): find /path/to/search -name "filename"​​ 1.2 案例如下 2 根据内容查找包含该内容的文件存放路径 2.1 命令如下(先切换到存放该文…

《大大简化每次运行bochs的命令行》ubuntu里安装vscode + makefile文件基本编写 + shell命令

📍安装vscode 启动vscode 如图打开商店,在搜索栏里输入visual studio code,安装即可 在随便一个命令行里输入code即可打开vscode 📍makefile文件基本编写 在实验项目文件夹里创建makefile文件(vscode直接能快捷创…

禁止22H2版windows10出现windows11的跨版本升级提示

近期微软为了强推windows11,笔者所用的笔记本又出现了升级windows11的提示,烦人不说,还担心一不小心点错了,系统就给升了,赶紧禁止了跨版本升级,相关设置记录如下: 一、问题情况 系统出现了升…

[C++] C++特殊类设计 以及 单例模式:设计无法拷贝、只能在堆上创建、只能在栈上创建、不能继承的类, 单例模式以及饿汉与懒汉的场景...

特殊类 1. 不能被拷贝的类 注意, 是不能被拷贝的类, 不是不能拷贝构造的类. 思路就是 了解什么时候 会以什么途径 发生拷贝, 然后将路堵死. 拷贝发生一般发生在 拷贝构造 和 赋值重载 所以, 只要把类的这两个成员函数堵死, 此类就不能拷贝了 C98 在C11之前, 可以通过这种方…