
# 迁移JFrog仓库数据至CodeArts Artifact私有依赖库
JFrog仓库是一个用于存储和管理软件包的中央存储库，提供了一种集中式的方式来管理软件包，支持各种软件包管理工具，如Maven、Gradle、npm、NuGet等。CodeArts Artifact的私有依赖库提供了批量迁移工具，支持将JFrog仓库迁移至私有依赖库。本节介绍如何批量迁移JFrog仓库至私有依赖库。
待迁移的JFrog仓库示例如[图1]所示。
图1待迁移的JFrog仓库   
![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002480237164.png "点击放大")
#### 前提条件
- 已有可用项目。如果没有项目，请先[新建CodeArts项目](https://support.huaweicloud.com/usermanual-devcloud/codearts_01_0027.html)，例如项目名称为project_maven。
- 已[创建Maven格式私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0008.html)。
- 依赖Java运行环境，需要安装JRE，请参考[安装JRE](https://bbs.huaweicloud.com/blogs/263166)。
 
#### 步骤一：获取CodeArts Artifact的目标私有依赖库地址与配置
1. 获取私有依赖库地址。 
   1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#section0)。
   
   2. 在私有依赖库页面，选择"仓库视图"，并在左侧边栏中选择目标Maven私有依赖库。
   
   3. 单击仓库名称，右侧页面中仓库的"概览"页签中详细信息显示"仓库地址"。单击![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512397047.png)即可复制仓库地址。
      图2获取私有依赖库地址   
      ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512397051.png "点击放大") 
   
   
   
   
2. 获取私有依赖库配置。 
   1. 单击页面右上方"操作指导"。
   
   2. 在"操作指导"对话框中单击"下载配置文件"，下载配置文件**settings.xml** 至本地。
      图3下载配置文件   
      ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002480397138.png "点击放大") 
   
   3. 在本地打开配置文件**settings.xml** ，在文件中搜索并找到如下红框中的用户名与密码。
      ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512517021.png "点击放大")
      
   
   
   
   
 
#### 步骤二：配置迁移工具
1. 返回私有依赖库，单击页面右侧![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002480237146.png "点击放大")并在下拉列表选择"下载迁移工具"，如[图4]所示。
   
   图4下载迁移工具   
   ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512397043.png "点击放大")
   
   
2. 将迁移工具**MigrateTool.rar** 包下载到本地，并执行以下命令，将**MigrateTool.rar** 包解压并进入解压后的目录中。
   
   ```
   unrar x MigrateTool.rar
   cd MigrateTool/
   ```
   
   
3. 用记事本打开**MigrateTool.rar** 包解压后目录中的**application.yaml** 文件，配置[表1]所示参数。
   
    表1配置迁移工具参数 
   | 参数名称             | 参数说明                                                                                                                                                                                                                    |
   |:---|:---|
   | package_type     | JFrog源仓库类型，配置为"maven"。                                                                                                                                                                                                  |
   | repo_type        | JFrog源仓库类型，配置为"jfrog"。                                                                                                                                                                                                  |
   | domain           | JFrog源仓库地址，例如"http://*本地JFrog仓库IP* :*本地JFrog仓库端口*/artifactory"。                                                                                                                                                         |
   | repo             | 需要迁移的JFrog源仓库名称，根据实际名称填写。                                                                                                                                                                                               |
   | user_name        | 登录JFrog源仓库的账号，根据实际情况填写。                                                                                                                                                                                                 |
   | password         | 登录JFrog源仓库的密码，根据实际情况填写。                                                                                                                                                                                                 |
   | target_repo_type | 迁移后的目标仓库类型，配置为"artifactory"。                                                                                                                                                                                            |
   | target_domain    | 迁移后的目标仓库地址，配置为[图5]中"/artgalaxy/"前半段的![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512397045.png "点击放大")的信息。 |
   | target_repo      | 迁移后的目标仓库ID，配置为[图5]中"/artgalaxy/"后半段的![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002480237148.png "点击放大")的信息。 |
   | target_user_name | 迁移后的目标仓库账号，配置为从[2.c]中获取的**username**。                                                                                  |
   | target_password  | 迁移后的目标仓库密码，配置为从[2.c]中获取的**password**。                                                                                  |
      
   图5迁移后的目标仓库详细信息   
   ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512397041.png "点击放大")
   
   
 
#### 步骤三：执行迁移
执行以下命令迁移JFrog仓库至私有依赖库。
```
java -jar /tools/relocation-jfrog.jar --spring.config.additional-location=./application-product.yaml > /log/relocation-jfrog.log 2>&1 &
```
图6执行迁移   
![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512517025.png "点击放大")
[图6]中"fail file"值为**0**时则表示迁移成功；否则迁移失败，可尝试重新执行迁移或联系客服寻求技术支持。
![](https://support.huaweicloud.com/bestpractice-cloudartifact/public_sys-resources/note_3.0-zh-cn.png)
- 该命令会处于后台运行。
- /tools/relocation-jfrog.jar：指定迁移工具路径。
- --spring.config.additional-location=./application-product.yaml：指定配置文件路径。
- /log/relocation-jfrog.log：指定迁移工具执行日志路径，可通过该日志查看迁移情况。
 
