升级系统
与 简单升级包 不同,升级包是用来完成整个集群升级的,并可执行一些进阶操作
如果需要想要创建升级包,请创建一个目录,并在目录下放置 BUILD 升级脚本,资源放置于其中。
创建升级包
$ ambot-packager new-update /path/to/update
其中,/path/to/update 是升级包的路径。运行完会生成 /path/to/update.ambotupdate 文件,这个是一个升级包。
为了方便,该升级包提供了 Amobot Bundle 的辅助创建脚本,有需要可以复制粘贴执行。
目前 Ambot Bundle 在一些系统下可能有异常行为,因此可以考虑先不做使用
执行升级包
Ambot Bundle
直接在 master 机器上执行即可
如果发现运行过程中 ambot-service 的安装被异常跳过导致出现问题,请手动执行
/tmp/ambot-service uc进行安装
执行 Ambot Bundle 会自动完成升级 ambot-service、解压 ambotupdate 和执行升级的流程
如果中途出现错误,解决后可以直接重新执行 Ambot Bundle,也可以直接执行 ambot-update /data/updates/[update-name] ([update-name] 与上面的 /path/to/update 中的 update 一致)
如果没有 ambot-update 程序,请执行
ln -s /usr/bin/ambot-service /usr/bin/ambot-update
Ambot Update File
拿到一个 xxx.ambotupdate 文件,请将其传到 master 上,并依次执行以下命令
# 解压升级包(期间会执行自动的验证)
ambot-util package unpack xxx.ambotupdate -t /data/updates/xxx
# 安装
ambot-update /data/updates/xxx
异常恢复
Ambot Update 有着全自动的异常恢复机制,一般如果是命令执行失败可以直接通过重新执行 ambot-update /data/updates/xxx 来二次执行(会自动跳过已经执行过的)
如果需要修改 Decision Script 执行结果、重新执行某一步、修改步骤等,请阅读 Ambot Update Insider