ServiceComb发版验证指南

ServiceComb项目发新版本时,会发起投票邀请大家验证新版本的代码和Repo是否正确,本文向大家介绍如何进行验证工作。

验证Java Chassis

环境准备

提示:如果验证环境操作系统是Windows,需要安装Docker Machine

验证源代码包Hash和签名正确

请在Vote邮件中找到Release Candidate的URL,例如:

  1. Release Candidate : https://dist.apache.org/repos/dist/dev/incubator/servicecomb/incubator-servicecomb-java-chassis/1.0.0-m2/rc-01/

在浏览器中打开,下载src.zip结尾的源代码压缩包,以及同名的src.zip.asc签名文件和src.zip.sha512哈希文件,保持三个文件在同一目录下。

请在Vote邮件中找到Key的URL:

  1. Keys to verify the Release Candidate : https://dist.apache.org/repos/dist/dev/incubator/servicecomb/KEYS

在浏览器中打开,保存内容为KEYS文件并导入:

  1. gpg --import KEYS

提示Mohammad Asif Siddiqui (ServiceComb Code Signing Key) <asifdxtreme@apache.org>成功导入或未变化(已导入过)

验证签名:

  1. gpg --verify xxx-src.zip.asc xxx-src.zip

提示Good signature from "Mohammad Asif Siddiqui (ServiceComb Code Signing Key) <asifdxtreme@apache.org>"代表签名正确。

验证Hash:

  1. sha512sum -c xxx-src.zip.sha512

提示OK代表Hash正确。

验证源代码功能正确

解压源代码:

  1. unzip xxx-src.zip

使用cd命令切换到解压出来的源代码根目录下,执行:

  1. mvn clean install -Pdocker -Pit
提示:如果如果验证环境操作系统是Windows:
  1. mvn clean install -Pdocker -Pit -Pdocker-machine

等待所有的测试通过,依据配置环境不同,约耗时10~30分钟。

验证Staging Repository内的库正确

首先删除本地Repo中ServiceComb的全部缓存:

  1. rm -rf /root/.m2/repository/org/apache/servicecomb/
提示:如果不是root用户,请修改对应的路径

请在Vote邮件中找到Staging Repository的URL:

  1. Staging Repository : https://repository.apache.org/content/repositories/orgapacheservicecomb-xxxx/

之后在maven的settings.xml中添加Staging Repository地址配置:

  1. <settings>
  2. <profiles>
  3. <profile>
  4. <repositories>
  5. <repository>
  6. <releases />
  7. <snapshots>
  8. <enabled>false</enabled>
  9. </snapshots>
  10. <id>repo.apache.staging</id>
  11. <url>{Vote邮件中的Staging Repository URL}</url>
  12. </repository>
  13. </repositories>
  14. <pluginRepositories>
  15. <pluginRepository>
  16. <releases />
  17. <snapshots>
  18. <enabled>false</enabled>
  19. </snapshots>
  20. <id>repo.apache.staging</id>
  21. <url>{Vote邮件中的Staging Repository URL}</url>
  22. </pluginRepository>
  23. </pluginRepositories>
  24. <id>staging</id>
  25. </profile>
  26. </profiles>
  27. </settings>

一切就绪后,使用cd命令切换到源代码demo目录(注意不是根目录)下,执行:

  1. mvn clean install -Pdocker -Pstaging
提示:如果如果验证环境操作系统是Windows:
  1. mvn clean install -Pdocker -Pstaging -Pdocker-machine

测试过程中可以观察到Java Chassis的依赖将从我们之前指定的Apache Staging Repository下载:

  1. Downloading: https://repository.apache.org/content/repositories/orgapacheservicecomb-xxxx/xxxx.pom

等待所有的测试通过,依据配置环境不同,约耗时5~15分钟。

验证Spring Cloud集成功能正确

https://github.com/ServiceComb/ServiceComb-Company-WorkShop Clone最新Company示例项目代码,切换到1.x分支:

  1. git clone https://github.com/ServiceComb/ServiceComb-Company-WorkShop.git
  2. git checkout 1.x

修改项目根目录中的pom.xml,更改其中的<java-chassis.version>配置为当前发版版本,例如1.0.0-m2:

  1. <properties>
  2. <java-chassis.version>1.0.0-m2</java-chassis.version>
  3. </properties>

在项目根目录下执行:

  1. mvn clean verify -Pdocker -Pstaging
提示:如果如果验证环境操作系统是Windows:
  1. mvn clean verify -Pdocker -Pstaging -Pdocker-machine

等待所有的测试通过,依据配置环境不同,约耗时5~10分钟。

验证Samples是否正确(可选)

在源代码的sample下有很多例子,可以任选几个测试,例如使用BMI做验证;sample验证的方法请参见对应目录下README.md中的说明即可。

标签: 发版, 验证