CICD
Jenkins 在 Kubernetes 上的最佳实践
· ☕ 3 分钟
1. 配置较大的 -Xms -Xmx 参数 Jenkins 是由 Java 编写的编排引擎, 在 Full GC 时会 Stop The World(STW)。在大规模构建时, STW 可能会导致 Jenkins 无法处理新的请求。 为了避免频繁的 STW, 同时增大并发量, 建议设置较大的堆, -Xms3g -Xmx6g -XX:MaxRAM=6g。具体数值可以根据监控值来设置,

一个通用流水线设计
· ☕ 5 分钟
1. 解耦引擎释放流水线能力 在设计系统时,我们常面临两难。是内敛复杂度,对外提供单一易用的功能;还是释放复杂度,将灵活归还用户。这非常考验产品能力。 设计 CICD 系统时,我们可以直接将 Jenkinsfile、PipelineRun 等概念直接抛给用户,让

Jenkins 与 Tekton 的对比
· ☕ 1 分钟
下面是一个 Jenkins 与 Tekton 对比的列表: 功能 Jenkins Tekton 编程语言 Java Golang 开发插件语言 Java Shell、Yaml 流水线描述语言 Groovy、Shell Yaml、Shell 插件生态 很多插件,LDAP、GitLab 不足 插件数量 1500+ 100+ 插件之间的兼容性 可能会有冲突,不能随便升级 完

Tekton 如何接入物理机进行构建
· ☕ 6 分钟
1. 为什么需要物理构建机 在文章《如何接入远程 macOS 物理机进行 Jenkins 流水线构建》中,我描述了在 Jenkins 中添加物理构建机的方法。这并不是我拍脑袋想的需求,而是当时真的有 ToB 的商业客户在咨询方案。 对于多端开发商来说,构建 Android、IOS、macOS、Arm 、

DevOps 工具链之 Lighthouse 介绍
· ☕ 2 分钟
本文介绍一个 ChatOps 工具 Lighthouse, 主要内容来自官方文档 。Kubernetes 社区使用 Prow 驱动其在 GitHub 上的协作, 但是不适用于其他仓库。Lighthouse 普适于更多类型的 Git 仓库。 1. 什么是 Lighthouse Lighthouse 是一个基于 webhooks 的轻量级 ChatOps 工具 , 通过 Git 仓库的 webhooks 可以触发 Jenkins X 流水线 、Tekt