升级版本1.1.0至2.X.X/5.X.X
升级至2.X.X版本与升级至5.X.X版本步骤一致,本文以升级至2.X.X版本为例。
在升级之前,请务必备份好ohpm-repo私仓工具中的历史数据,避免因升级操作失误,导致数据丢失。备份的内容包括ohpm-repo中<deploy_root>部署根目录内的数据、db元数据以及store三方包数据,详细可参考数据备份。
-
旧版本服务停止:如果旧版本的服务还在运行,升级版本前请停止,进入1.1.0版本ohpm-repo私仓工具包解压目录下的bin目录,执行stop
ohpm-repo stop- 如果部署的是多实例,升级前需要停下所有机器中的ohpm-repo服务,再进行升级操作。
- 若想在其他目录使用ohpm-repo,请将对应版本ohpm-repo工具包解压目录中bin目录的路径配置到系统环境变量path中。
-
下载并解压工具包:下载版本2.X.X的ohpm-repo私仓工具包,并解压(请解压到一个空文件夹中)。
-
安装完成之后,进入ohpm-repo私仓工具包解压目录下的bin目录,执行如下命令:
ohpm-repo -v终端输出为版本号2.X.X,则表示解压成功。
-
移植配置文件信息:版本2.X.X的配置文件与版本1.1.0相比有较大差异,需要提取旧版本配置文件信息至新版本配置文件中,移植的具体内容如下:
-
如果ohpm-repo版本1.1.0使用的配置文件,配置项均为默认项,则无需移植配置文件信息,直接执行下一步启动操作。
-
旧版本1.1.0配置文件路径为:<deploy_root>/conf/config.yaml;新版本2.X.X配置文件路径为:<2.X.X版本ohpm-repo解压目录>/conf/config.yaml。
-
<deploy_root>:ohpm-repo部署目录,可通过1.1.0版本ohpm-repo私仓工具包解压目录下的.deploy_root文件查看。
-
listen:旧版本listen值拷贝替换到新版本listen中。如果旧版本是在执行start时指定的listen值,需要把对应的listen值填入新版本配置文件中,新版本中listen值不支持命令行指定。
-
https:如果listen配置的协议是https,拷贝https的值:拷贝旧版本https.key和https.cert路径信息至新版本对应的https_key和https_cert中。
# 旧版本 `1.1.0`https:key: ./ssl/server.keycert: ./ssl/server.crt# 新版本 `2.X.X`https_key: ./ssl/server.keyhttps_cert: ./ssl/server.crt -
deploy_root:打开1.1.0版本ohpm-repo私仓工具包解压目录下的.deploy_root文件,拷贝文件中的路径信息至新版本配置文件中配置项deploy_root 处。
如果1.1.0版本ohpm-repo的部署目录deploy_root使用的是默认路径,即可省略此操作。
- <deploy_root>:ohpm-repo部署目录:
- windows系统默认路径: ~/AppData/Roaming/Huawei/ohpm-repo
- 其他操作系统默认路径:~/ohpm-repo
- <deploy_root>:ohpm-repo部署目录:
-
server: 旧版本server有九个参数信息,拷贝移动到新版本server numeric limit section模块下对应九个参数中。
- 版本1.1.0开始,新增参数api_timeout。
- 版本升级时,参数信息会有变化,具体信息可在<解压目录>/conf/config.yaml文件中获取。
# 旧版本 `1.1.0`server:max_package_size: 10max_extract_size: 50max_extract_file_num: 10240user_rate_limit: 100fetch_timeout: 60keep_alive_timeout: 60api_timeout: 60upload_lock_hour: 24upload_max_times: 100# 新版本 `2.X.X`max_package_size: 10max_extract_size: 50max_extract_file_num: 10240user_rate_limit: 100fetch_timeout: 60keep_alive_timeout: 60api_timeout: 60upload_lock_hour: 24upload_max_times: 100 -
db: 如果数据存储到本地磁盘中,拷贝替换旧版本db.plugin_config.path路径信息至新版本db.config.path中;如果数据存储到mysql中,拷贝旧版本db.plugin_config中各项信息至新版本db.config中。
# 旧版本 `1.1.0`: 本地存储db:plugin_name: ohpm-repo-plugin-filedbplugin_config:path: ./db# 新版本 `2.X.X`: 本地存储db:type: filedbconfig:path: ./db# 旧版本 `1.1.0`: mysql存储db:plugin_name: ohpm-repo-plugin-mysqlDBplugin_config:host: "localhost"port: 3306username: "root"password: "password"database: "repo"# 新版本 `2.X.X`: mysql存储db:type: mysqlconfig:host: "localhost"port: 3306username: "root"password: "password"database: "repo" -
store: 如果文件存储在本地磁盘中 ,拷贝替换旧版本store.plugin_config.path路径信息和store.plugin_config.server值至新版本对应的store.config.path和store.config.server中;如果文件存储在sftp中,拷贝旧版本 store.plugin_config中各项信息至新版本store.config中。
在ohpm-repo 2.0.0版本中,listen的默认值已更改为listen: 0.0.0.0:8088,如果listen的host配置为0.0.0.0,则字段store.config.server不可省略****,必须****配置为详细地址,例如**
http://localhost:8088**。# 旧版本 `1.1.0`: 本地存储store:plugin_name: ohpm-repo-plugin-fsplugin_config:path: ./storage#server: http://localhost:8088# 新版本 `2.X.X`: 本地存储store:type: fsconfig:path: ./storage#server: http://localhost:8088# 旧版本 `1.1.0`: sftp存储store:plugin_name: ohpm-repo-plugin-sftpplugin_config:location:-name: test_one_sftphost: "localhost"port: 22read_username: "read"read_password: "encrypted_password"write_username: "write"write_password: "encrypted_password"path: /source22-name: test_two_sftphost: "localhost"port: 24read_username: "read"read_password: "encrypted_password"write_username: "write"write_password: "encrypted_password"path: /source24#server: http://localhost:8088# 新版本 `2.X.X`: sftp存储store:type: sftpconfig:location:-name: test_one_sftphost: "localhost"port: 22read_username: "read"read_password: "password"write_username: "write"write_password: "password"path: /source22-name: test_two_sftphost: "localhost"port: 24read_username: "read"read_password: "password"write_username: "write"write_password: "password"path: /source24#server: http://localhost:8088 -
uplink: 拷贝旧版本uplink.store_path路径信息uplink.cache_time缓存时间信息至新版本对应的uplink_store_path和uplink_cache_time中。
# 旧版本 `1.1.0`uplink:store_path: ./uplinkcache_time: 168# 新版本 `2.X.X`uplink_store_path: ./uplinkuplink_cache_time: 168 -
logs:拷贝旧版本logs_path路径信息至新版本logs_path中。
-
loglevel:拷贝旧版本loglevel.run, loglevel.operate和loglevel.access至新版本对应的loglevel_run,loglevel_operate和loglevel_access中。
# 旧版本 `1.1.0`loglevel:run: infooperate: infoaccess: info# 新版本 `2.X.X`loglevel_run: infologlevel_operate: infologlevel_access: info
新版本配置文件还添加了很多信息的配置,例如deploy_root和logs_path等,此类信息在升级过程中可不改变,使用默认项。
-
-
(可选项)新版本如果需要使用新的部署目录<new_deploy_root>,需要手动迁移数据。
- 升级ohpm-repo:按照步骤1-4,解压和拷贝替换配置文件信息。
- 建立新部署目录:判断指定的新部署目录<new_deploy_root>是否存在,不存在则新建,新部署目录需存在且为空。
- 拷贝数据文件:拷贝旧版本部署目录<deploy_root>下的全部文件至新部署目录中。
- 修改新版本ohpm-repo配置文件:打开新版本ohpm-repo 2.X.X的解压目录,进入conf目录下,修改新配置文件config.yaml,修改配置项deploy_root为新的部署目录<new_deploy_root>。
在使用新部署目录时,旧版本的部署目录中meta文件一定要迁移到新版本部署目录中,否则使用meta加密组件加密的数据无法被正确解密。
-
新版本服务启动:正确拷贝替换配置文件信息后,进入ohpm-repo私仓工具包解压目录下的bin目录,执行以下命令启动新版本ohpm-repo服务:
-
执行安装命令:
ohpm-repo install结果示例:

-
刷新环境变量:安装成功后,必须根据给出的提示信息刷新环境变量,针对Windows系统和Linux/Mac系统,有不同处理方式:
- Windows系统: 关闭当前窗口,重新开启一个窗口
- Linux系统或Mac系统: 在命令行中执行刷新命令:source ~/.bashrc或者 . ~/.bashrc。
-
执行start命令:
ohpm-repo start结果示例:

-
-
多实例部署机器快速升级
在多实例部署中,可先升级一台机器,然后拷贝其配置文件到其他机器中进行快速升级,具体步骤如下
该方法要求部署的多实例机器之间,使用的配置文件除根目录deploy_root外,其他配置项必须完全相同。
-
第一台多实例机器根据步骤一至步骤五完成版本的升级,然后复制新版本解压目录中conf目录下的配置文件config.yaml。
-
复制 新版本配置文件到其他需要升级的机器中。
-
在需要升级的机器中,首先停止旧版本服务:
停止旧版本服务
ohpm-repo stop若您想在其他目录使用ohpm-repo,请将对应版本ohpm-repo根目录中bin目录的路径配置到系统环境变量path中。
-
下载并解压工具包:下载版本**
2.X.X**的ohpm-repo私仓工具包,并解压。 -
版本检查:进入ohpm-repo私仓工具包解压目录下的bin目录,执行版本查看命令:
ohpm-repo -v终端输出为版本号2.X.X,则表示安装成功。
-
替换配置文件:获取复制获得的新版本配置文件,与2.X.X版本ohpm-repo私仓工具包解压目录中conf目录下的配置文件做替换。
-
保留旧配置文件的部署目录:打开1.1.0版本ohpm-repo私仓工具包解压目录下的.deploy_root文件,拷贝文件中的路径信息至替换后的新版本配置文件中配置项deploy_root处。
-
新版本ohpm-repo的服务启动:进入ohpm-repo私仓工具包解压目录下的bin目录,执行以下命令启动新版本ohpm-repo服务:
-
执行安装命令:
ohpm-repo install结果示例:

-
刷新环境变量:安装成功后,必须根据给出的提示信息刷新环境变量,针对Windows系统和Linux/Mac系统,有不同处理方式
- Windows系统: 关闭当前窗口,重新开启一个窗口
- Linux系统或Mac系统: 在命令行中执行刷新命令:source ~/.bashrc或者. ~/.bashrc。
-
执行 start 命令:
ohpm-repo start结果示例:

版本升级之前,如果浏览器中已访问ohpm-repo页面,版本升级之后请刷新ohpm-repo页面。
-
-