DevOps
GitHub 三种合并代码方式的差别
· ☕ 1 分钟
1. Create a merge commit PR Commit 记录: 1 2 commit c1 commit c2 集成分支 Commit 记录: 1 2 3 commit PR #NUM commit c2 commit c1 Create a merge commit 会将 PR 中的全部 Commit 记录完整带到集成分支中,同时增加一条 PR Commit 信息。 2. Squash and merge PR Commit 记录: 1 2 commit s1 commit s2 集成分支 Commit 记录: 1 commit PR #NUM Squash and merge 合并之后,集成分支只会增加一条 Commit 记录。观感

Jenkins 中 Git 操作 not a tree 分析
· ☕ 3 分钟
1. 问题描述 配置 Webhook 自动触发执行 Jenkins 流水线时,报错: 1 2 3 hudson.plugins.git.GitException: Command "git checkout -f 23b446ea" returned status code 128: stdout: stderr: fatal: reference is not a tree: 23b446ea 2. Git 如何管理版本 Git 是一个内容寻址文件系统。Git 维护着一棵 sha tree ,通过 sha 值可以回溯到任何一个历史节点。先看看提交记录: 执行命令: 1 2 3 4 5 6 7 8 9 10 11 12

DevOps 工具链之 Prow
· ☕ 4 分钟
1. 关于 Prow 在 Kubernetes、Istio 等知名项目的 Github 仓库中,我们经常会看到 xxx-bot 用户,给 issues 添加标签、合并 PR 。这个机器人账户就是被 Prow 驱动的。 Prow 是 Kubernetes 测试特别兴趣小组的项目,目前是 kubernetes/test-infra 的一部分。Prow 是一个基于 Kubernetes 使用各类事件驱动执行 Job 的 CI/CD 系统。 除

什么是左移
· ☕ 2 分钟
1. 什么是左移 需要说明的是,这里的左不是政治上代表保守或激进的左,而是表意流程的左、时间的提前。 在调研自动化测试时,我第一次接触 “左移” 。提法很吸引,落地很简单。翻译一下就是,之前测试的工作是开发完成之后,现在要求提前

基于 Kubernetes 和 Jenkins 搭建自动化测试系统
· ☕ 4 分钟
1. 测试分层 测试的目的是为了验证预期的功能,发现潜在的缺陷。测试增强了交付合格产品的信心,也给敏捷迭代带来了可能。可以说,测试决定了产品的开发进度。 网络模型有七层的 OSI 、四层的 TCP,而开发模式有 MTV、MVC、MVP、MVVM 等。高内聚、低耦