自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 Spring Security中配置AccessDeniedHandler没有生效

在 WebSecurityConfigurerAdapter 配置了如下代码:// 自定义未授权和未登录异常http.exceptionHandling() .accessDeniedHandler(new RestAccessDeniedHandler()) .authenticationEntryPoint(new RestAuthenticationEntryPoint());在 Controller 层 REST 接口中添加有 @PreAuthorize

2021-10-27 10:09:40 3050 4

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

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

2021-10-17 11:58:12 2129 2

原创 Jenkins 进阶篇 - 任务关联

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

2021-09-22 19:55:44 1332

原创 Jenkins 进阶篇 - 参数化构建

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

2021-07-27 09:29:44 4563

原创 Jenkins 进阶篇 - 权限案例实践

为了演示方便,我这里创建了如下的一些任务,各个任务由包含在对应的目录中树形结构大概如下:jenkins-authority 目录类型任务├── dev-project-group 目录类型任务│ ├── dev-account-service 自由风格任务│ └── dev-message-service 自由风格任务├── prod-project-grou

2021-07-21 21:30:53 252 3

原创 Jenkins 进阶篇 - 权限配置

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

2021-07-13 07:25:28 1240

原创 Jenkins 进阶篇 - 节点配置

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

2021-06-25 16:34:58 3460 1

原创 Jenkins 进阶篇 - 数据备份

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

2021-06-17 07:52:45 801

原创 Jenkins 基础篇 - 任务创建

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

2021-06-02 07:36:25 999

原创 Jenkins 基础篇 - 凭证配置

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

2021-05-30 09:41:25 2117

原创 Jenkins 进阶篇 - SonarQube 安装

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

2021-05-29 19:10:55 785 2

原创 Jenkins 基础篇 - Server 配置

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

2021-05-25 16:14:11 1719

原创 Jenkins 基础篇 - 插件安装

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

2021-05-23 10:28:26 1220

原创 Jenkins 基础篇 - 任务分类

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

2021-05-22 08:16:08 2069

原创 Jenkins 基础篇 - 小试牛刀

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

2021-05-20 21:29:57 928

原创 Windows配置Nodejs环境

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

2021-05-15 09:12:36 1571

原创 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 10:52:45 1520

原创 Windows安装MySQL

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

2021-05-13 17:15:26 1617

原创 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-12 21:09:46 1556

原创 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-12 09:26:39 2121 1

原创 UbuntuServer16.04安装配置LAMP

LAMP 方案是一系列自由和开源软件的集合,包含了 Linux、Web 服务器 (Apache)、 数据库服务器 (MySQL / MariaDB) 和 PHP (脚本语言)。LAMP 是那些需要安装和构建动态网页应用的基础平台,比如WordPress、Joomla、OpenCart 和 Drupal。在这篇文章中,我将描述如何在 Ubuntu Server 16.04 LTS 上安装 LAMP,众所周知 Ubuntu 是一个基于 Linux 的操作系统,因此它构成了 LAMP 的第一个部分,在接下来的

2021-05-10 14:59:36 1716

原创 UbuntuServer16中文版安装失败

在虚拟机中安装UbuntuServer16中文版经常失败,提示无法安装busybox-initramfs。安装失败提示如下图:出现这个问题是Ubuntu中文汉化不全造成的,有两种方式解决这个问题:方式一:1、安装时第一步选择语言时,先选择English。2、下一步后选择Chinese,后面凡是选择语言就选中文。3、后面其他步骤正常安装即可,这样就不会出现上面那种安装失败的提示。方式二:1、在安装UbuntuServer出现选择安装的画面后,按F6进行其他选项设置,..

2021-05-10 07:35:40 2696

原创 Jenkins 基础篇 - 基础设置

站点设置刚搭建好 Jenkins 环境,你还需要做一些简单设置,让我们的 Jenkins 看起来是这么一回事,特别是你要用于生产环境的时候。首先就是域名配置,如果你为 Jenkins 服务分配了一个域名,通过 Nginx 反向代理的方式来访问 Jenkins 服务的话,当你访问 Jenkins 的【系统管理】界面时就会看到如下警告,提示反向代理设置有误,当前安装的下列组件已有警告发布:我们需要去到【系统配置】里面做下设置,将 Jenkins URL 由之前默认的 IP 修改成域名:还是在

2021-05-07 20:13:17 2131

原创 Jenkins 基础篇 - 安装部署

Jenkins 安装Jenkins 支持主流的 Linux 发行版系统,同时还支持 macOS、Windows、和 Docker 运行。 具体系统的 Jenkins 安装包可以去官网下载 https://www.jenkins.io/download。作为运行在生产环境,推荐在 CentOS 中安装,目前容器技术也非常流行,在 Docker 中运行 Jenkins 也是不错的选择。接下来将会演示在 CentOS 和 Docker 中运行 Jenkins 服务。Jenkins 的版本迭代非常快,插

2021-05-07 14:41:10 1780

原创 Jenkins 基础篇 - 环境准备

前期准备为了开发这套课程,我专门购买了一台二手戴尔服务器 Dell R720,同时把废弃多年的笔记本电脑也利用了起来。当然如果自己没有多余的电脑,也可以在自己电脑上安装 Vmware Workstation,然后再安装虚拟的方式来实现有几台虚拟服务器。如果自己有多余的旧电脑,并且是2个核心8G以上内存,可以尝试安装 VMware vSphere Hypervisor (ESXi) 的方式来管理虚拟机。Vmware Workstation 或者 VMware vSphere Hypervisor (E

2021-05-06 10:46:35 1703

原创 WordPress提示“您的密码重设链接无效”

在使用Wordpress密码找回功能及新用户注册邮件中的重置密码链接时,Wordpress提示“您的密码重设链接无效,请在下方请求新链接。”、“该key似乎无效”、“invalid key”。这个其实不是wordpress的问题,邮箱收到邮件后,会将密码重置链接地址及其前后的“),例如把鼠标移到下图的红色框的连接上,并看到浏览器左下角的URL提示连接,会发现多了一个“>

2017-02-27 09:52:31 3259 7

原创 在ZendStudio中增加新的PHP模板

在ZendStudio中增加新的php模板

2016-03-13 15:47:46 1790

CKFinder,CKFinder的java版

CKFinder,CKFinder破解版,CKFinder解决中文路径和乱码问题,采用时间戳的方式重命名文件和图片。这是java版,需要PHP版的请留言。

2016-05-08

Android软件、Java、jar反编译工具

Android软件apk反编译,对于Android开发者非常有用,但是,请只用于开发学习研究,不能用于商业,更不能用来反编译别人的apk后用于商业目的。

2015-05-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除