升级系统

简单升级包 不同,升级包是用来完成整个集群升级的,并可执行一些进阶操作

如果需要想要创建升级包,请创建一个目录,并在目录下放置 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