当前位置: 首页 > news >正文

CNB迁移和UI定制

CNB迁移和UI定制

​ 我自己目前在使用的两个代码仓库平台分别是GitHub和CNB。我自己写的代码基本在CNB上,GitHub一般是我Fork的大佬们写的代码。如何才能把其他的代码平台的仓库迁移到CNB上呢,CNB官方也提供了好多种,有CNB Code Import代码仓库批量迁移工具、Git Sync多平台同步工具、还有制品迁移的工具。有了这些工具就可以把GitHub上一些大佬写的代码迁移到CNB上来。自己如果是想要修改,直接在云开发中去修改,也是不错的,也就没必要去clone到本地了,还要安装一堆环境依赖显得很繁琐。

CNB仓库迁移

一、仓库批量迁移工具

​ CNB Code Import工具支持从支持 CODINGGithubGitlabGitee阿里云效以及通用第三方代码托管平台的代码仓库批量迁移至 CNB

svn不支持,需要转化成git再做迁移。

工具地址:https://cnb.cool/cnb/plugins/cnbcool/code-import ,先fork这个仓库。

迁移前置准备

这里我使用CNB Code Import工具将GitHub仓库迁移到CNB上

在做仓库迁移前需要完成以下三步骤,分别是创建源平台访问令牌、CNB 创建根组织、创建 CNB 访问令牌。

1、创建GitHub平台访问令牌

在GitHub页面点击【setting】->然后在左边的菜单栏点击【Developer Settings】选择【Personal access tokens (classic)】点击【Generate new token】按钮创建token,如下

image-20250913210723813

点击创建token按钮后,Note随便填写,token过期时间也按照你的需求选择就行,☑️勾选repo就行了。然后点击【Generate token】即可,然后复制生成的token,如下

image-20250913210957612

2、CNB 创建根组织

在前面的有关CNB的章节中有讲过组织的概念和创建方式,这里省略。

3、创建CNB访问令牌

在【个人设置】->【访问令牌】中创建CNB访问令牌,常用场景☑️勾选迁移工具凭证如下,令牌名自定义点击创建就行了。创建完成后会有令牌的token信息,注意保存。

image-20250913210149122

完成上述操作准备工作就做好了。

迁移代码仓库

进入fork的code import仓库界面,可以看到提供了两种迁移代码仓库的方法,一种是通过cnb流水线,一种是dokcer,他们本质是相同的,都是使用的同一个docker镜像,在前面有关cnb的章节提到过,cnb的所有插件,都是一个docker镜像。

通过流水线迁移

1、点击code import仓库上的【执行】按钮,会出现一个下拉菜单,选择GitHub,如果你从其他平台迁移,选择对应的就行了。如下

image-20250913211809247

2、点击源平台以后会出现一个对话框如下,需要填写的就是源平台访问令牌、根组织名、CNB 访问令牌。直接填写对应的栏目就行了。然后点击GitHub按钮,如下

image-20250913212356251

这时候就会立马触发批量同步仓库的流水线,可以在云原生构建栏目查看迁移日志,在日志中可以查看到一共迁移了多少个仓库成功了多少,失败了多少,等待仓库迁移完成✅就行了。

image-20250913212636912

在仓库列表就可以看到GitHub仓库所有的都迁移过来了。

通过docker命令迁移

创建空的CNB仓库这里省略,进入云原生开发环境中,执行以下命令,其他平台迁移参数可以点这里 查看。迁移的核心参保可以看这里 。

docker run --rm  \-e PLUGIN_SOURCE_TOKEN="xxx"  \   #替换GitHub的token-e PLUGIN_SOURCE_URL="https://github.com" \-e PLUGIN_SOURCE_PLATFORM="github" \ -e PLUGIN_CNB_ROOT_ORGANIZATION="xxx" \  #替换cnb仓库的根组织如我的hudi22-e PLUGIN_CNB_TOKEN="xxx"  \  #替换cnb的token-v $(pwd):$(pwd) -w $(pwd) \cnbcool/code-import

二、Git Sync工具

一个用于在不同 Git 平台之间同步代码的插件。支持通过 HTTPS 或 SSH 方式同步代码到其他 Git 托管平台。

插件地址:https://cnb.cool/cnb/plugins/tencentcom/git-sync。官方文档使用方式写的很清楚了。需要将cnb的代码同步到GitHub也只需要简单的配置流水线就行。如下创建cnb.yml流水线,配置信息如下

main:push:- stages:- name: sync to githubimage: tencentcom/git-syncsettings:target_url: https://github.com/username/repo.git   #日前在GitHub创建一个空的仓库auth_type: httpsusername: ${GIT_USERNAME}password: ${GIT_ACCESS_TOKEN}

或者是要把GitHub和cnb相互同步,可以配置GitHub Actions来实现。或者使用docker命令来完成同步操作。这里省略。

若是需要同步制品,可以看这个插件:https://cnb.cool/cnb/plugins/cnbcool/artifact-migrate 。

UI定制

可以通过在仓库根目录新增 .cnb/settings.yml 配置文件对页面部分 UI 进行定制。例如可以给按钮添加一个hover的gif动图。

