ServiceComb发版验证指南
ServiceComb项目发新版本时,会发起投票邀请大家验证新版本的代码和Repo是否正确,本文向大家介绍如何进行验证工作。
验证Java Chassis
环境准备
提示:如果验证环境操作系统是Windows,需要安装Docker Machine
验证源代码包Hash和签名正确
请在Vote邮件中找到Release Candidate的URL,例如:
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:
Keys to verify the Release Candidate : https://dist.apache.org/repos/dist/dev/incubator/servicecomb/KEYS
在浏览器中打开,保存内容为KEYS文件并导入:
gpg --import KEYS
提示Mohammad Asif Siddiqui (ServiceComb Code Signing Key) <asifdxtreme@apache.org>
成功导入或未变化(已导入过)
验证签名:
gpg --verify xxx-src.zip.asc xxx-src.zip
提示Good signature from "Mohammad Asif Siddiqui (ServiceComb Code Signing Key) <asifdxtreme@apache.org>"
代表签名正确。
验证Hash:
sha512sum -c xxx-src.zip.sha512
提示OK
代表Hash正确。
验证源代码功能正确
解压源代码:
unzip xxx-src.zip
使用cd
命令切换到解压出来的源代码根目录下,执行:
mvn clean install -Pdocker -Pit -Pdemo-run-release
提示:如果验证环境操作系统是Windows:
mvn clean install -Pdocker -Pit -Pdocker-machine -Pdemo-run-release
等待所有的测试通过,依据配置环境不同,约耗时10~30分钟。
验证Staging Repository内的库正确
首先删除本地Repo中ServiceComb的全部缓存:
rm -rf /root/.m2/repository/org/apache/servicecomb/
提示:如果不是root用户,请修改对应的路径
请在Vote邮件中找到Staging Repository的URL:
Staging Repository : https://repository.apache.org/content/repositories/orgapacheservicecomb-xxxx/
之后在maven的settings.xml
中添加Staging Repository地址配置:
<settings>
<profiles>
<profile>
<repositories>
<repository>
<releases />
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>repo.apache.staging</id>
<url>{Vote邮件中的Staging Repository URL}</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>repo.apache.staging</id>
<url>{Vote邮件中的Staging Repository URL}</url>
</pluginRepository>
</pluginRepositories>
<id>staging</id>
</profile>
</profiles>
</settings>
一切就绪后,使用cd
命令切换到源代码demo目录(注意不是根目录)下,执行:
mvn clean install -Pdocker -Pstaging -Pit -Pdemo-run-release
提示:如果验证环境操作系统是Windows:
mvn clean install -Pdocker -Pstaging -Pdocker-machine -Pit -Pdemo-run-release
测试过程中可以观察到Java Chassis的依赖将从我们之前指定的Apache Staging Repository下载:
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
分支:
git clone https://github.com/ServiceComb/ServiceComb-Company-WorkShop.git
git checkout 1.x
修改项目根目录中的pom.xml
,更改其中的<java-chassis.version>
配置为当前发版版本,例如1.0.0-m2:
<properties>
<java-chassis.version>1.0.0-m2</java-chassis.version>
</properties>
在项目根目录下执行:
mvn clean verify -Pdocker -Pstaging
提示:如果验证环境操作系统是Windows:
mvn clean verify -Pdocker -Pstaging -Pdocker-machine
等待所有的测试通过,依据配置环境不同,约耗时5~10分钟。
验证Samples是否正确(可选)
下载 samples 代码, 由于 samples 较多, 可以选择部分 进行验证, 详细参考每一个 sample 提供的 README 文件。