S105.Jenkins服务器在收到所述程序升级操作请求消息后,针对与所述应用子程序名对应的目标服务器,触发远程构建任务,并通过运行在该目标服务器的Jenkins终端软件程序,将从程序版本管理服务器拉取的且与所述应用子程序名对应的升级程序代码传送至该目标服务器;
S106.目标服务器在收到完整的升级程序代码后,启动Maven程序包,将该升级程序代码封装为Maven容器;S107.目标服务器将所述Maven容器的镜像推送到本地Docker私有库中,完成对与所述应用子程序名对应的Docker应用容器镜像的更新;S108.关机重启目标服务器,启动Docker应用容器引擎,从所述Docker私有库中获取与所述应用子程序名对应的Docker应用容器镜像,然后重新以Docker应用容器的形式运行应用子程序,完成在线升级。
2、使用Http在线自动升级程序。
在VCKBase看到一个是使用FTP的,想到FTP需要用户名密码,许多程序如KFW防火墙都能监看到程序发送的数据包,为防止密码泄露,故自己选用Http来做更新。偶的思路是用命令行传递程序名称、版本号和Update.ini配置文件的URL。
然后是查找可用的更新,先通过ChttpFile将Update.INI文件下载到系统临时目录下,然后调用GetPrivateProfileString读取网上最新的版本号以及要更新的文件,判断是否需要更新