本文纪实从 “Plone'我要我'到'我爱您'——Plone之5.1.5升级到5.2.0”之升级过程。
一、准备工作
1、准备Plone5.1.5stage Server,配置必须和Product Server完全一致
2、准备Plone5.2.0测试环境
二、准备插件(非Plone系统核心包)迁移
1、检测插件兼容性
逐个将自己开发或其他三方开发的插件加载到Plone5.2.0测试环境,运行buildout ,bin/instance fg
2、不兼容插件处理
处理不兼容插件有两种方式:
- 给插件新建一个名为python3的branch,更改代码,以兼容python2.7.x及python3.7.x,并且能正常在Plone5.2.0安装使用
- 标记出该不兼容插件,在原Plone5.1.5 stage Server环境中卸载该插件
三、准备stage server新的buildout环境
由于Plone5.1.5和 Plone5.2.0有不同的setuptools及zc.buildout版本要求,所以要更新buildout环境:
1、激活stage server的virtualenv环境
[align=left][indent]
source bin/active
[backcolor=rgb(247, 247, 247)]检测该virtenv中python ,确保是python2.7.x系列。[/backcolor]
[/indent][/align]
2、卸载原5.1.5的requirements
pip uninstall -r requirements_515.txt
3、安装5.2.0的requirements,建立新的buildout环境
pip install -r requirements_520.txt
[backcolor=rgb(247, 247, 247)]四、卸载不兼容插件(可选,如在二.2中,有要卸载的插件,则执行该步骤)[/backcolor]
[backcolor=rgb(247, 247, 247)]
[/backcolor]
完全卸载[backcolor=rgb(247, 247, 247)]在二.2中查找出来的不兼容插件,注意:程序和相关数据都必须完全清除![/backcolor]
[backcolor=rgb(247, 247, 247)]
[/backcolor]
[backcolor=rgb(247, 247, 247)]
[/backcolor]
[backcolor=rgb(247, 247, 247)]
[/backcolor]
[backcolor=rgb(247, 247, 247)]
[/backcolor]
五、更新Plone版本主配置文件
此Plone主版本配置文件和插件配置文件是packages.cfg,注意在四中卸载的插件要拿掉(清除掉)。
1、Plone主版本配置文件部分更新到5.2.0
[buildout]
extensions = mr.developer
show-picked-versions = true
update-versions-file = versionslastprod3.cfg
#overwrite-picked-versions-file = true
extends =
# Known good sets of eggs we may be using
# http://dist.plone.org/release/5-latest/versions.cfg
# http://dist.plone.org/release/5.1.5/versions.cfg
# 5.1.1-versions.cfg
http://dist.plone.org/release/5.2.0/versions.cfg
pins52.cfg2、更新插件配置部分
eggs]
main =
Plone
# Products.PloneFormGen
# Products.ContentWellPortlets
# my315ok.socialorgnization
quintagroup.seoptimizer
my315ok.products
collective.diazotheme.bootstrap
# dexterity.membrane
# xtshzz.policy
xtcs.policy
xtcs.theme
qyxycjh.policy
qyxycjh.theme
qidejt.theme
qidejt.policy
xsgs.policy
xsgs.theme
hjzgb.theme注意上图中#号注释的插件为不兼容的,已拿掉。