Skip to content

说明:当前文档升级内容为v2.7.0升级到v2.7.1

版本升级

升级提示:在开始“版本升级”之前,我们强烈建议您在技术部门同事的指导下进行版本升级。 由于安装过程可能涉及到复杂的配置和系统环境要求,专业指导可以帮助您避免潜在的技术问题,确保升级过程顺利进行。 如果您有任何疑问或需要帮助,请随时联系我们的技术支持团队。

整个升级过程分别以下三步:

  • 备份数据
  • 升级
  • 服务回退【针对升级失败的情况下】

1.备份数据

我们强烈建议以下两种备份数据方式都执行。

1.1 虚拟机快照备份

不同的虚拟机软件,使用快照功能不一样,以 vmware 为例,如下图所示,进行快照备份。

1733134361213

1.2 数据卷备份:

  • 在没有变更挂卷目录的情况下,只需要执行cp -r /home/chatbot /home/chatbot_back_2.7.0进行备份即可
  • 已经变更挂卷目录的情况下,需要将所有的卷目录进行备份。例如:Mysql 的挂卷目录变更为:/var/lib/data/mysql, 则需要执行命令:cp -r /var/lib/data/mysql /var/lib/data/mysql_back_2.7.0

1.3 docker-compose 文件备份

执行cp docker-compose.yaml docker-compose-v2.7.0.yaml.back备份当前文件

2. 升级

2.1 升级所需资源

在升级之前,需要确保服务器上的可用资源足够。以下是升级所需的资源

可用cpu >=4C  memory>=8G
剩余磁盘空间>20G

2.2 下载更新所需的文件

下载所需的 docker-compose.yaml 文件以及升级的 sql 文件

wget --content-disposition "https://nbagent.ai/api/docs/files?version=v2.7.1&upgrade=true"

2.3 更新数据库

更新 Mysql 服务可以通过多种方式进行更新,以下介绍两种常用的方式进行数据库的更新。

  • 可以通过 Mysql 管理工具如HeiDiSQL等软件,连接 Mysql,通过导入v2.7.1-upgrade.sql脚本,执行升级。如下图所示,通过HeiDiSQL软件升级的图片:

    1733135853572

  • 也可以通过容器方式执行升级,以下是通过容器升级方式加载 sql 语句升级。

    bash
    # 1.copy 升级脚本到 mysql 容器中
    docker cp v2.7.1-upgrade.sql mysql:/
    
    #2. 进入到容器中
    docker exec -it mysql bash
    
    #3.设置本次的字符串,并进入到 mysql 命令行中。如果mysql容器本身是utf-8格式则无需设置
    echo "export LANG='C.UTF-8'" >> ~/.bashrc ; bash ;echo $LANG
    mysql -uroot -pyourchatbotpassword
    
    #4.在命令行中执行
    source /v2.7.1-upgrade.sql

    当脚本执行全部都 ok,即可说明本次 Mysql 的数据库层面已经升级成功。

2.4 更新服务配置

通过下载最新版本的 docker-compose 文件,对比两个 docker-compose 文件的内容,从而手动修改,进行更新。通过下面的命令下载最新版本的 docker-compose 文件。

bash
wget --content-disposition "https://nbagent.ai/api/docs/files?version=v2.7.1"

也可以直接按下面的方式更新 docker-compose.yaml 文件,以下是各个服务更新的具体内容。

  • chatbot-server 服务

    更新镜像到v2.7.1

    yaml
    image: registry.cn-shenzhen.aliyuncs.com/nb-agent/chatbot-server:v2.7.1
  • chatbot-agent 服务

    更新镜像到 v2.7.1版本

    yaml
    image: registry.cn-shenzhen.aliyuncs.com/nb-agent/chatbot-agent:v2.7.1
  • chatbot-web服务更新

    更新镜像到 v2.7.1版本

    yaml
    image: registry.cn-shenzhen.aliyuncs.com/nb-agent/chatbot-ui:v2.7.1
  • nebulaai-fow服务更新

    更新镜像,amd架构和arm架构的镜像有所不同。nebula-ai-flow挂卷目录要给予相应的777权限。创建目录并给予相应权限:

sh
mkdir -p /home/chatbot/langflow-data
mkdir -p /home/chatbot/chatbot-agent/files/upload
chmod -R 777  /home/chatbot/langflow-data
chmod -R 777  /home/chatbot/chatbot-agent/files/upload
yaml
image: registry.cn-shenzhen.aliyuncs.com/nb-agent/nebulaai-flow:v1.3.2-20251023190356
volumes:
  - /home/chatbot/langflow-data:/app/data
  - /home/chatbot/chatbot-agent/files/upload:/app/data/.cache/langflow/upload

4. 启动并更新服务

在 docker-compose.yaml 文件所在目录,使用以下命令启动所有服务

docker-compose up -d

本次更新完成

更新完成后,即可使用语音相关内容了。 如何配置语音

服务回退

如遇到不可抗拒等因素,导致当前升级失败,可执行服务回退操作。

  1. 使用快照恢复旧版本服务。

  2. 停止相应的服务,执行数据恢复,然后重新恢复服务:

    bash
    # 停止服务
    docker-compose down
    
    # 将备份数据恢复
    cp -r  /home/chatbot_back_2.7.0 /home/chatbot
    cp docker-compose-v2.7.0.yaml.back  docker-compose.yaml
    
    # 重新启动服务
    docker-compose up -d