DevOps
SRE 向左,DevOps 向右
· ☕ 3 分钟
1,脱离职责的流程是没有意义的 软件架构与组织架构相匹配,不仅仅体现在功能边界,更体现在职责划分。 清晰的职责边界,才能构筑良好的团队协作与发展。每个团队、每个人都应该明白自己的目标,什么事情应该承担,什么事情应该回避,将时间和精力投入到对主要

分阶段构建如何缓存第三方依赖
· ☕ 5 分钟
非分阶段构建场景下,使用容器进行构建时,我们可以将容器中的缓存目录挂载到构建主机上,执行构建任务;然后将产物拷贝到运行镜像,制作应用镜像。但是在分阶段构建时,构建镜像和运行镜像在同一个 Dockerfile 中,这给优化第三方依赖的缓存带来了难度。 1. 创建一个 Vue 实

Jenkins Agent 的几种通信方式
· ☕ 1 分钟
1. SSH 连接方向: Master 主动连接 Agent 要求: Master 能通过 SSH 直连 Agent Agent 上启动了 SSHD 服务 Jenkins 安装 SSH Credentials Plugin、SSH Build Agents 插件 2. JNLP 连接方向: Agent 主动连接 Master 要求: Agent 能访问 Master Agent 需要 JVM 环境运行 Master 需要放开 50000(默认值)端口用于 Agent 通信 50000 端口是 Jenkins Master 的服务端口,不需要再运行

Jenkins为什么一直调度到同一个节点
· ☕ 3 分钟
1. 问题背景 在 Jenkins 中添加了很多个构建节点使用同一个 Label 以供流水线使用,但是 Jenkins 却每次都倾向于在同一个节点进行构建。 这导致了并发问题,单个节点的压力过大,而其他节点空闲,负载极其不均衡。 2. 业务流水线的设计 上述问题的产生和业务流水线的设计有一定的关系。

基于 Tekton 的 CICD 平台
· ☕ 6 分钟
1.背景 1.1 目前使用 Jenkins 遇到的问题 编排引擎不稳定 Jenkins 是由 Java 编写的编排引擎,在 Full GC 时会 Stop The World(STW)。在大规模构建时,STW 可能会导致 Jenkins 无法处理新的请求。 大量构建卡顿 Jenkins 使用磁盘文件存储数据,每条流水线、每次构建都会占用一个文件目录,产生大