跳转至

1.0.0-1.4.3 升级到 1.4.4

升级及迁移请保持 SECRET_KEY 与旧版本一致, 否则会导致数据库加密数据无法解密

  • 更新前请一定要做好备份 数据库 和 jumpserver 源代码的工作
cp -r /opt/jumpserver /opt/jumpserver_bak
mysqldump -uroot -p jumpserver > /opt/jumpserver.sql

升级步骤

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

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

1. 停止 core

cd /opt/jumpserver
source /opt/py3/bin/activate
./jms stop

自行替换 /opt 为你实际安装目录

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
    

3. 更新依赖

cd /opt/jumpserver
pip install -r requirements/requirements.txt
确保已经载入 py3 虚拟环境, 中间如果遇到报错一般是依赖包没装全, 可以通过 搜索引擎 解决

国内可以使用镜像加速

pip install wheel -i https://mirrors.aliyun.com/pypi/simple/
pip install --upgrade pip setuptools -i https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

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.6, mariadb 版本需要大于等于 5.5.56
# 请升级数据库后重新操作

升级前版本小于 1.1.0 需要执行此步骤

sh 2018_04_11_migrate_permissions.sh

升级前版本小于 1.4.0 需要执行此步骤

sh 2018_07_15_set_win_protocol_to_ssh.sh

5. 启动 core

cd /opt/jumpserver
./jms start

确定启动没有错误