DevOps 笔记
01 总论
"DevOps"是一个术语,它是“Development(开发)”和“Operations(运维)”两个单词的组合。这个概念是为了强调并促进开发人员(构建产品)和IT运营团队(负责产品部署和管理)之间的沟通、协作与整合。通过DevOps,组织力求快速、高效地开发高质量软件,并在整个构建与部署过程中实现自动化、持续监控和快速反馈。
以下是DevOps主要特点和组成部分的简要概述,以及具体例子:
-
持续集成(Continuous Integration):开发人员经常将代码集成到共享的仓库中(例如Git),每次集成都可以通过自动构建和自动测试来验证,从而早期发现问题。例如,一家公司的开发人员可能每天要提交代码多次到Git,每次提交都触发了自动测试,确保新代码与现有代码的兼容性。
-
持续交付/持续部署(Continuous Delivery/Deployment):这确保了软件可以随时随地为发布做好准备(持续交付),甚至是自动发布到生产环境中(持续部署),使得整个软件发布过程更快更高效。例如,开发团队使用Jenkins、GitLab CI/CD或GitHub Actions等工具自动部署每个已通过测试和审核的构建到生产环境。
-
微服务架构:通过将应用分解为小的、独立的服务单元,可以独立部署和扩展,每个服务单元只做一件事,做到极致。这提高了系统的弹性和可维护性。例如,一家电商平台可能将用户管理、商品目录、订单处理等功能分别构建在不同的微服务中,每个服务可独立更新和部署,而不影响其他系统。
-
监控和日志记录:DevOps鼓励持续监控应用和环境,以及积极响应反馈。例如,使用Prometheus或ELK堆栈(Elasticsearch、Logstash、Kibana)等工具,团队可以实时监控应用程序的性能指标,查看日志并设置警报,确保问题可以在影响用户之前得到解决。
-
自动化和配置管理:使用工具(如Ansible、Chef、Puppet等)自动设置和管理环境,确保环境一致性,减少手动错误和部署时间。例如,自动化脚本可以被用来一键配置需要部署的服务器环境,或者自动部署安全补丁到全公司的计算机上。
-
团队协作和沟通:DevOps强调跨职能团队的协作,包括开发、IT运营、质量保证和安全(也称为DevSecOps)等。例如,通过日常站立会议、使用Slack或Microsoft Teams等即时通讯工具,以及共享看板(如Jira、Trello)等,不同团队成员可以紧密协作,共同解决问题。
通过这些实践,DevOps帮助公司加快开发周期,提高部署频率,实现更可靠的部署,并更快地从市场反馈中学习和调整。
02 jenkins是如何控制发布到开发环境,测试环境,还是生产环境
Jenkins是一个流行的持续集成和持续交付(CI/CD)工具,它可以用于自动化构建、测试和部署软件项目。在Jenkins中,您可以设置不同的任务和管道来控制发布到不同环境(如开发、测试和生产环境)的过程。以下是一个简单的示例,说明如何使用Jenkins来控制不同环境的发布:
项目示例:一个Web应用的CI/CD流程
假设您有一个Web应用,希望将其部署到开发、测试和生产环境中。以下是如何使用Jenkins来管理这个过程:
-
创建Jenkins Job:
首先,在Jenkins中创建一个CI/CD任务(Job)。此任务将包括构建、测试和部署阶段。
-
代码提交:
开发团队在代码库(例如Git)中进行代码更改。每次提交代码时,Jenkins可以配置为自动触发构建任务。
-
构建阶段:
Jenkins在构建阶段中执行以下操作:
- 从代码库中获取最新的代码。
- 编译代码。
- 创建可执行文件或构建产物(例如WAR或JAR文件)。
-
测试阶段:
在测试阶段,您可以运行各种自动化测试,包括单元测试、集成测试和端到端测试。如果测试失
相关文章:
DevOps 笔记
01 总论 "DevOps"是一个术语,它是“Development(开发)”和“Operations(运维)”两个单词的组合。这个概念是为了强调并促进开发人员(构建产品)和IT运营团队(负责产品部署和管理)之间的沟通、协作与整合。通过DevOps,组织力求快速、高效地开发高质量软件,…...
基于食肉植物优化的BP神经网络(分类应用) - 附代码
基于食肉植物优化的BP神经网络(分类应用) - 附代码 文章目录 基于食肉植物优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.食肉植物优化BP神经网络3.1 BP神经网络参数设置3.2 食肉植物算法应用 4.测试结果…...
Docker部署SpringBoot +Vue项目流程详解(含域名 + HTTPS)
文章目录 前言1、选购服务器2、部署 Docker3、前端、后端项目打包4、配置 Dockerfile5、配置 Nginx6、配置 DockerCompose6、启动 DockerCompose 完成部署7、【可选】域名 SSL证书 前言 本次整体部署操作使用阿里云服务器,这里我选择的是香港地区的2核2G ECS&…...
需要在 MySQL 服务器中监控的重要指标
MySQL是一个开源的关系数据库管理系统,它基于客户端-服务器模型运行,使用SQL作为其通信模式。它具有灵活性和可扩展性、高安全性、易用性以及无缝处理大型数据集的能力,由于其广泛的功能,MySQL 被用作数据库管理系统的一部分。 什…...
Hadoop之HDFS
目录 1.HDFS概述 1.1HDFS产出背景及定义 1.2 HDFS优缺点 1.3 HDFS组成架构 1.4 HDFS文件块大小 2. HDFS的Shell操作 2.1 基本语法 2.2 命令大全 2.3 常用命令实操 2.3.1 准备工作 2.3.2 上传 2.3.3 下载 2.3.4 HDFS直接操作 3. HDFS的API操作 3.1 客户端环境准备…...
【Matlab笔记_17】查找数组中相同元素
案例一:找到数组中相同元素所在位置索引 方法:使用unique函数用于找到唯一的元素和它们在原数组中的索引。然后,histc函数用于计算每个唯一元素的出现次数,并通过ismember函数找到重复元素在原数组中的索引。最后,通过…...
前端多媒体处理工具——ffmpeg的使用
写在前面 在前端领域,FFmpeg 是一个非常有用的工具,它提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率切换等。可以在多种操作系统安装使用。 安装 下载FFmpeg 在网…...
Pandas 数据分析系列1--SeriesDataFrame数据结构详解
Pandas 概述 Pandas 是一个开源的数据分析和数据处理库,是基于 NumPy 开发的。它提供了灵活且高效的数据结构,使得处理和分析结构化、缺失和时间序列数据变得更加容易。其在数据分析和数据处理领域广泛应用,在金融、社交媒体、科学研究等领域都有很高的使用率和广泛的应用场…...
【模型部署】c++部署yolov5使用openvino
1. 推理方式 CPU推理GPU推理(要求电脑具备核显,即CPU中有嵌入显卡) 2. openvino依赖项下载 https://github.com/openvinotoolkit/openvino/releases 直接解压(随便放到哪个路径) 环境配置 ********(…...
DC-7 靶机
DC_7 信息搜集 存活检测 详细扫描 后台网页扫描 网页信息搜集 搜索相关信息 在配置中发现了用户名密码字样 $username "dc7user"; $password "MdR3xOgB7#dW";ssh 登录 尝试使用获取的账密进行登录 网页登录失败 尝试 ssh 登录 成功登录 登陆今后提…...
Mr.Alright---MTK安卓13 抬手亮屏功能的逻辑
该功能在系统设置-显示-拿起设备时唤醒 alps\vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings\display\LiftToWakePreferenceController.javapublic boolean isAvailable() {SensorManager sensors (SensorManager) mContext.getSystemServ…...
thinkPHP5.0字符集修改为utf8mb4
Q:为什么要用utf8mb4 A:utf8mb4可以直接保存emoji字符 MySQL修改字符集 // 数据表编码改为utf8mb4 function to_utf8mb4() {$database config("database.database");$sql "ALTER DATABASE {$database} CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;&q…...
[架构之路-242]:目标系统 - 纵向分层 - 应用程序的类型与演进过程(单机应用程序、网络应用程序、分布式应用程序、云端应用程序、云原生应用程序)
目录 一、什么是计算机应用程序 1.1 什么是应用程序 1.2 应用程序的分类 二、应用程序架构分类详解与演进阶段 三、应用程序架构(Application Architecture) 3.1 基本类型 3.2 云应用程序架构 一、什么是计算机应用程序 1.1 什么是应用程序 计算…...
Jackson 反序列化失败,出现JSON: Unrecognized field
问题: 这边在灰度发布的时候,其他未发布的机器出现过could not read JSON: Unrecognized field “type”,这个报错,原因是有一个表新加了一个字段,并且灰度发布了一台机器,刚好有请求命中这台机器…...
vscode代码快捷输入
Vscode代码片段快捷输入 常用的代码片段为了避免重复输入,可以使用Vsco的中用户代码片段进行设置,这样就可以实现快捷输入. 操作流程 如下 打开vscode的设置 2. 找到用户代码片段 3. 选择模板 4. 然后写入代码片段即可 上面的代码片段可以设置多个,看自己 重点关注的是 prefi…...
【微服务】Feign 整合 Sentinel,深入探索 Sentinel 的隔离和熔断降级规则,以及授权规则和自定义异常返回结果
文章目录 前言一、Feign 整合 Sentinel1.1 实现步骤1.2 FallbackFactory 示例 二、Sentinel 实现隔离2.1 隔离的实现方法2.2 Sentinel 实现线程隔离示例 三、熔断降级规则3.1 熔断降级原理及其流程3.2 熔断策略 —— 慢调用3.3 熔断策略 —— 异常比例和异常数 四、授权规则4.1…...
Kurento多对多webrtc会议搭建测试
环境ubuntu18.04 KMS版本6.13.0 多对多通信demo7.0.0 KMS运行起来后,通过运行它的一个个demo,来实现不同的功能,它的demo很多如下: https://github.com/Kurento 里面有一对一,多对多,还有一些特效的demo。…...
蓝桥杯 (饮料换购,C++)
思路: 1、先加上初始的饮料数n。 2、再加上n可以兑换的饮料数n/3,求多余的瓶盖n%3。循环直至瓶盖数无法兑换新的一瓶饮料。 #include<iostream> using namespace std; int main() {int n,a0,sum0;cin >> n;sum n;while (n){n n a;//加上上…...
《java核心卷Ⅰ》知识点总结(可作面试题)
🛫 JDK和JRE傻傻分不清?🛫 HelloWorld的输出都经历了啥?🛫 Java的三个版本都是啥?🛫 关于main方法你都知道啥?main方法被声明为private会怎样?🛫 强制and自动类型转换都…...
发成绩小程序,一键群发成绩给家长,省事
大家好!又到了学期末,是不是又开始为了学生的成绩而烦恼了?别担心,今天就给大家带来一款超级实用的成绩查询系统!从此告别繁琐的手动操作,一键群发成绩给家长,轻松又愉快! 成绩查询系…...
特征选择实战:用F检验、互信息法搞定Kaggle高维数据,附完整Python代码与避坑指南
特征选择实战:用F检验与互信息法构建高维数据黄金特征集 在Kaggle竞赛和真实业务场景中,我们常常面对成百上千个特征的高维数据集。如何从中筛选出最具预测力的特征子集?本文将带你构建完整的特征选择流水线,从方差过滤到相关性筛…...
我不是狐狸,我是那Harness Engineering炼
Julia(julialang.org)由Stefan Karpinski、Jeff Bezanson等在2009年创建,目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是: 高性能:编译型语言(JIT࿰…...
华感 G 云台实测✨专业拍摄稳定神器分享
作为一名长期从事户外监测、生态摄影与工业安防拍摄的从业者,我对云台设备的稳定性、清晰度与智能化有着极高要求。近期入手并深度实测华感科技 G 云台,这款专业级热成像云台完全超出预期,堪称 “远距离稳定拍摄 智能监测神器”!…...
用Python的pydicom库搞定DICOM文件:从读取患者信息到三维重建的保姆级教程
用Python的pydicom库搞定DICOM文件:从读取患者信息到三维重建的保姆级教程 医学影像数据在现代医疗诊断中扮演着至关重要的角色,而DICOM(Digital Imaging and Communications in Medicine)作为医学数字成像和通信的国际标准&#…...
thiserror版本迁移完全指南:从1.x到2.x的7大关键变化
thiserror版本迁移完全指南:从1.x到2.x的7大关键变化 【免费下载链接】thiserror derive(Error) for struct and enum error types 项目地址: https://gitcode.com/gh_mirrors/th/thiserror thiserror是Rust生态中最受欢迎的错误处理库之一,通过d…...
Pixel Aurora Engine效果展示:极光视觉系统UI与生成图像色调自动匹配机制
Pixel Aurora Engine效果展示:极光视觉系统UI与生成图像色调自动匹配机制 1. 像素极光引擎概览 Pixel Aurora Engine是一款融合复古美学与现代AI技术的创意工具,它将扩散模型的高质量图像生成能力与8-bit像素艺术风格完美结合。这款"虚拟游戏机&q…...
LoRA训练助手GPU算力优化:支持FP16/INT4双精度推理,显存占用降低58%
LoRA训练助手GPU算力优化:支持FP16/INT4双精度推理,显存占用降低58% 1. 为什么需要GPU算力优化 如果你尝试过训练自己的AI绘画模型,一定遇到过这样的困扰:生成训练标签时显存爆满、推理速度慢、甚至因为资源不足而中断进程。传统…...
无锁队列(Lock-Free Queue)
无锁队列原理 无锁队列(Lock-Free Queue)是一种基于无锁编程(Lock-Free Programming)技术实现的并发数据结构。它的核心思想是: 1.基础原理 使用 CAS(Compare-And-Swap,比较并交换)等…...
3大核心优势:为什么BiliBili-UWP是Windows平台B站体验的革命性解决方案
3大核心优势:为什么BiliBili-UWP是Windows平台B站体验的革命性解决方案 【免费下载链接】BiliBili-UWP BiliBili的UWP客户端,当然,是第三方的了 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP 在Windows平台上观看B站内容…...
SSHJ高级功能揭秘:KeepAlive、X11转发与多路复用
SSHJ高级功能揭秘:KeepAlive、X11转发与多路复用 【免费下载链接】sshj ssh, scp and sftp for java 项目地址: https://gitcode.com/gh_mirrors/ss/sshj SSHJ是一个强大的Java SSH库,提供了丰富的SSH功能支持,包括SSH连接、SCP文件传…...
