跳到主要内容

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
  • 提示 error: Your local changes to the following file would be overwritten by merge
git reset --hard
git pull
  1. 备份数据库
mysqldump -uroot -p jumpserver --ignore-table=jumpserver.django_migrations > /opt/jumpserver.sql
  1. 下载代码
mv /opt/jumpserver /opt/jumpserver_bak
cd /opt
git clone https://github.com/jumpserver/jumpserver.git
cd jumpserver
git checkout 1.4.4
  1. 还原文件
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
  • 国内可以使用镜像加速。
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

2.4 处理升级​

cd utils
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
  • 确定启动没有错误。

  • 请接着根据 1.4.4 升级到 1.4.5 的文档升级到1.4.5,否则无法正常使用