
- /
- Posts/
Posts


靠谱:在不删除和重建 GitHub 仓库的情况下与父(Fork)仓库分离(Unfork)
本文介绍了如何通过 GitHub Support 实现与父仓库的分离,避免删除和重建仓库带来的数据丢失问题,帮助开发者更好地管理 Fork 的仓库。

在 Jenkins 上用了这么久的 Groovy,是时候认识一下它了
Groovy 是一种强大的动态语言,适用于 Java 平台,本文介绍了 Groovy 的特性、与 Java 的区别以及在 Jenkins 中的应用场景。

已解决 - The Pip Inspector tree parse failed to produce output
·524 字·2 分钟
本文介绍在 Black Duck Detect 中出现 “The Pip Inspector tree parse failed to produce output” 错误的原因分析及解决方法。

2022 年最值得关注的 DevOps 趋势和问答
·1993 字·4 分钟
本文介绍了2022年DevOps领域的主要趋势,包括无服务器计算、微服务架构、Kubernetes的普及以及DevSecOps的兴起,并回答了一些关于DevOps行业的问题。

Vagrant 和 Docker 的区别,该如何选?
本文介绍了 Vagrant 和 Docker 的区别,分析了它们各自的使用场景和优势,帮助读者选择合适的工具来管理虚拟机或容器。

什么是 Vagrant? Vagrant 和 VirtualBox 的区别
·1346 字·3 分钟
本文介绍了 Vagrant 的概念、发展历史以及如何使用 Vagrant 创建和管理虚拟机,强调了 Vagrant 相比传统虚拟机的优势。

什么是 Go ?Go 的优势和现状。初学者应该学习 Python 还是 Go?
本文介绍了 Go 语言的基本概念、优势、排名以及初学者应该如何选择学习 Python 还是 Go,提供了实用的学习建议和资源。

你一定要了解这 17 条 Docker 最佳实践!
本文分享了在编写 Dockerfiles 和使用 Docker 时应遵循的一些最佳实践,包括多阶段构建、镜像优化、安全性等方面的建议。

2022年序员如何选择显示器?1080p还是2K? 单屏还是多屏?
本文分享了个人在选择显示器时的经验和建议,包括不同尺寸、分辨率和屏幕组合的优缺点,以及如何根据工作需求选择最合适的显示器。

组织内如何评估 CI/CD 成熟度
本文介绍了如何使用 Jenkins 的 generic-webhook-trigger 插件来实时获取 Bitbucket 仓库的事件信息,如 Pull Request ID 等。

GitHub Actions 还能这么玩?自动将发布的博客文章更新到 GitHub 个人主页
本文介绍了如何使用 GitHub Actions 自动将发布的博客文章更新到 GitHub 个人主页,提升个人主页的动态性和可读性。

2021-22 世界质量报告(World Quality Report)
本文介绍了 2021-22 世界质量报告(WQR)的主要发现和趋势,强调了新冠疫情对软件质量和测试的影响,以及 QA 在敏捷和 DevOps 中的重要作用。



SonarQube Community Edition 如何集成到项目中
本文介绍如何将 SonarQube Community Edition 集成到 Maven、Gradle 及其他类型项目中,包括必要的配置和 Jenkins 流水线示例。

运行 lcov 报错 "Can't locate JSON/PP.pm in @INC ..."
本文介绍在运行 lcov 生成代码覆盖率报告时遇到 “Can’t locate JSON/PP.pm in @INC …” 等 Perl 模块缺失错误的解决方法,包括安装缺失的 Perl 模块。

使用 Gcov 和 LCOV 做 C/C++ 项目的代码覆盖率
本文介绍了如何使用 Gcov 和 LCOV 对 C/C++ 项目进行代码覆盖率的度量,包括编译、运行和生成报告的步骤。

SonarQube 安装与常见问题排查
本文记录了 SonarQube 的安装步骤,包括 LDAP 配置与 PostgreSQL 数据库设置,并附带一些常见问题的排查方法。

