- 博客(301)
- 收藏
- 关注

原创 Maven随笔
Maven 是 Apache 旗下的一个开源项目,是一款用于管理和构建项目的工具,它基于项目对象模型(Project Object Model,简称: POM) 的概念,通过一小段描述信息来管理项目的构建、报告和文档。
2024-11-03 00:08:26
1387

原创 Linux命令
比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。通常情况下是采用“[n1[n2]]”操作参数的格式。为Linux中的文本编辑器,vim是vi的加强版,不仅能编辑文本而且还具有 shell 程序编辑的功能,可以用不同颜色的字体来辨别语法的正确性,极大方便了程序设计和编辑性;
2024-11-01 02:17:27
910

原创 Git 总结
希望本文可以更好的帮助你在工作中更加有效的使用Git。另外附上一张包含常用 Git 命令大全的表格(来源Chat,不一定准确)。命令名称描述用法示例其他相关信息git init初始化一个新的 Git 仓库git init在当前目录创建一个新仓库git clone克隆一个远程仓库到本地git add将文件添加到暂存区git add .git commit提交暂存区中的更改到仓库添加 -a 参数可以跳过暂存区直接提交所有更改git status显示工作目录和暂存区的状态git status。
2024-10-14 00:11:23
1554
原创 K8S自定义CRD
例如,你想在 Kubernetes 集群中运行一个 messaging 代理,只需要创建一个队列资源实例,而自定义队列控制器将自动完成所需的 Secret、Deployment 和 Service。我们只需要根据监听到的消息做出动作即可,自定义案例逻辑:只需要提供 Website 类型资源清单文件,我们就直接自动创建好对应的 deployment、Service,还能根据给出的 gitRepo 准备好。我们能使用自定义控制器观察高阶对象,并在这些高阶对象的基础上创建底层对象。发起对当前接口的监听。
2025-04-03 11:45:00
1243
原创 使用状态机优化系统
状态机(State Machine)是一种数学模型,用于描述一个系统在不同状态之间的转移和行为。状态机由一组状态、状态间的转移(或称为“边”)以及触发这些转移的事件组成。它广泛应用于计算机科学、工程、自动化、编程语言等多个领域。
2025-02-26 18:34:17
983
原创 HELM.
在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理Helm 本质就是让 K8s 的应用管理(Deployment,Service 等)可配置,能**动态生成**。通过动态生成 K8S资源清单文件(deployment.yaml,service.yaml)。然后
2025-02-18 20:27:54
715
原创 微信小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ex
微信小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json
2025-02-03 21:43:46
951
原创 EhCache缓存
在查询数据的时候,数据大多来自数据库,咱们会基于SQL语句的方式与数据库交互,数据库一般会基于本地磁盘IO的形式将数据读取到内存,返回给Java服务端,Java服务端再将数据响应给客户端,做数据展示。但是MySQL这种关系型数据库在查询数据时,相对比较慢,因为有磁盘IO,有时没命中索引还需要全盘扫描。在针对一些热点数据时,如果完全采用MySQL,会存在俩问题。第一个MySQL相对很脆弱,肯能会崩,第二个MySQL查询效率慢,会采用缓存。
2024-12-28 12:15:00
755
原创 RockyLinux介绍及初始化
Rocky Linux 是一款开源的企业级 Linux 操作系统,旨在为用户提供一个功能强大、稳定可靠的企业级操作环境。它是 CentOS 项目停止稳定版本支持后(即 CentOS Stream 转型为滚动版本更新模型)诞生的替代品之一,由 Rocky Enterprise Software Foundation (RESF) 开发和维护。在 CentOS Stream 宣布成为一个滚动发布的操作系统后,许多企业和用户需要一个稳定、长生命周期支持的 Linux 发行版。
2024-12-27 12:30:00
1085
原创 Jenkins集成Kubernetess
在本文中,详细介绍了如何将 Jenkins 与 Kubernetes 集成,以实现自动化的 CI/CD 流程部署。通过这种集成,可以充分发挥 Kubernetes 的弹性扩展能力与容器化优势,以及 Jenkins 强大的任务管理和插件支持能力。Jenkins 与 Kubernetes 的集成适用于需要频繁交付、高并发构建任务的团队,特别是在微服务架构或云原生开发环境中。
2024-12-27 12:00:00
1370
原创 Gitlab私服管理员账户忘记密码
记得密码设置的是******,但是登录时一直出现错误,查看初始的密码也发现由于已经设置过了密码,初始密码文件也被删除了,只能重置了。如果密码忘记了登录不进入,可以先尝试点击登录框下方的忘记密码来通过邮箱的方式找回,但是要是就这么找回了也就不会有这篇博客了。虽然我的Gitlab是容器化部署的,但基本流程都是一样的,并不影响,查看当前容器。进入gitlab控制台,如果卡住可以多等一会。接下来就可以返回gitlab登录界面重新登录。重置密码并保存用户对象(设置自己的密码代替。切换到git用户目录下。
2024-12-26 12:30:00
879
原创 Kubernetes快速部署(v1.31.4)
然后就是固定主机IP地址(略),设置主机名和地址映射,这里以一个master、一个worker为例。将系统升级到最新,可以使用阿里源镜像站,本教程使用CentOS7系统(考虑大量用户使用的版本)如果使用的是虚拟机最好不要拷贝,因为需要保证节点之中不可以有重复的主机名、MAC 地址或。,可以使用下面的方式对它们进行验证,还保证各个节点之间时钟同步。连接kubernetes集群,查看已运行节点,输出。应用资源清单文件,创建operator,注意使用。修改文件第13行,修改为使用。加入节点出现错误使用以下命令。
2024-12-26 12:00:00
1012
原创 SpringMVC的全注解开发
时,容器就会自动发现我们自己的类, 在该类中我们就可以配置 Spring 和 SpringMVC 的入口了。跟之前全注解开发思路一致,xml配置文件使用核心配置类替代,xml中的标签使用对应的注解替代。参照Spring的ContextLoaderListener加载核心配置类的做法,定义了一个。实现类,那么,当web容器启动时就会运行这个初始化器做一些组件内的初始化工作;目前,几乎消除了配置文件,但是web工程的入口还是使用的。接口,实现了该接口后,在对 应的类加载路径的。的类,Spring又提供了一个。
2024-12-25 12:30:00
505
原创 SpringMVC的响应处理
在讲解SringMVC接收请求数据时,客户端提交的Json格式的字符串,也是使用Jackson进行的手动转换成JavaBean ,可以当我们使用了@RequestBody时,直接用JavaBean就接收了Json格式的数据。@ResponseBody注解使用优化:在进行前后端分离开发时,Controller的每个方法都是直接回写数据的,所以每个方法上都得写@ResponseBody。,可以通过 @ResponseBody 注解显示告知此处的返回值不要进行视图处理,是要以响应体的方式处理的。
2024-12-25 12:00:00
1287
原创 SpringMVC的请求处理
手动将 RequestMappingHandlerMapping 也注册到 SpringMVC 容器中就可以了,这样 DispatcherServlet 在进行初始化时,就会从容器中同时获得 RequestMappingHandlerMapping 存储到 DispatcherServlet 中名为 handlerMappings 的 List 集合中,对@RequestMapping 注解进行解析。这么复杂繁琐的配置,是不是看上去有点头大?
2024-12-24 12:00:00
1890
原创 Spring整合第三方框架——自定义命名空间解析原理
1、Schema 文件(XSD 文件)定义自定义标签的语法和结构。用于约束配置文件中自定义标签的合法性。负责解析自定义命名空间的顶级标签。将自定义标签解析为对应的。负责解析具体的标签内容,将其转化为。4、Spring 提供的解析框架Spring 通过和文件注册解析逻辑。
2024-12-24 11:45:00
947
原创 Jenkins流水线
之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不同的方式设置,并且构建过程中整体流程是不可见的,无法确认每个流程花费的时间,并且问题不方便定位问题。Jenkins的Pipeline可以让项目的发布整体流程可视化,明确执行的阶段,可以快速的定位问题。并且整个项目的生命周期可以通过一个Jenkinsfile文件管理,而且Jenkinsfile文件是可以放在项目中维护。所以Pipeline相对自由风格或者其他的项目风格更容易操作。生成自定义镜像并推送到Harbor脚本pipeline {
2024-12-23 12:30:00
1771
原创 SpringMVC简介
SpringMVC是一个基于Spring开发的MVC轻量级框架,Spring3.0后发布的组件,SpringMVC和Spring可以无 缝整合,使用DispatcherServlet作为前端控制器,且内部提供了处理器映射器、处理器适配器、视图解析器等组 件,可以简化JavaBean封装,Json转化、文件上传等操作。以前单独就是一个框架与spring平级,现在只是作为一个spring的组件。
2024-12-23 12:00:00
1808
原创 MVC框架思想及其设计思路
原始Javaweb开发中,Servlet充当Controller的角色,Jsp充当View角色,JavaBean充当模型角色,后期Ajax异 步流行后,在加上现在前后端分离开发模式成熟后,View就被原始Html+Vue替代。负责共有行为的Servlet称之为前端控制器(DispatcherServlet),负责业务行为的JavaBean称之为控制器Controller。Java程序员在开发一般都是MVC+三层架构,MVC是web开发模式,传统的Javaweb技术栈实现的MVC如下。
2024-12-22 12:30:00
791
原创 Spring整合Web环境
我们能想到的 Spring 框架自然也会想到,Spring其实已经为我们定义 好了一个ContextLoaderListener,使用方式跟我们上面自己定义的大体一样,但是功能要比我们强百倍,所以 ,遵循Spring “拿来主义” 的精神,我们直接使用Spring提供的就可以了。Spring容器也重复被创建了,不能每次想从容器中获得一个Bean都得先创建一次容器,这样肯定是不允许。如果需要使用这种方式封装框架,还需要考虑上述代码有多处写死的部分,及其冗余,最好定义一个工具类进行封装。
2024-12-22 12:00:00
1234
原创 Spring基于XML配置声明式事务
基于 XML 配置声明式事务适用于老项目或对注解支持有限的环境,但在现代开发中,更多项目倾向于使用注解(如)来实现声明式事务。等价的注解配置文件import com/*** 配置数据源} /*** 配置 SqlSessionFactory} /*** 配置事务管理器。
2024-12-21 12:30:00
1088
原创 Jenkins集成Harbor
前面在部署项目时,我们主要采用Jenkins推送jar包到指定服务器,再通过脚本命令让目标服务器对当前jar进行部署,这种方式在项目较多时,每个目标服务器都需要将jar包制作成自定义镜像再通过docker进行启动,重复操作比较多,会降低项目部署时间。我们可以通过Harbor作为私有的Docker镜像仓库。让Jenkins统一将项目打包并制作成Docker镜像发布到Harbor仓库中,只需要通知目标服务,让目标服务统一去Harbor仓库上拉取镜像并在本地部署即可。
2024-12-21 12:00:00
1929
原创 Jenkins集成SonarQube
Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来Sonar Qube的UI界面。
2024-12-20 12:30:00
1690
原创 CI、CD入门操作
基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署。
2024-12-20 12:00:00
144
原创 Jenkins(Integrate工具)
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现DevOps的核心工具。Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。常态下的Jenkins像个管家安装了大量插件后就会变得很强大Jenkins最主要的工作就是将GitLab上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发布到测试环境或是生产环境。
2024-12-19 12:30:00
1119
原创 GitLaba安装(Code阶段工具)
在编码阶段,我们需要将不同版本的代码存储到一个仓库中,常见的版本控制工具就是SVN或者Git,这里我们采用Git作为版本控制工具,GitLab作为远程仓库。
2024-12-19 12:00:00
691
原创 DevOps介绍
基于现在的互联网现状,更推崇敏捷式开发,这样就导致项目的迭代速度更快,但是由于开发团队与运维团队的沟通问题,会导致新版本上线的时间成本很高。这又违背的敏捷式开发的最初的目的。最终可以给DevOps下一个定义:DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。DevOps的方式可以让公司能够更快地应对更新和市场发展变化,开发可以快速交付,部署也更加稳定。虽然字面意思只涉及到了开发团队和运维团队,其实QA测试团队也是参与其中的。
2024-12-18 12:30:00
554
原创 Docker集成Containerd实现容器管理
目前Containerd主要任务还在于解决容器运行时的问题,对于其周边生态还不完善。所以可以借助Docker结合Containerd来实现Docker完整的功能应用。修改Docker服务文件,以便使用已安装的Containerd。能够查看到一个正在运行的容器,既表示。准备Docker安装YUM源。再观察,发现容器被删除。安装Docker-ce。启动并设置其开机自启动。命令查看正在运行的容器。,本案例中发现添加一个。运行的容器包含在其中。已经成功使用我们自己的。查看是否添加一个新的。
2024-12-18 12:00:00
130
原创 Containerd容器共享命名空间
当需要与其它Containerd管理的容器共享命名空间时,可使用如下方法。命令发现目前有两个进程存在。发现进程确实是共享的关系。查看运行中的容器,使用。
2024-12-17 12:30:00
200
原创 Containerd容器数据持久化存储
在宿主机上查看被容器挂载的目录中是否添加了新文件,已添加表明被容器挂载成功,并可以读写此目录中内容。实现把宿主机目录挂载至Containerd容器中,实现容器数据持久化存储。向容器中挂载目录中添加文件后退出容器。进入容器,查看是否挂载成功。
2024-12-17 12:00:00
461
原创 Containerd Network管理
默认Containerd 管理的容器仅有lo网络,无法访问容器之外的网络,可以为其添加网络插件,使用容器可以连接外网 CNI(Container Network Interface)。
2024-12-16 12:30:00
1549
原创 Containerd NameSpace管理
删除 namespace,删除的前提条件是在此命名空间下没有任何的数据,包括:静态容器、镜像、快照等。的 namespace,当我们不指定时就是使用这个默认的命名空间。中创建静态容器,使用的镜像一定是在当前命名空间中的。的作用为:隔离运行的容器,可以实现运行多个容器。的全局选项(global options),加上。列出已有 namespace,发现一个。查看新创建的 namespace。创建 namespace。中是否有用户进程在运行。
2024-12-16 12:00:00
153
原创 配置Containerd使用Harbor仓库
上传到Harbor library公有项目,重新生成新的。修改 containerd 主配置,编辑。从Docker Hub下载容器镜像。服务,以便于重新加载配置文件。部分,设置私有仓库地址。创建私有仓库配置目录及文件。指定系统平台,也可以使用。推送容器镜像至Harbor。宿主机上添加此配置信息。
2024-12-15 12:45:00
1346
原创 Containerd容器管理
这个 container 对象只是包含了运行一个容器所需的资源及配置的数据结构,例如:namespaces、rootfs 和容器的配置都已经初始化成功了,只是用户进程(本案例为nginx)还没有启动。不再使用创建静态容器---->启动静态容器,而是使用直接运行一个动态容器的方式。只要是运行中的容器都可以算是一个任务,都有着进程ID(PID),命令创建容器后,容器并没有处于运行状态,其只是一个静态的容器。,即表时在容器中运行了进程,即为动态容器。命令停止容器中运行的进程,既为停止容器。
2024-12-15 12:00:00
1126
原创 Containerd容器镜像管理
containerd支持OCI标准的镜像,所以可以直接使用docker官方或Dockerfile构建的镜像。,导出所有平台镜像,本版本为1.7版本,1.4版本不需要添加此选项。如果不指定导出所有平台则只会导出当前平台的镜像,大小就变得很小了。把已下载的容器镜像挂载至当前文件系统,方便查看镜像中包含的内容。说明:这里ctr命令pull镜像时,不能直接把镜像名字写成。指定平台下载容器镜像,不指定的话会根据系统平台自行选择。根据REF删除指定容器镜像,使用。删除后再次查看容器镜像。查看修改后的容器镜像。
2024-12-14 12:45:00
666
原创 Containerd安装
由于二进制包中提供的runC默认需要系统中安装seccomp支持,需要单独安装,且不同版本runC对seccomp版本要求一致,所以建议单独下载runC二进制包进行安装,里面包含了seccomp(安全计算)模块支持。目录中,本次可仅复制containerd一个文件也可复制全部文件。安装Containerd.io软件,即可安装Containerd。目录,主要为containerd服务管理配置文件及。目录,里面包含containerd运行时文件。文件,了解containerd文件安装位置。
2024-12-14 12:00:00
1494
原创 Containerd介绍
早在2016年3月,Docker 1.11的Docker Engine里就包含了Containerd,而现在则是把 Containerd 从Docker Engine里彻底剥离出来,作为一个独立的开源项目独立发展,目标是提供一个更加开放、稳定的容器运行基础设施。和原先包含在Docker Engine里 Containerd 相比,独立的Containerd将具有更多的功能,可以涵盖整个容器运行时管理的所有需求。
2024-12-13 16:02:12
642
原创 基于Docker容器DevOps应用方案
Jenkins主页会提示为了确保管理员安全地安装 Jenkins,密码已写入到日志中,让我们使用如下命令查看。第五步:jenkins通过ssh插件完成对web-server进行运行容器应用镜像的操作。第三步:jenkins使用docker对编译完成的项目代码进行打包,打包成容器应用镜像。在jenkins-server主机上配置,验证系统中是否有jenkins用户。如果我们使用的是自定义下载的jdk需要对Jenkins中的配置作替换。用于jenkins-server对web-server实施项目部署。
2024-12-13 13:49:24
1605
1
原创 Docker Swarm实战
Docker Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。是docker host集群管理工具docker官方提供的docker 1.12版本以后用来统一集群管理的,把整个集群资源做统一调度比kubernetes要轻量化实现scaling 规模扩大或缩小。
2024-12-11 17:06:27
1525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人