心如光
码龄12年
求更新 关注
提问 私信
  • 博客:61,679
    61,679
    总访问量
  • 27
    原创
  • 5
    粉丝
  • 181
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
加入CSDN时间: 2014-04-05

个人简介:现居成都,从事互联网医疗行业,兼并后端开发与服务器运维,公司内部DevOps践行者,擅长Java技术栈,专注Java微服务与容器技术。

博客简介:

编程札记

查看详细资料
个人成就
  • 获得34次点赞
  • 内容获得20次评论
  • 获得64次收藏
  • 博客总排名334,838名
创作历程
  • 25篇
    2021年
  • 1篇
    2017年
  • 1篇
    2016年
成就勋章
TA的专栏
  • Spring Boot
    1篇
  • Spring
    1篇
  • Jenkins 持续集成实战
    17篇
  • Windows
    1篇
  • Nodejs
    1篇
  • MySQL
    3篇
  • Linux
    4篇
  • 技术开发
    2篇
  • WordPress
    1篇
  • 技术分享
    1篇

TA关注的专栏 20

TA关注的收藏夹 0

TA关注的社区 8

TA参与的活动 0

兴趣领域 设置
  • 大数据
    mysql
  • 后端
    架构
  • 人工智能
    机器学习深度学习数据分析
  • 搜索
    elasticsearch
  • 运维
    jenkinsdevops自动化运维开发
  • 服务器
    linux
创作活动更多

【重磅活动】DeepSeek V4 实力破圈!邀你共赴“深度测评挑战赛”

千亿参数再进化,MoE 架构重塑推理边界。 这一次,我们不再只是“用模型”,而是深入理解它,用技术深度挑战 AI 极限。 距离 DeepSeek V3 发布仅过去数月,全新升级的 DeepSeek V4 正式亮相!更强的代码生成、更复杂的逻辑推理、更精准的多模态理解……面对这波“王炸”升级,你是否已经跃跃欲试? CSDN 发起 **【DeepSeek V4 · 实力破圈深度测评挑战赛】** !我们诚挚邀请每一位开发者、技术博主、AI 发烧友加入这场技术狂欢。你可以从实战角度撰写深度测评,也可以挖掘底层架构的创新亮点。只要你有干货、有思考,这里就是你分享洞见的舞台! ---

156人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Spring Security中配置AccessDeniedHandler没有生效

在 WebSecurityConfigurerAdapter 配置了如下代码:// 自定义未授权和未登录异常http.exceptionHandling() .accessDeniedHandler(new RestAccessDeniedHandler()) .authenticationEntryPoint(new RestAuthenticationEntryPoint());在 Controller 层 REST 接口中添加有 @PreAuthorize
原创
博文更新于 2021.10.27 ·
3445 阅读 ·
0 点赞 ·
4 评论 ·
5 收藏

Jenkins 进阶篇 - 单元测试覆盖率

我们做项目开发,肯定免不了要写单元测试,不管是 Java 项目、Python 项目、PHP 项目,甚至是 nodejs 项目,都应该要写单元测试,本小节就来介绍单元测试的覆盖率报告输出和展示,在后面的章节中我会介绍代码质量网关 Sonarqube 的使用。我们的项目在构建时就可以运行单元测试并输出覆盖率的测试报告,Jenkins 也早就考虑到这些事项,我这里以 Java 项目为例子,为了便于直观地展示单元测试覆盖率报告我们要安装一个 Jenkins 插件 JaCoCo。不会安装 Jenkins 插件
原创
博文更新于 2021.10.17 ·
3098 阅读 ·
1 点赞 ·
2 评论 ·
8 收藏

Jenkins 进阶篇 - 任务关联

有时候我们的一个任务里面会进行很多的步骤,例如构建一个后端的 Java 服务,可能会有代码静态扫描,静态扫描通过后会打包成 jar 或者 war 文件,打包成功后可能还会对制品进行存档备份,然后可能会制作容器镜像……,这些所有的内容完全可以在一个任务中完成,也可以拆分成多个任务分步骤进行。但是将复杂任务拆分成多个任务后,会有一些附带的其他问题,可能没法很好地利用 Jenkins 的多节点优势,当你的第二个任务要使用第一个任务的工作空间的文件时,你必须要确保这两个任务要在同一个 Jenkins 节点上执行,因
原创
博文更新于 2021.09.22 ·
2223 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

Jenkins 进阶篇 - 参数化构建

我们在构建任务时经常会遇到这样的情景,一个任务配置好了以后,在后面的构建过程中,又会修改一些配置。例如,我们构建项目的代码可能是拉取指定的分支或者是Tag进行构建,又或者是在构建是需要指定特定的运行平台,如果我们每次构建任务时去修改配置,这就太麻烦了,有没有可能通过参数进行控制,而不用去修改任务的配置呢?这样的需求太常见,Jenkins 肯定是能满足的。Jenkins 默认已经支持的参数类型有:凭据参数、字符参数、密码参数、布尔参数、文件参数、选项参数等,其中最常用的是字符参数、密码参数、布尔参数和选项
原创
博文更新于 2021.07.27 ·
6814 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

