




Nexus、Jfrog 主要支持local库。docker run --rm \
-u root \
-v /data/conf/config.yaml:/app/config.yaml \
# 迁移包列表文件挂载地址,需要挂载指定迁移包列表文件时使用,配置在config.yaml中includePackageVersion项
-v /data/conf/config-maven-includePackageName.txt:/app/config-maven-includePackageName.txt \
# 迁移需排除的包列表文件挂载地址,需要挂载指定迁移需排除的包列表文件时使用,配置在config.yaml中excludePackageVersion项
-v /data/conf/config-maven-excludePackageName.txt:/app/config-maven-excludePackageName.txt \
# 日志目录
-v $(pwd):/app/log \
docker.cnb.cool/cnb/plugins/cnbcool/artifact-migrate:latest
docker run --rm \ -u root -e ARTIFACT_MIGRATE="parameter-mode" \ -e ARTIFACT_TYPE="" \ -e SRC_REGISTRY_TYPE="" \ -e SRC_INCLUDE_PACKAGE="" \ -e SRC_EXCLUDE_PACKAGE="" \ -e SRC_REGISTRY_URL="" \ -e SRC_REGISTRY_USERNAME="" \ -e SRC_REGISTRY_PASSWORD="" \ -e SRC_REGISTRY_TOKEN="" \ -e TAR_REGISTRY_URL="" \ -e TAR_REGISTRY_PASSWORD="" \ -v $(pwd):/app/log \ docker.cnb.cool/cnb/plugins/cnbcool/artifact-migrate:latest
Nexus、Jfrog 主要支持local库。main: push: - services: - docker stages: - name: 制品迁移 script: | echo "制品迁移开始" docker pull docker.cnb.cool/cnb/plugins/cnbcool/artifact-migrate:latest docker run --rm \ -u root \ -v /workspace/config.yaml:/app/config.yaml \ -v $(pwd):/app/log \ docker.cnb.cool/cnb/plugins/cnbcool/artifact-migrate:latest echo "制品迁移完成"
artifactory:
# 仓库类型
maven:
- src:
# 源仓库类型,可选:jfrog、nexus、coding、codeup(云效)、other(其他仓库)
type: coding
# 按包名迁移,支持配置批量,按包名或者包名:版本号,按"(|)"分隔,如:(xxx|xxxx:1.0.0)
# 支持配置正则表达式,按包名迁移规则(正则表达式,如:^org 以org开头的包名)
# 支持批量,配置文件地址,支持文件名.txt:/app/config-npm-includePackageName.txt
includePackageVersion:
# 排除包名迁移,支持配置批量,按包名或者包名:版本号,按"(|)"分隔,如:(xxx|xxxx:1.0.0|xxxx:[1.0.0,2.0.0])
# 支持配置正则表达式,按包名迁移规则(正则表达式)
# 支持批量,配置文件地址,支持文件名.txt:/app/config-npm-excludePackageName.txt
excludePackageVersion:
# 源仓库地址
url: http://xxx.xxx.net/repository/xxx/maven/
# 源仓库用户名
username: maven-xxx
# 源仓库密码
password: xxx
# 制品仓库api访问令牌(codeup专用,请参考云效文档 开发参考->API参考->获取个人访问令牌)
token:
target:
# 目标仓库地址
url: http://cnb.cool/xxx/maven/-/packages/
# 目标仓库密码
password: xxx
# 仓库类型
npm:
- src:
# 源仓库类型,可选:jfrog、nexus、coding、codeup(云效)、other(其他仓库)
# 源仓库类型 other 时,需要配置includePackageVersion
type: coding
# 按包名迁移,支持配置批量,按包名或者包名:版本号,按"(|)"分隔,如:(xxx|xxxx:1.0.0)
# 支持配置正则表达式,按包名迁移规则(正则表达式 如:^coding 以coding开头的name)
# 支持批量,配置文件地址,支持文件名.txt:/app/config-npm-includePackageName.txt
includePackageVersion:
# 排除包名迁移,支持配置批量,按包名或者包名:版本号,按"(|)"分隔,如:(xxx|xxxx:1.0.0|xxxx:[1.0.0,2.0.0])
# 支持配置正则表达式,按包名迁移规则(正则表达式 如:^org 以org开头的包名),源仓库类型为 other 不支持正则配置
# 支持批量,配置文件地址,支持文件名.txt:/app/config-npm-excludePackageName.txt
excludePackageVersion:
# 源仓库地址
url: http://xxx.xxx.net/repository/xxx/npm/
# 源仓库用户名
username: npm-xxx
# 源仓库密码或者token
password: xxx
# 制品仓库api访问令牌(codeup专用,请参考云效文档 开发参考->API参考->获取个人访问令牌)
token:
target:
# 目标仓库地址
url: http://cnb.cool/xxx/npm/-/packages/
# 目标仓库密码
password: xxx
# 非必填,默认不覆盖。 false:不覆盖 true: 覆盖
overwritePolicy:
# api接口版本,默认v1.
apiVersion: "v1/v2"
# 仓库类型
nuget:
- src:
# 源仓库类型,可选:jfrog、nexus、codeup(云效)、other(其他仓库)
type: jfrog
# 按包名迁移,支持配置批量,按包名或者包名:版本号,按"(|)"分隔,如:(xxx|xxxx:1.0.0)
# 支持配置正则表达式,按包名迁移规则(正则表达式,如:^org 以org开头的包名)
# 支持批量,配置文件地址,支持文件名.txt:/app/config-npm-includePackageName.txt
includePackageVersion:
# 排除包名迁移,支持配置批量,按包名或者包名:版本号,按"(|)"分隔,如:(xxx|xxxx:1.0.0|xxxx:[1.0.0,2.0.0])
# 支持配置正则表达式,按包名迁移规则(正则表达式)
# 支持批量,配置文件地址,支持文件名.txt:/app/config-npm-excludePackageName.txt
excludePackageVersion:
# 源仓库地址
url: http://xxx.xxx.net/repository/xxx/nuget/v3/index.json
# 源仓库用户名
username: maven-xxx
# 源仓库密码
password: xxx
# 制品仓库api访问令牌(codeup专用,请参考云效文档 开发参考->API参考->获取个人访问令牌)
token:
target:
# 目标仓库地址
url: http://cnb.cool/xxx/nuget/-/packages/v3/index.json
# 目标仓库密码
password: xxx
npm支持配置格式 #配置 包名 迁移包下所有版本。示例: @opentelemetry/redis-common #配置 包名:版本号 迁移具体版本,示例: @opentelemetry/redis-common:0.37.0 #配置 包名:[开始版本号,结束版本好] 迁移具体版本区间 0.0.1 <= 版本 <= 2.0.0,示例: @opentelemetry/redis-common:[0.35.0,0.37.0] maven支持配置格式 # 示例: #全部包版本 groupid #全部版本 groupid:artifactid #多个版本号 groupid:{3.0.0,3.13.6} #版本区间 groupid:[3.0.0,3.13.6] #多个版本号 groupid:artifactid:{3.0.0,3.13.6} #版本区间 groupid:artifactid:[3.0.0,3.13.6]