云原生开发配置,读取云原生启动按钮所在页面当前分支的 .cnb/settings.yml 配置

例如在启动云原生开发环境时让他自动进入webIDE,不在出现让我选择编辑器的页面可以在settings.yml中添加以下配置。

workspace:launch:button:# 按钮名称name: 自定义的启动云原生开发# 按钮描述description: 点击此按钮启动云原生开发环境# 鼠标悬浮在按钮上显示的图片(只能用仓库中当前分支的图片,填写相对仓库根目录的路径,如 .cnb/launch-hover.gif)hoverImage: .cnb/launch-hover.gif # CPU 核心数,默认为:8。仅对默认模版有效,如果有自定义云原生开发启动流水线,则此配置无效cpus: 4# 是否禁用默认按钮。默认为:false 表示不禁用。true 表示禁用disabled: false# 环境创建完是否自动打开 WebIDE,默认为 falseautoOpenWebIDE: true

当开发环境中未安装 openssh(仅支持 WebIDE):无论此参数配置为 true 还是 false,环境创建完都将自动打开 WebIDE

image-20250913222058096

还可以自定义设置fork仓库的按钮,定义点赞功能等详细可以看这里 。

总结

​ 代码仓库同步工具还是蛮方便的,可以快速批量的同步源平台的代码仓库,可以省去不少时间,至于这个UI自定义,目前还没有找到更好的玩法,除了能增加一点自定义化的东西外,没有看到啥实质的功能🤣。


文章转载自:

http://JcgLehrF.sfdky.cn
http://2WpVAKOx.sfdky.cn
http://VSml9aZr.sfdky.cn
http://dKib6e19.sfdky.cn
http://VhiGY4vb.sfdky.cn
http://2LMnCPe0.sfdky.cn
http://hSLwMjdj.sfdky.cn
http://PxESxn8G.sfdky.cn
http://t0oigrHT.sfdky.cn
http://f3BgY564.sfdky.cn
http://89OD9j8h.sfdky.cn
http://v1QmdlGy.sfdky.cn
http://jT7vR3x6.sfdky.cn
http://tLtDbbbW.sfdky.cn
http://XllFFjQ2.sfdky.cn
http://P6sx4UhH.sfdky.cn
http://5zPsKZMJ.sfdky.cn
http://5B9XyuGD.sfdky.cn
http://sUD4Ov70.sfdky.cn
http://8e5rjNiL.sfdky.cn
http://seZYYrKJ.sfdky.cn
http://GvhLdb5e.sfdky.cn
http://FXVz99CQ.sfdky.cn
http://d9jaJRBQ.sfdky.cn
http://fiKes3pH.sfdky.cn
http://igjHrM4x.sfdky.cn
http://tz4BJz7j.sfdky.cn
http://CJ89i4FT.sfdky.cn
http://fn89k1Ts.sfdky.cn
http://nMBMhvoy.sfdky.cn
http://www.dtcms.com/a/387827.html

相关文章:

  • 基于OpenTelemetry与Jaeger的分布式追踪原理深度解析与实践指南
  • EasyDSS视频直播RTMP推流技术如何实现多机型的无人机视频统一直播
  • 智能扫地机器人方案开发,基于32位MCU
  • 【STM32 CubeMX + Keil】DAC 输出0~3.3V间任意电压
  • git submodule命令详解
  • HTTP/2.0是什么?
  • 深度学习基础:从线性回归到 Softmax 回归的完整梳理
  • 深度学习之线性回归与 Softmax 回归
  • 线性回归与 Softmax 回归
  • 源雀 Scrm开源:企微防截屏
  • [APItest-Karate] HttpRequestBuilder | HttpClient发送请求
  • 线性回归与 Softmax 回归:从基础模型到深度学习入门
  • 【Leetcode hot 100】105.从前序与中序遍历序列构造二叉树
  • 机器视觉在PCB制造中的检测应用
  • 服务器ssh端口放开,仍然无法登录
  • 【0基础3ds Max】命令面板详解
  • LeetCode 381 - O(1) 时间插入、删除和获取随机元素(允许重复)
  • [新启航]深孔加工尺寸精度检测方法 - 激光频率梳 3D 轮廓测量
  • MySQL 进阶:多表联合查询与数据备份恢复
  • 【LeetCode每日一题】:移除链表元素
  • 工业大数据时代时序数据库选型指南:为何Apache IoTDB成为首选?
  • Java 中 ArrayList 与 LinkedList 的深度对比:从原理到实战选择
  • 向量检索服务 DashVector产品功能
  • Spring-Cloud-Alibaba:2023.0.1.X引起的dashscope-sdk-java依赖冲突问题
  • vue 知识点
  • 深入理解 Linux 进程调度:从策略到实现的全方位解析
  • 【技术架构】从单机到微服务:Java 后端架构演进与技术选型核心方案
  • Java异常报错: java.io.IOException: Broken pipe
  • [Linux]学习笔记系列 -- lib/kobject.c 内核对象(Kernel Object) 设备模型的核心基石
  • 专题:Python实现贝叶斯线性回归与MCMC采样数据可视化分析2实例|附代码数据