- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 Java 常用开发总结
我是梅小西,最近在某东南亚电商公司做 DevOps 的相关事情。从本期开始,将陆续分享基于 Jenkins 的 CI/CD 工作流,包括 Jenkins On k8s 等。本文由博客群发一文多发等运营工具平台。
2023-09-29 17:17:25 81 1
原创 Shell 编程常用参考
我是梅小西,最近在某东南亚电商公司做 DevOps 的相关事情。从本期开始,将陆续分享基于 Jenkins 的 CI/CD 工作流,包括 Jenkins On k8s 等。字符串比较,直接用 ==、!=、>、< 等符号即可,两边需要有空格。本文由博客群发一文多发等运营工具平台。
2023-07-12 13:33:14 97 2
原创 Linux 常用脚本
参考:https://www.baeldung.com/linux/join-multiple-lines。不过 tr 命令有个缺点,末尾还多了个逗号","。
2023-04-21 23:39:50 78
原创 用了 Intellij idea 这些插件和高效配置后,写代码快得飞起来,再也不用 996 加班了
0. 背景作为一个 Java 程序员,我相信,绝大多数同学日常都是用 idea 来写代码。Idea 作为宇宙第一 Java IDE,提供了丰富、强大的功能,可以让你写 Java 代码快得飞起来。遗憾的是,很多人都不知道怎么开启 idea 隐藏的强大功能。下面博主将带你一起,探究 idea 背后那些强大到逆天的功能。特别说明:本文所有实操基于 Mac OSX 系统,其他操作系统(如 Windows,Linux 等)没有实践过,不做讲解。非特别说明:虽然文章标题有点『标题党』的嫌疑,但是内容
2022-05-27 00:22:06 691 1
原创 Jenkins 强制停止 job 执行
0.背景某天,Jenkins 运维支持群里,有同学反馈说,点击 job 页面的取消执行按钮不生效,job 执行停不下来。收到这个反馈后,我自己也试了下,发现确实点页面取消按钮不管用,点了好几次,job 执行就是停不下来。跟 SRE 同学咨询了下,原来是 Jenkins 因为磁盘故障,发生了重启。Jenkins 的 job 在重启后,会默认恢复执行,可能是因为重启后,数据状态错乱了,导致 job 执行无法被取消。然而用户又有这种需求,怎么处理呢?看了下网上有人说需要重启 Jenkins,kill 进
2022-05-21 22:20:28 5461 3
原创 Java线程数过多解决之路——利用Arthas解决Jenkins线程数飙升问题
0. 背景Jenkins是基于Java开发的一款持续集成工具,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。同时,Jenkins 提供了数量庞大的各种插 件,以满足用户对于持续集成相关的需求。比如 Jenkins 提供的influxdb 插件,可以将构建执行步骤、耗时、结果等数据,发送到 influxdb 数据库,便于后期对构建数据进行分析和展示。Jenkins在公司内部,被广泛用于各类项目的持续集成工作,支撑3000+项目、每日近万次构建。Jenkins是CI/CD的核心链路和重要环节
2022-05-21 16:58:11 1383
原创 Charles 抓包 Idea IntelliJ 的 HTTPS 请求
默认情况下,Idea IntelliJ 的https请求,不会被 Charles 抓包抓到的。本文将介绍如何通过 Charles 来抓包Idea IntelliJ 的https请求。1 安装 证书到 JVMCharles 默认可以安装证书到 JVM,安装步骤如下:Help -> SSL Proxying -> Install Charles Root Certificate In Java VMs如下图:注意:Charles默认代理端口是8888,如果你设置的代理端口不是8888
2022-05-21 13:39:22 2033
原创 Java 使用 HttpClient 发送带用户名密码认证的 GET 和 POST 请求
概述日常工作中,我们经常会有发送 HTTP 网络请求的需求,概括下我们常见的发送 HTTP 请求的需求内容:可以发送基本的 GET/POST/PUT/DELETE 等请求;HTTP请求,可以附带认证,包括基本的 用户名/密码 认证,以及 Bearer Token 认证;请求可以自定义 超时时间;HTTP请求可以带参数,也可以不带参数;HTTP请求返回结果,可以直接传入一个 Class,这样结果就不用二次解析;请求的路径可以是 url,也可以是 Uri;针对以上常见的 HTTP 请求,在
2022-05-21 13:28:26 5202
原创 Jira Java SDK 更改jira issue状态
最近项目要操作jira的issue,比如获取issue,更改issue状态为Done等操作,Google了下,jira官网提供了sdk,废话不多说,直接看代码。1 引入maven依赖<dependency> <groupId>com.atlassian.jira</groupId> <artifactId>jira-rest-java-client-core</artifactId> <version>
2022-05-21 13:22:51 1285 2
原创 图文讲解LeetCode19—删除链表的倒数第 N 个结点
题目描述原题链接参见:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ ,即:删除链表的倒数第 N 个结点。举例来说,假设我们的链表是:1 -> 2 -> 3 -> 4 -> 5要求删除倒数第2个结点,也就是结点4,那么链表将变成:1 -> 2 -> 3 -> 5另外,题目要求我们尽量使用一趟扫描实现。问题分析这个题跟求倒数第K个结点很类似,也是用快慢指针,即
2022-05-21 12:31:13 207
原创 Jenkins Shared Library 添加第三方包支持
背景我们在写 Jenkins 的 Shared Library 时,有时候需要引用外部的一些 jar 包,比如 maven central 的一些 lib 等。具体到我们的例子,需要引用 Gson 做 json 序列化。问题我们的 Shared Library 中有如下代码,用到了 Gson:import com.google.gson.Gson/** * @author wxweven */class JsonUtils { static final Gson GSON = n
2022-05-21 12:04:53 378
原创 Jenkins 获取构建队列排队时间 queueDuration
背景我们最近在对 Jenkins 的构建做一些监控,包括 build 时长、队列排队时长、构建结果(成功/失败/abort)等数据。我们在 Jenkins Shared Library 中获取这些数据,然后通过 HTTP 请求的方式,回调给另外一个监控 Server。Build 时长、构建结果(成功/失败/abort)等数据,相对好获取,在 Jenkins 的全局变量参考中,有相应的说明:访问链接如下:http://localhost/job/test-job/pipeline-syntax/gl
2022-05-21 11:49:04 1610
原创 Java 程序 CPU 使用率过高问题定位与修复
问题现象:CPU 负载过高我们线上的 jenkins 系统,时不时会发生 CPU 负载过高的现象。CPU 负载过高后,SRE 同学会收到电话告警。在我们的监控系统中,可以看到,某些时候,CPU 的负载确实会很高,如下图:问题排查Jenkins 系统本身是一个 Java 程序,应对 Java 程序导致的 CPU 使用率过高这一问题,GitHub 上有现成的解决方案:show-busy-java-threads。下载链接如下:GitHub:show-busy-java-threadsGite
2022-05-20 23:46:56 2984
原创 Jenkins Shared Library 添加第三方包支持
背景我们在写 Jenkins 的 Shared Library 时,有时候需要引用外部的一些 jar 包,比如 maven central 的一些 lib 等。 具体到我们的例子,需要引用 Gson 做 json 序列化。问题我们的 Shared Library 中有如下代码,用到了 Gson:import com.google.gson.Gson/** * @author wxweven */class JsonUtils { static final Gson G..
2022-05-20 23:42:35 603
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人