logo
0
0
WeChat Login

CNB官方文档合集助手:cnb/docs · Cloud Native Build

云开发构建说明

参考链接:快速开始 | CNB 文档

简单说明: 仓库根目录创建一个名为 .cnb.yml 的文件,然后在该文件中配置各个阶段的处理逻辑。(例如: push、pull_request等事件触发相应的动作)

例如:

main:
  push:
    - stages:
        - name: build knowledge base
          image: cnbcool/knowledge-base
          settings:
            include: "**/**.md"
            exclude: "README.md"
  pull_request:
    - stages:
      - name: 代码评审
        image: cnbcool/ai-review:latest
        settings:
          type: code-review
      - name: 标题和描述的可读性检测
        image: cnbcool/ai-review:latest
        settings:
          type: pr-info-readability-check
        exports:
          status: STATUS
      - name: 标题和描述的可读性检测结果
        script: |
          case "${STATUS}" in
              yes)
                  echo "✅ 标题和描述的可读性检测通过"
                  ;;
              no)
                  echo "⚠️ 标题和描述的可读性检测不通过"
                  exit 1
                  ;;
          esac
      - name: 提交注释的可读性检测
        image: cnbcool/ai-review:latest
        settings:
          type: commit-message-readability-check
        exports:
          status: STATUS
      - name: 提交注释的可读性检测结果
        script: |
          case "${STATUS}" in
              yes)
                  echo "✅ 提交注释的可读性检测通过"
                  ;;
              no)
                  echo "⚠️ 提交注释的可读性检测不通过"
                  exit 1
                  ;;
          esac
      - name: 变更总结
        image: cnbcool/ai-review:latest
        settings:
          type: diff-summary
        exports:
          summary: SUMMARY
      - name: 输出变更总结
        script: echo $SUMMARY
  pull_request.mergeable:
    - stages:
        - name: CR 通过后自动合并
          type: git:auto-merge
          options:
            mergeType: squash
            removeSourceBranch: true

云开发环境构建说明

参考链接:自定义开发环境 | CNB 文档

简单说明:就是在.ide/目录下创建Dockerfile文件,里面写好构建内容;然后在.cnb.yml文件中配置开发环境使用.ide/文件夹下的Dockerfile构建开发环境。

例如:

# .cnb.yml
$:
  vscode:
    - docker:
        build: .ide/Dockerfile
        # 可选择是否同时定义 build 和 image
        # 此时会优先使用 .ide/Dockerfile 构建镜像
        # 如果 .ide/Dockerfile 构建失败,则使用 image 指定的镜像保证环境能启动成功
        # image: cnbcool/default-dev-env:latest
      services:
        - vscode
        - docker
      # 开发环境启动后会执行的任务
      stages:
        - name: ls
          script: ls -al

Docker制品

参考链接:Docker 制品库 | CNB 文档

简单说明:就是使用docker login命令先登录cnb的 docker 环境, 然后构建镜像并推动到cnb仓库的制品。(可以结合云原生开发和云原生构建使用,玩法多样)

例如:

样例一: 结合云原生构建使用

main:
  push:
    - services:
        - docker
      stages:
        - name: docker build
          script: docker build -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest .
        - name: docker push
          script: docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest

样例二: 命令行使用

docker login docker.cnb.cool -u cnb -p ${CNB_TOKEN}

# 制品在发布到某一仓库时,支持两种命名规则

# 同名制品 - 制品路径与仓库路径一致,如:docker.cnb.cool/{repository-path}
# 非同名制品 - 仓库路径作为制品的命名空间,制品路径=仓库路径/制品名称,如:docker.cnb.cool/{repository-path}/{artifact-name}

# 同名制品
docker build -t docker.cnb.cool/{repository-path}:latest .  # 构建本地镜像
docker push docker.cnb.cool/{repository-path}:latest        # 推送到制品仓库

# 非同名制品
docker build -t docker.cnb.cool/{repository-path}/{image-name}:latest .   # 构建本地镜像
docker push docker.cnb.cool/{repository-path}/{image-name}:latest         # 推送到制品仓库

说明:{repository-path} 是仓库路径,包含了组织名称和仓库名称,如:mirxiong/study-cnb;当仓库路径错误时,会导致制品推送失败。

知识库

参考教程:

知识库样例:

简单说明:

就是在.cnb.yml文件中配置知识库的处理逻辑。配置完成之后,代码仓库右上角就会有一个知识库的按钮,点击后就会进入知识库界面。

知识库按钮

main: #分支
  push: #有提交时
    - stages: #启动流水线
        - name: build knowledge base #名字
          image: cnbcool/knowledge-base #知识库插件
          settings: #知识库设置
            embedding_model: hunyuan #知识库使用的基础模型
            include: "**/**.md" #知识库包含的文件类型

About

No description, topics, or website provided.
172.00 KiB
6.06 KiB
0 forks0 stars1 branches0 TagREADME