updiff: updiff 是一个增量更新(升级)的工具,支持备份、更新、异常恢复功能。依据 Git 两个提交版本号提取差异文件进行更新操作。依赖maven、git并可以和jenkins无缝隙集成。

[](#updiff-%E6%98%AF%E4%BB%80%E4%B9%88)updiff 是什么?

updiff 是一个增量更新(升级)的工具,支持备份、更新、异常恢复功能。依据 Git 两个提交版本号提取差异文件进行更新操作。依赖maven、git并可以和jenkins无缝隙集成。

[](#updiff-%E8%83%BD%E5%81%9A%E4%BB%80%E4%B9%88)updiff 能做什么?

1、大型项目模块化后,会分解为很多子模块,当升级时需要靠人工挑选那些包需要升级(每次升级都全量部署安装的不适用updiff),然而人工出包会出现少打包、打错包等问题。updiff可以依赖两次提交的Git版本提取差异文件进行升级操作。

2、当升级后发现有错误,想退回到之前版本,updiff可以一键恢复。

[](#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8)如何使用?

[](#%E5%87%BA%E5%A2%9E%E9%87%8F%E5%8C%85%E6%97%B6%E5%A2%9E%E5%8A%A0maven%E6%8F%92%E4%BB%B6%E5%B9%B6%E6%8C%87%E5%AE%9A-git-%E7%9A%84%E6%8F%90%E4%BA%A4%E7%89%88%E6%9C%AC)出增量包时,增加maven插件并指定 Git 的提交版本

<plugin>
<groupId>com.sand.updiff</groupId>
<artifactId>updiff-mvn-plugin</artifactId>
<version>1.0.4</version>
<configuration>
<!-- HEAD 为最新版本-->
<newGitVersion>HEAD</newGitVersion>
<!-- 83d583f 为最后一次上线版本-->
<oldGitVersion>83d583f</oldGitVersion>
</configuration>
<executions>
<execution>
<id>updiff</id>
<phase>prepare-package</phase>
<goals>
<goal>updiff</goal>
</goals>
</execution>
</executions>
</plugin>

[](#%E7%BC%96%E8%AF%91%E6%89%93%E5%8C%85updiff-upper%E5%8D%87%E7%BA%A7%E5%B7%A5%E5%85%B7)编译打包updiff upper升级工具

[](#%E5%9C%A8updiff%E6%A0%B9%E7%9B%AE%E5%BD%95%E4%B8%8B%E6%89%A7%E8%A1%8C%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4)在updiff根目录下执行以下命令

clean package -DskipTests=true -Pchina

[](#%E5%AE%89%E8%A3%85updiff-upper-104-assemblytargz)安装updiff-upper-1.0.4-assembly.tar.gz

[](#%E8%A7%A3%E5%8E%8B)解压

cd $HOME
tar -zxvf updiff-upper-1.0.4-assembly.tar.gz

[](#%E5%A2%9E%E5%8A%A0-upper_home-%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F)增加 UPPER_HOME 环境变量

# 编辑profile
vi .bash_profile
# 加入以下两行并保存退出
export UPPER_HOME=$HOME/updiff-upper-1.0.4
export PATH=$UPPER_HOME/bin:$PATH
# 使profile生效
source .bash_profile

[](#%E9%94%AE%E5%85%A5-upper-%E5%9B%9E%E8%BD%A6-%E5%87%BA%E7%8E%B0%E4%BB%A5%E4%B8%8B%E4%BF%A1%E6%81%AF%E8%AF%81%E6%98%8E%E5%AE%89%E8%A3%85%E6%88%90%E5%8A%9F)键入 upper 回车 出现以下信息证明安装成功

----------------------------------------------------------------------------------------------------
用法:
upper up oldDir newPath 执行更新,包括:备份、更新、恢复
或:
upper backup oldDir newPath [backupPath] 执行备份,仅备份不做更新
backupDir 可选,默认值为:oldDir_backup_yyyyMMddHHmmss
或:
upper recovery backupDir 执行恢复,根据指定备份文件恢复
其中:
oldDir 要更新的文件夹
newPath 更新包或文件夹,它的文件结构必须和oldDir的一致。更新包格式只能为.zip或.tar.gz,如果包内只有一个文
件夹且名字和oldDir相等,则认为是更新包的根路径
----------------------------------------------------------------------------------------------------


原网址: 访问
创建于: 2024-05-14 12:16:26
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论