修复 "hidden symbol `__gcov_init' in ../libgcov.a(_gcov.o) is referenced by DSO" 错误
本文介绍在使用 Gcov 编译项目进行代码覆盖率统计时,出现 “hidden symbol `__gcov_init’…” 等错误的原因及解决方法,包括如何在构建时确保符号不被隐藏。

使用 REST API 添加或更新 Bitbucket 构建状态
本文介绍如何通过 Bitbucket REST API 为指定提交添加或更新构建状态,并给出 Shell 脚本示例,适用于手动修复或补充构建状态的场景。

关于代码覆盖率 (About Code Coverage)
本文简要介绍了代码覆盖率的概念、重要性、常见指标、工作原理以及主流工具,强调了不要过度依赖代码覆盖率指标。

Jenkins 作业超时后让构建失败的方法(已解决)
本文介绍如何在 Jenkins 流水线中正确处理超时场景,通过 try 和 catch 结合 error 确保超时后作业会失败。

解决在 AIX 上 Git Clone 失败的两个问题
本文记录了在 AIX 上使用 Jenkins 进行 Git Clone 时遇到的两个问题及其解决方法,包括依赖库加载失败和 SSH 认证失败。

通过解除文件资源限制:解决在 AIX 使用 Git 下载大容量仓库失败问题
在 AIX 系统中遇到 Git 下载大容量仓库时因文件大小限制导致失败,通过修改 ulimit 设置解决问题。

关于 Artifactory 上传制品变得非常缓慢,偶尔失败的问题分享
在使用 JFrog Artifactory 上传制品时遇到速度缓慢和上传失败的问题,经过排查和解决,分享经验和教训。

解决 ESlint HTML 报告在 Jenkins 作业中无法正常显示的问题
本文记录了 ESlint HTML 报告在 Jenkins 中因内容安全策略(CSP)限制而无法正确显示的问题,并介绍了如何通过修改 Jenkins 配置使报告正常加载。

Git 常见设置指北
本文介绍了在使用 Git 提交代码之前需要进行的一些常见设置,包括配置用户名和邮箱、处理换行符、编写规范的提交信息等,帮助开发者更好地管理代码版本。

当 Artifactory “Download Folder 功能被禁用”时如何下载整个文件夹的制品
本文介绍了在 JFrog Artifactory 禁用“Download Folder”功能时,如何使用 Artifactory REST API 来批量下载整个文件夹的制品,并提供了基于 Shell 脚本的示例实现。

为什么 Windows Installer 会弹出窗口?(已解决)
本文解释了一个常见的 Windows 安装程序问题:安装时意外弹出窗口的原因,以及通过修正构建文件夹命名规则来解决该问题的方法。

JaCoCo 代码覆盖率实践分享
本文介绍了 JaCoCo 的使用方法,包括 Gradle 配置、执行测试生成报告、报告参数说明以及如何忽略指定的包或类影响测试覆盖率结果。

你的 Python 代码够不够 Pythonic?
本文介绍了 Pythonic 的概念,并通过示例展示如何编写更简洁、优美的 Python 代码,帮助开发者提升代码质量和可读性。

在 Jenkins 中为不同分支设置不同的默认参数
本文介绍如何在 Jenkins 多分支流水线中,根据构建分支动态设置不同的默认参数,从而实现分支差异化配置。

基于谷歌代码审查(Code Review)法则的思考与实践
本文介绍了谷歌的代码审查法则,并分享了如何在团队中有效实施代码审查的实践经验,包括流程控制和自动化检查等方面。

Jenkins 升级后 Windows Agent 无法启动的解决方法
本文介绍 Jenkins 升级后 Windows Agent 无法启动的问题,以及通过更新 Windows Slaves 插件和修改配置文件来解决的步骤。

2021年DevOps工程师的学习路线
本文介绍了成为DevOps工程师所需的技能和工具,涵盖软件开发、操作系统、网络安全、容器化、持续集成与部署等方面的知识。

预测 2021 年的 DevOps 趋势
本文介绍了 2021 年 DevOps 领域的主要趋势,包括微服务架构、无服务器计算、Kubernetes 的普及以及 DevSecOps 的兴起。

Jenkins 中 `result` 与 `currentResult` 的区别
本文解释了 Jenkins Pipeline 中 result 与 currentResult 的区别,并通过 Declarative Pipeline 与 Scripted Pipeline 示例展示它们在不同阶段的表现。

建议在 Bitbucket/GitHub 中启用的仓库设置
列出 Bitbucket 和 GitHub 仓库推荐启用的设置,包括禁止强制推送、分支保护、标签管理、合并检查以及提交信息规范等。

在 Windows 上开启 22 端口并让其处于监听状态
本文介绍如何在 Windows 上开启 22 端口并确保其处于监听状态,以便支持 SSH 连接。内容包括安装 OpenSSH 以及防火墙配置步骤。

启用与禁用 Git sparse-checkout
介绍如何启用与禁用 Git sparse-checkout,包括配置只检出指定目录的示例,以及如何恢复到完整检出状态。

解决 Code Sign 默认时间戳服务器 http://timestamp.verisign.com/scripts/timstamp.dll 不可用
本文介绍了如何解决 Verisign 时间戳服务器不可用的问题,提供了替代的时间戳服务器地址,帮助开发者顺利完成代码签名。

2021 年国外 IT 公司对于 DevOps 工程师的要求有哪些?
了解国外 IT 公司对 DevOps 工程师的技能要求,帮助你在 2021 年树立学习方向,获取理想岗位。

备份 Jenkins 的方法
介绍如何使用 ThinBackup 插件或 Shell 脚本备份 Jenkins,确保 Jenkins 配置和构建数据安全存储。

JaCoCo 实现原理 (JaCoCo Implementation Design)
介绍 JaCoCo 的实现设计,包括覆盖率分析机制、Java 版本要求、字节码操纵、内存使用等方面的内容。


写给那些想使用 JFrog Artifactory 管理制品的人
本文介绍了 JFrog Artifactory 的概念、优势、工作原理以及最佳实践,帮助读者了解如何使用 Artifactory 管理软件制品。


在 GitHub 上发布一个 Python 项目需要注意哪些
本文介绍个人或企业在 GitHub 上发布一个 Python 项目需要了解和注意的内容,包括项目结构、依赖管理、版本控制等方面的建议。

关于 Python pip install 与版本管理
解释 pip install 在不同版本号场景下的行为,包括如何处理 beta 版本,以及在指定版本号时使用 --upgrade 的影响。
使用 REST API 更新 Jira Server 账号头像
介绍如何通过 Jira REST API 更新 Jira Server 账号的头像,并提供 Python 和 Postman 示例。

解决 “Remote session was disconnected because there are no Remote Desktop client access licenses available”
修复 Windows Server 2012 R2 上的 RDP 连接问题,错误提示为没有可用的远程桌面客户端访问许可证。

通过 generic-webhook-trigger 插件实时获取 Bitbucket Repository Events
本文介绍如何使用 Jenkins 的 generic-webhook-trigger 插件来实时获取 Bitbucket 仓库的事件信息,如 Pull Request ID 等。

Jenkins 执行 Shell 如果返回值不为0,作业(Job)停止并失败怎么办?
如何在 Jenkins Pipeline 中处理 Shell 返回值不为0的情况,以确保作业(Job)在执行成功后仍然显示为成功状态。

解决 “.NET Framework 2.0 or later is required on this computer to run a Jenkins agent as a Windows service” 问题
当 Jenkins Windows Agent 因缺少 .NET Framework 无法连接时,通过安装 .NET Framework 3.5 并设置 Jenkins Agent 服务来解决问题。

每个 Jenkins 用户都应该知道这三个最佳实践
本文介绍了 Jenkins 的三个最佳实践:配置即代码、Jenkins 共享库和多分支流水线,帮助用户提升 Jenkins 的使用效率和质量。

将 Jenkins Shell 返回的字符串处理为字符数组
如何在 Jenkins Pipeline 中将 Shell 返回的字符串处理为字符数组,以便在后续步骤中进行处理和使用。

忽略 Jenkins Shell 步骤中的故障
如何在 Jenkins 中使用 set +e 和 set -e 来控制 Shell 脚本的执行行为,以便在出现错误时不终止整个构建流程。

这也能用Jenkins?快速实现一个定期批量登录远程虚拟机并支持添加新的主机名称的Job
本文介绍了如何使用 Jenkins 实现定期批量登录远程虚拟机,并支持用户添加新的主机名称,提供了完整的实现代码和步骤。

解决 Jenkins Artifactory Plugin 仅在 AIX 上传制品到 https 协议的 Artifactory 失败的问题
本文介绍了在 AIX 上使用 Jenkins Artifactory 插件上传制品到 https 协议的 Artifactory 失败的问题及其解决方法,包括设置环境变量和调整 Java 系统属性。

从 “会写程序的干不过会写PPT的” —— 聊程序员写作
本文探讨了程序员写作的重要性,强调了写作和表达能力在职业发展中的作用,并分享了个人在写作方面的经验和体会。

如何确保在提交 Jenkins Pipeline 前没有语法错误
本文介绍了两种方法来确保在提交 Jenkins Pipeline 前没有语法错误:使用 REST API 进行语法校验和使用 VSCode 插件进行语法检查。

使用 JMeter 进行性能测试
介绍如何使用 JMeter 进行性能测试,包括录制脚本、在 GUI 和非 GUI 模式下运行测试,以及在 Jenkins 中实现自动化测试。

如何将 Bitbucket 仓库同步到 GitHub
介绍如何通过 Jenkins 将 Bitbucket 仓库的 master 分支同步到 GitHub。

Jenkins 与 Bitbucket Webhooks 的配置和使用
本文介绍如何在 Jenkins 中配置 Bitbucket Webhooks,以便在创建 Pull Request 时自动触发 Jenkins 构建。

三种方法解决 Jenkins 声明式流水线 Exception Method code too large !
本文介绍了三种方法来解决 Jenkins 声明式流水线中出现的 “Method code too large” 异常,包括将步骤放到管道外的方法、从声明式迁移到脚本式管道以及使用 Shared Libraries。

2021 年务必知道的最好用的 14 款 CI/CD 工具
·4806 字·10 分钟
本文列出了市场上最流行的 14 种 CI/CD 工具,包括 Jenkins、CircleCI、TeamCity 等,并介绍了它们的主要特性和使用场景。

DevOps Top 30+ 面试问题
本文列出了 DevOps 领域的 30 多个常见面试问题,涵盖 DevOps 基础知识、CI/CD、DevOps 工具和实践等方面,帮助求职者准备 DevOps 面试。

如何给你的 Git 仓库“瘦身”
·2239 字·5 分钟
如何从 Git 仓库中删除不需要的文件和历史记录,以减少仓库的大小,并提供了两种方法:使用 BFG Repo Cleaner 或 git filter-branch。

一款免费的 C/C++ 静态代码分析工具 Cppcheck 与 Jenkins 集成
本文介绍了 Cppcheck 的安装、使用以及与 Jenkins 的集成方法,旨在提升 C/C++ 代码质量和静态分析能力。

HP-UX 安装工具以及一些使用总结
本文介绍了在 HP-UX 系统上安装 Java 8、gzip 和 gunzip 的方法,以及如何解决 HP-UX 上使用 bash 时遇到的库依赖问题。


通过 Jenkins 定期自动给老板提供 Git 仓库的多维度代码分析报告
本文介绍了如何使用 Jenkins 定期自动生成 Git 仓库的多维度代码分析报告,包括手动执行和定时执行的实现方式,帮助开发者和团队更好地了解代码质量和贡献情况。


Solaris 安装工具以及一些使用总结
本文记录了在使用 Solaris 时遇到的问题和解决办法,包括安装工具、配置网络、安装软件包等,帮助用户更高效地使用 Solaris 系统。

Jenkins Warnings Next Generation 插件
本文介绍了 Jenkins Warnings Next Generation 插件的功能和配置方法,包括如何收集编译器警告和静态分析工具报告的问题,并可视化结果。

Git 历史统计信息生成器
GitStats,一个用 Python 编写的 Git 历史统计信息生成工具,能够生成详细的代码提交统计报告,帮助开发者分析项目活跃度和贡献者情况。

Black Duck 与 Jenkins 集成
本文介绍如何将 Black Duck 与 Jenkins 集成,实现对代码仓库的自动化安全扫描和漏洞检测。



定制一个 Docker 版 Jenkins 镜像
如何定制一个 Docker 版 Jenkins 镜像,并将其备份到 Artifactory,便于在需要时快速恢复 Jenkins 环境。

Artifactory 与 Jenkins 集成
本文介绍如何将 JFrog Artifactory 与 Jenkins 集成,实现持续集成和制品管理。

初识 JFrog Artifactory
JFrog Artifactory 是一个强大的二进制存储库管理器,本文介绍其安装、升级和使用方法。

如何设置 NFS 共享以及在不同的平台 Windows/Linux/Unix 进行挂载
本文介绍了如何设置 NFS 共享以及在不同平台(Windows/Linux/Unix)上进行挂载的步骤和命令。

解决 Could not read from remote repository 问题
·956 字·2 分钟
解决在使用 Git 克隆代码时遇到的 “Could not read from remote repository” 错误,分析原因并提供解决方案。

Git 提交合并(Squash)
介绍如何将多个 Git 提交合并为一个提交,包括本地和已推送到远程的情况,分别使用交互式 rebase 和在 Bitbucket 中的合并策略。

如何通过 Jenkins 进行资源的锁定和释放
本文介绍了如何使用 Jenkins 的 Lockable Resources 插件来管理和锁定资源,确保在多任务环境中资源的独占性和安全性。



通过 Jenkins 来提交修改的代码 git push by Jenkins
如何通过 Jenkins Pipeline 脚本来提交修改的代码到 Git 仓库,包括克隆仓库、修改代码和推送更改等步骤。




Jenkinsfile example - 实现交互、clone 多个仓库以及 git push
这个 Jenkinsfile 示例展示了如何在 Jenkins Pipeline 中实现交互式输入、克隆多个 Git 仓库,并在构建完成后将代码推送到远程仓库。

C/C++ 代码覆盖率工具
代码覆盖率衡量自动化测试覆盖的代码行、语句或代码块的比例,是评估 QA 质量的重要指标。本文列出了常见的 C/C++ 代码覆盖率工具及其特性。

代码覆盖率工具 Squish Coco 使用示例
介绍代码覆盖率工具 Squish Coco,并展示在 Visual Studio C++ 项目中如何安装、配置、执行和查看覆盖率结果。

GitSCM clone code don't display branch
如何在 Jenkins 中使用 GitSCM插件克隆代码时,确保正确显示分支信息,避免出现 HEAD detached 状态的问题。

通过参数化上传文件到 FTP 服务器
本文介绍了如何使用 Windows Batch 脚本通过参数化的方式上传文件到 FTP 服务器,避免在脚本中硬编码 FTP 凭据。

Jenkins Linux Agent 配置
本文提供了 Jenkins Linux Agent 的逐步配置指南,包括 Java 运行时的准备、节点创建以及常见问题的排查方法。

Jenkins Windows Agent 配置
本文提供 Jenkins Windows Agent 的详细配置步骤,包括 Java 运行时准备、节点创建以及常见问题的排查方法。


做了9年测试,我为何转开发?
本文记录了我从测试转为开发的经历和感悟,分享了在陪产假期间的学习和工作安排,包括阅读书籍、参与开源项目、体育锻炼等,强调了如何在照顾家庭的同时保持学习和成长。