CICD
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 记录。观感

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

GitLab CI 之前端 Webpack 实践
· ☕ 6 分钟
从 GitLab 8.0 开始,GitLab 开始集成 CI(持续集成) 功能。只需要在服务器上添加一个 Runner,同时在项目中添加一个 .gitlab-ci.yml 文件,就可以进行 CI。在 GitLab 搭建与配置 中笔者记录了从零开始搭建 GitLab 服务的整个流程。在 GitLab CI 持续集成 中笔者交代了 GitLab CI 的一些基本概念,并

Jenkins Pipeline 使用及调试
· ☕ 7 分钟
1. 基本概念 master master 就是 Jenkins 安装和运行的地方,它负责解析 job 脚本,处理任务,调度计算资源。 agent agent 负责处理从 master 分发的任务,操作实际上是通过 executor 来执行的。 executor executor 就是执行任务的计算资源,它可以在 master 或者 agent 上运行。多个 executor 也可以合作执行一些任务。 step Jenkins 里面 job 中的最小单元

Django自动化测试
· ☕ 3 分钟
Django中写自动化测试可以使用:doctests或unit tests。自动化测试的逻辑是,将测试数据传入待测试函数,执行后,以输出结果与预期是否一致,作为判断测试是否通过的标准。这里有几个关键点,(1)需要测试数据,(2)需要指明待测试