Jenkins 进阶篇 - 权限案例实践

为了演示方便,我这里创建了如下的一些任务,各个任务由包含在对应的目录中树形结构大概如下:jenkins-authority 目录类型任务├── dev-project-group 目录类型任务│ ├── dev-account-service 自由风格任务│ └── dev-message-service 自由风格任务├── prod-project-grou
原创
博文更新于 2021.07.21 ·
392 阅读 ·
1 点赞 ·
3 评论 ·
0 收藏

Jenkins 进阶篇 - 权限配置

Jenkins的授权策略Jenkins 默认的授权策略是【登录用户可以做任何事】,也就是人人都是管理员,可以修改所有的设置以及构建所有的任务,不用做任何设置,有账号登录到 Jenkins 系统即可,这对于测试研究 Jenkins 来讲是不错的,但将这种策略用于生产环境绝对不是我们想要的。试想一下,原本很多的 Jenkins 配置信息已经设置好了,结果来了一个新手,由于不是很会使用 Jenkins,结果把 Jenkins 的设置打乱了,如果没有文档记录的话,你都不知道之前是怎么设置的。同样的,有些任务不是
原创
博文更新于 2021.07.13 ·
2631 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

Jenkins 进阶篇 - 节点配置

当我们使用 Jenkins 构建的项目达到一定规模后,一个 Jenkins 服务可能承受不了负载,会导致很多的构建任务堆积,严重的话还会拖垮这台服务器,导致上面的服务无法使用。例如我们公司目前在 Jenkins 上要构建的项目多达百个,开发环境需要构建部署,测试环境需要构建部署,甚至正式环境也是,开发环境的部署构建频率是最高的,我们目前的做法是每一个代码的提交都会触发构建操作,单个 Jenkins 已经满足不了频繁的构建的要求了,这时候就需要增加我们 Jenkins 的构建节点,由主节点自己进行调度,将构建
原创
博文更新于 2021.06.25 ·
4123 阅读 ·
3 点赞 ·
1 评论 ·
8 收藏

Jenkins 进阶篇 - 数据备份

随着我们的长期使用,Jenkins 系统中的内容会越来越多,特别是一些配置相关的东西,不能有任何丢失。这个时候我们就需要定期备份我们的 Jenkins 系统,避免一些误操作不小心删除了某些重要文件,Jenkins 的备份工具就是一剂后悔药。要对 Jenkins 系统进行备份,本质上是对 Jenkins 的文件和目录进行备份,如果没有做特殊设置的话也就是 Jenkins 的安装目录 /var/jenkins_home,知道这个原理后就简单了,我们可以写个 Shell 脚本,在脚本中对 Jenkins 目录
原创
博文更新于 2021.06.17 ·
1050 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

Jenkins 基础篇 - 任务创建

前面了解了 Jenkins 上各种任务的区别后,我们就来实践应用下,先创建一个【文件夹】类型的任务,将我们目前的一些基础的演示任务【移动】到文件夹里面去,这样可以先做个简单的分类。新建一个【文件夹】类型的任务,名称为 Jenkins-Basic:可以看到【文件夹】类型的任务可配置的内容很少,不做特殊设置,默认即可:然后我们将前面的演示项目移动到这个文件夹下面:接下来我们将做个实战任务,演示任务的构建、打包、上传、部署等操作,以及详细解析任务的各个配置阶段。新建一个【构建一
原创
博文更新于 2021.06.02 ·
1668 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Jenkins 基础篇 - 凭证配置

我们在正式开始使用 Jenkins 之前还要先配置一些凭证,这些凭证的作用主要是用于认证,例如我们要从代码仓库拉取代码,就需要用到代码仓库的账号密码或者密钥;我们要登录远程服务器也需要用户名密码或者密钥文件;使用一些第三方平台会用到一些 AppId,AccessKey 之类的用于认证授权的信息,这些东西都可以统称为凭证,目前 Jenkins 支持如下类型的凭证:Username with password GitHub App SSH Username with private key Secre
原创
博文更新于 2021.05.30 ·
2450 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Jenkins 进阶篇 - SonarQube 安装

SonarQube 之前的名称 Sonar(声纳),是一个 Java 语言实现的开源代码质量管理系统,专门用于持续集成分析和测量代码的质量。如果你希望扩展 SonarQube 平台可以通过开源的插件来实现,或者也可以自己开发插件然后集成到 SonarQube 中。如果你还没用过 SonarQube 系统,接下来跟着我来安装和使用 SonarQube 系统吧。我们依旧还是采用 Docker 容器来运行我们的 SonarQube 系统,SonarQube 默认采用内嵌数据库 H2,可用于测试研究,如果...
原创
博文更新于 2021.05.29 ·
960 阅读 ·
2 点赞 ·
2 评论 ·
1 收藏

Jenkins 基础篇 - Server 配置

