本仓库包含一些用于简化CNB平台操作的脚本。直接看脚本,不懂再看文档说明(通常是权限问题,权限全勾上一般就没问题,除非有问题)
功能描述: 配置Git全局用户名和邮箱,用于提交代码时的身份标识。使用的是环境变量的邮箱,非提交者的邮箱。
使用示例:
# 执行脚本
bash cnb_config.sh
# 跨仓库执行
curl https://cnb.cool/jacknic/cnb/-/git/raw/main/cnb_config.sh | bash
功能描述: 基于内置CNB环境变量,配置Git凭证存储,用于自动认证Git操作,避免重复输入用户名和密码。
所需变量:
CNB_TOKEN_USER_NAME:CNB平台用户名CNB_TOKEN:CNB平台访问令牌CNB_WEB_HOST:CNB平台Web主机地址使用示例:
# 执行脚本
bash cnb_login.sh
# 跨仓库执行
curl https://cnb.cool/jacknic/cnb/-/git/raw/main/cnb_login.sh | bash
注意事项:
~/.git-credentials文件中存储凭证信息功能描述: 使用Docker容器从Coding平台导入代码到CNB平台。
所需参数(通过环境变量传递给Docker容器):
PLUGIN_SOURCE_PLATFORM:源代码平台,此处为"coding"PLUGIN_SOURCE_URL:源平台URLPLUGIN_SOURCE_TOKEN:源平台访问令牌PLUGIN_CNB_ROOT_ORGANIZATION:CNB目标组织路径PLUGIN_CNB_TOKEN:CNB平台访问令牌使用示例:
# 执行脚本
bash import_coding.sh
注意事项:
功能描述: 手动上传Maven包到CNB Maven仓库。
所需环境变量:
CNB_TOKEN_USER_NAME:CNB平台用户名CNB_TOKEN:CNB平台访问令牌脚本中需要修改的参数:
groupId:Maven包的组IDartifactId:Maven包的构件IDversion:Maven包的版本号packaging:包类型(jar、war等)url:Maven仓库URL(包含认证信息)file:要上传的文件路径使用示例:
# 替换你的 CNB_TOKEN 变量,需要制品上传权限
# 修改脚本中的参数(如groupId、artifactId、version等)
# 你自己的仓库路径
# 确保要上传的jar文件存在且路径正确
# 执行脚本
bash maven_push.sh
注意事项:
功能描述: 批量删除指定组织下的所有仓库。
需要修改的参数:
ORG_NAME:要删除仓库的组织名称API_TOKEN:CNB平台API访问令牌API_URL:CNB平台API URLmax_attempts:最大尝试执行次数(默认为50,即删除50*50个)根据仓库个数调整使用示例:
# 修改脚本中的参数
# - 将ORG_NAME设置为目标组织
# - 将API_TOKEN设置为有效的访问令牌
# 执行脚本
bash delete_repos.sh
注意事项:
功能描述: 递归删除指定组织及其所有子组织。
需要修改的参数:
ORG_NAME:要删除的顶级组织路径API_TOKEN:CNB平台API访问令牌(需要管理及删除权限)API_URL:CNB平台API URLmax_attempts:最大尝试执行次数(默认为1)使用示例:
# 修改脚本中的参数
# - 将ORG_NAME设置为目标组织路径
# - 将API_TOKEN设置为有效的访问令牌
# 执行脚本
bash delete_orgs.sh
注意事项:
访问CNB平台的个人设置页面,在"访问令牌"创建新的令牌。确保为令牌分配适当的权限,根据您要执行的操作(如读取代码、写入代码、删除资源等需自行创建)。默认启动 CNB 开发环境就会有预置的环境变量,如 CNB_TOKEN 和 CNB_TOKEN_USER_NAME通常只有代码读取的权限。如涉及代码仓库倒入,仓库创建,仓库删除等操作,需要自行创建。需要删除资源时,需在项目根组织下开启 组织管控 > 允许通过 Open API 删除组织下资源 的权限。
使用文本编辑器打开脚本文件,找到需要修改的参数(如组织名称、令牌、URL等),将其替换为您自己的值。保存文件后再执行脚本。
是的,这些脚本可以集成到CI/CD流程中。在CI/CD环境中,您可以: