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

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

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 使用磁盘文件存储数据,每条流水线、每次构建都会占用一个文件目录,产生大

如何远程触发 GitHub Action
· ☕ 2 分钟
通常,我们需要在 GitHub 上进行一些操作,才能触发 GitHub Action。本篇将介绍一种通过 API 远程调用触发 GitHub Action 的方法。 1. 常见的几种触发 GitHub Action 的方式 下面是一个 GitHub Action 的示例: 1 2 3 4 5 6 7 name: GitHub Actions Demo on: [push, pull_request] jobs: Explore-GitHub-Actions: runs-on: ubuntu-latest steps: - run: echo "Hello World!" 在 on 关键字下,定义的就是触发 Workflow 执行的事件。