跳转至

了解飞致云旗下开源产品

1.0.0-1.4.3 升级到 1.4.4⚓︎

注意

  • 升级及迁移请保持 SECRET_KEY 与旧版本一致,否则会导致数据库加密数据无法解密。
  • 更新前请一定要做好备份 数据库 和 JumpServer 源代码的工作。

1 备份数据库⚓︎

cp -r /opt/jumpserver /opt/jumpserver_bak
mysqldump -uroot -p jumpserver > /opt/jumpserver.sql

2 升级步骤⚓︎

注意,请务必认真详细阅读每一个文字并理解后才能操作升级事宜。

  • 请先检查自己各组件的当前版本。
  • 不支持从 0.x 版本升级到 1.x 版本。
  • 本文档仅针对 1.0.x - 1.4.3 的版本升级教程。
  • 从 1.4.x 版本开始,mysql 版本需要大于等于 5.7
  • 更新配置文件需要把对应旧版本的设置复制到新的配置文件。

2.1 停止 core⚓︎

cd /opt/jumpserver
source /opt/py3/bin/activate
./jms stop
  • 自行替换 /opt 为你实际安装目录。

2.2 切换 1.4.4 分支⚓︎

git fetch
git checkout 1.4.4
如果执行 git pull 提示 error,请按照提示自行处理
  • 提示 error: Your local changes to the following file would be overwritten by merge
git reset --hard
git pull
如果你的代码不是从 github 仓库获取的,请通过这里的隐藏帮助来进行迁移
  1. 备份数据库
    mysqldump -uroot -p jumpserver --ignore-table=jumpserver.django_migrations > /opt/jumpserver.sql
    
  2. 下载代码
    mv /opt/jumpserver /opt/jumpserver_bak
    cd /opt
    git clone https://github.com/jumpserver/jumpserver.git
    cd jumpserver
    git checkout 1.4.4
    
  3. 还原文件
    cd /opt/jumpserver_bak
    for d in $(ls);do
      if [ -d $d ] && [ -d $d/migrations ];then
        cp ${d}/migrations/*.py /opt/jumpserver/apps/${d}/migrations/
      fi
    done
    

2.3 更新依赖⚓︎

cd /opt/jumpserver
pip install -r requirements/requirements.txt
确保已经载入 py3 虚拟环境,中间如果遇到报错一般是依赖包没装全,可以通过 搜索引擎 解决
  • 国内可以使用镜像加速。
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

2.4 处理升级⚓︎

cd utils
sh make_migrations.sh
如果执行 sh make_migrations.sh 有错误,请参考此处进行处理
  • You have an error in your SQL syntax; check the manual than corresponds to your MySql server version for the right syntax to use near '(6) NOT NULL'
# 这是因为你的数据库版本不对,从 1.4.x 版本开始 mysql 版本需要大于等于 5.7
# 请升级数据库后重新操作

注意

  • 升级前版本小于 1.1.0 需要执行此步骤。
sh 2018_04_11_migrate_permissions.sh

注意

  • 升级前版本小于 1.4.0 需要执行此步骤。
sh 2018_07_15_set_win_protocol_to_ssh.sh

2.5 启动 core⚓︎

cd /opt/jumpserver
./jms start
  • 确定启动没有错误。