logo
0
0
Login
docs: 优化文档格式

仓库介绍

该仓库内置了一个在 CNB 的典型研发流程,可以直接 fork 走该仓库进行体验

PS1:go 的工程

PS2:如果想修改 示例代码,可以在 main.go 修改如下内容,这样在服务启动后,预览 url 中可以看到变更的内容

func main() { app := iris.New() app.Get("/", func(ctx iris.Context) { // 可以改这里的 字符串 if _, err := ctx.WriteString("Hello 0403 World!"); err != nil { fmt.Printf("写入响应失败: %v", err) return // 根据上下文决定是否终止流程 } }) app.Listen(":8080") }

体验说明

前置操作

fork 走仓库后,请变更如下内容

  1. 在仓库 issue 的标签管理中,创建一个 完成测试 的标签,便于后续体验跟 issue 联动
  2. 把部署流程的审批人,修改成自己,修改 .cnb/tag_deploy.yml 文件中的如下内容
    - approver: # users 的内容改成自己的用户名 users: - lizeen - xiaohuan

流程体验

操作步骤流程内容
issue 创建示例缺陷在 issue 中创建一个 缺陷示例的 issue,mark 一下 #id
云原生开发写代码1. 创建一个 特性分支,比如 fix/xxx
2. 点击云原生开发,可以打开云上开发空间,进行编写
3. 在云原生开发中,可以在命令行执行 go run main.go 运行示例代码
4. 在左侧的提交窗口,提交变更内容,commit msg 携带 #id 内容,比如 fix: this issue #id
发起 PR,feat -> 主干发起 PR,将 fix/xxx 合入主干分支 已配置 PR 的流水线检查,lint 检查+单测
合并到主干分支1. 合入主干分支自动触发,包括: build 测试镜像,模拟部署 test、执行自动化测试、性能测试、安全测试
2. 测试结果上报至最新 commit 元数据(模拟数据,hard code ok)
3. issue 标签流转为已提测
issue 流转为已完成模拟 issue 提测,人工完成测试,issue 标签人工操作从 已提测,变更为 完成测试
仓库首页:构建-发布制品;手动发布制品1. check commit 元数据中自动化测试、安全测试、性能测试的结果是否为 ok
2. 获取相对于上一个 tag 的diff 中,关联的 issue ,是否均为 完成测试
3. 通过如上检查,docker build 生产制品,并推送到仓库下的 docker 制品库
创建 tag (会自动创建 release ,在 release 中可以进行版本发布)staging 发布流程
前置条件:
1. 仅指定用户审批
2. 点击发布审批按钮,触发指定流水线执行
-- 模拟:调起外部审批流,并将外部审批流上报至release 的元数据
发布流程: 前置条件满足后,点击部署按钮,将会触发指定流水线执行
-- 模拟:k8s 部署应用到预发布环境

生产发布流程
前置条件:
1. 仅指定用户审批
2. 必须 staging 环境部署 1min 后
-- 模拟实际生产部署时,staging 的验证等待
发布流程:
前置条件满足后,点击部署按钮,将会触发指定流水线执行
-- 模拟:k8s 部署应用到生产环境