我们使用 Jenkins 部署服务之前要先配置我们的目标服务器,配置目标服务器也很简单,就是将服务器的 IP、账号密码或者账号密钥配置在 Jenkins中。在演示服务器配置之前我们要先知道 Linux 系统中的用户和用户组,最主要的要知道怎么创建用户。下面我们将介绍如何在 Linux 系统中创建用户,以及如何将用户添加到组,我们还将展示如何从组中删除用户以及如何创建,删除和列出组。要向一个群组添加用户,我们要以具有 sudo 访问权限或 root 用户身份登录。Linux 组是组织单位,用于组织和管理.
原创
博文更新于 2021.05.25 ·
2339 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Jenkins 基础篇 - 插件安装

这一小节主要介绍 Jenkins 插件的安装,登录到 Jenkins 后,依次进入到【系统管理】→ 【插件管理】→ 【可选插件】,在这里可以看到所有的 Jenkins 插件,如下图:我们在最开始安装 Jenkins 的时候也会让我们选择【安装推荐的插件】或者【选择插件来安装】,那时安装的是一些 Jenkins 基础的需要的插件,在本书的后面讲解中会用到一些其他插件,这里就先讲解插件的安装,当然你也可以选择在到后面需要用到的时候再安装。我这里自己平时用到的插件大概如下,也推荐各位在使用的时候安装上
原创
博文更新于 2021.05.23 ·
1425 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Jenkins 基础篇 - 任务分类

从前面的小节中我们看到在创建 Jenkins 任务的时候有好几种类型,如果你专门安装了 Maven 相关插件,可能还会有一个【构建一个 maven 项目】的任务类型,那这些任务类型究竟有何区别,以及我们在创建任务时这些类型该如何选择呢?各个类型的具体区别其实看描述就能有个大概的了解,我这里就不重复描述了,最有效的做法就是每种类型的任务都建立几个,测试下看看有什么差异,这种方式很快就会了解不同类型任务的功能特性。我这里主要介绍下【构建一个自由风格的软件项目】、【流水线】、【文件夹】这三种类型。构
原创
博文更新于 2021.05.22 ·
2725 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Jenkins 基础篇 - 小试牛刀

现在我们来创建一个简单的 Jenkins 任务,这个任务输出 Java 版本信息和系统信息,通过这个任务我们先了解创建 Jenkins任务的流程,以及了解一些对任务的基础设置,接下来就是演示任务的整个创建过程。如下两个地方都是新建任务的入口:常见一个名称为 jenkins-freestyle-test-task 的任务,填入任务名称,选择【构建一个自由风格的软件项目】,【确定】后就进入任务的设计界面:在任务设置的【描述】这里填入我们对这个任务说明信息,在【构建】这里点击【增加构建步骤】.
原创
博文更新于 2021.05.20 ·
1074 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Windows配置Nodejs环境

下载程序官网下载Node安装包,或者中国国内到这里下载。可执行程序安装NodeWindows 系统下载对应版本的 msi 安装包后,双击安装即可,新版的Node会自动将node添加到系统变量。安装成功后就可以使用node命令和npm命令。至此,node算是安装完成。便携Zip包安装Node如果不想利用 msi 安装包进行安装,可以下载zip文件采用离线配置的方式安装。下载zip文件,解压到自己的目录例如,我这里是 D:\SoftWare
ode将node目录配置到环境变量
原创
博文更新于 2021.05.15 ·
1856 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Windows配置安装JDK

新建环境变量JAVA_HOME,值为JDK路径。我的配置:JAVA_HOME: C:\Program Files\Java\jdk1.8.0_101新建CLASSPATH环境变量,值为一下内容:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;注意前面有个点号,我的配置:CLASSPATH: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;然后在path后面追加%JA
原创
博文更新于 2021.05.14 ·
1587 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Windows安装MySQL

1、MySQL官网下载需要的MySQL版本。2、两种安装方式:第一种方式,直接双击安装根据提示操作即可。 第二种方式,下载zip压缩格式进行安装。本次讲解此种安装方式。3、解压zip文件到自己喜欢的地方。我这里解压后在 C:\Program Files\MySQL目录下。根据自己需要将MySQL根目录下的其中一个ini文件复制一份,并改名为 my.ini如果有特殊需求,需要编辑my.ini文件作相应配置。例如我这里需要配置MySQL数据库的默认字符集。配置如下:在[cl...
原创
博文更新于 2021.05.13 ·
1699 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Ubuntu安装MySQL

安装MySQL安装MySQL:sudo apt-get updatesudo apt-get install mysql-server配置MySQL:sudo mysql_secure_installation检查是否安装成功:systemctl status mysql.service如果出现以下内容则安装成功: *其他内容 *Active: active (running) *其他内容 *Started MySQL Comm
原创
博文更新于 2021.05.13 ·
1625 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

CentOS7安装MySQL

MySQL官网下载所需版本去到 MySQL 官网下载自己所需要的 MySQL 版本,官网地址:https://dev.mysql.com/downloads/repo/yum/,或者用wget命令下载:wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm注意:wget没安装的话需要先安装wget:sudo yum install -y wget最好做一下和校验:md5sum my.
原创
博文更新于 2021.05.13 ·
2231 阅读 ·
1 点赞 ·
1 评论 ·
9 收藏
加载更多