Release verification guide for ServiceComb
As apache project, when ServiceComb release new version, need make a vote and invite users and developers to verify its availability, this guide will introduce how to do this work.
Verify Java Chassis
Prerequisite
- Make sure your network is available;
- Please check these components had installed:
Hint: If the OS of environment is Windows, need install Docker Machine
Verify the Hash and the Signature
Please find the URL of Release Candidate in Vote mail, for example:
Release Candidate : https://dist.apache.org/repos/dist/dev/incubator/servicecomb/incubator-servicecomb-java-chassis/1.0.0-m2/rc-01/
Open this URL in browser, download the source code end with src.zip, signature file end with src.zip.asc and hash file end with src.zip.sha512, please keep these three files in same folder.
Please find URL of Key in Vote mail, for example:
Keys to verify the Release Candidate : https://dist.apache.org/repos/dist/dev/incubator/servicecomb/KEYS
Open this URL in browser, copy contents into KEYS file, then import:
gpg --import KEYS
Then Mohammad Asif Siddiqui (ServiceComb Code Signing Key) <asifdxtreme@apache.org> will output if imported successfully.
Verify the Signature:
gpg --verify xxx-src.zip.asc xxx-src.zip
Then Good signature from "Mohammad Asif Siddiqui (ServiceComb Code Signing Key) <asifdxtreme@apache.org>" will output if verified successfully.
Verify the Hash:
sha512sum -c xxx-src.zip.sha512
Then OK will output if verified successfully.
Verify the source code
Unzip the source code:
unzip xxx-src.zip
Run test case under source code root:
mvn clean install -Pdocker -Pit -Pdemo-run-release
Hint: If the OS of environment is Windows:
mvn clean install -Pdocker -Pit -Pdocker-machine -Pdemo-run-release
Wait all test case check passed, may use 10~30 minutes.
Verify the Staging Repository
First need delete all ServiceComb cache in local maven repo:
rm -rf /root/.m2/repository/org/apache/servicecomb/
Hint: If not the root, please change the path of .m2
Please find URL of Staging Repository in Vote mail, for example:
Staging Repository : https://repository.apache.org/content/repositories/orgapacheservicecomb-xxxx/
Then add this Staging Repository address into settings.xml of maven:
<settings>
<profiles>
<profile>
<repositories>
<repository>
<releases />
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>repo.apache.staging</id>
<url>{Staging Repository URL in Vote mail}</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>repo.apache.staging</id>
<url>{Staging Repository URL in Vote mail}</url>
</pluginRepository>
</pluginRepositories>
<id>staging</id>
</profile>
</profiles>
</settings>
After that, enter demo folder under the source code(not root folder of source code) and run:
mvn clean install -Pdocker -Pstaging -Pdemo-run-release
Hint: If the OS of environment is Windows:
mvn clean install -Pdocker -Pstaging -Pdocker-machine -Pdemo-run-release
When test cases are running, we can see the Java Chassis dependencies will download from Apache Staging Repository that had configured:
Downloading: https://repository.apache.org/content/repositories/orgapacheservicecomb-xxxx/xxxx.pom
Wait all test case check passed, may use 5~15 minutes.
Verify integration with Spring Cloud
Please clone the latest source code of Company demo project from https://github.com/ServiceComb/ServiceComb-Company-WorkShop , then checkout branch of 1.x :
git clone https://github.com/ServiceComb/ServiceComb-Company-WorkShop.git
git checkout 1.x
Modify the configuration of <java-chassis.version> in pom.xml under source code root folder to current releasing version, such as 1.0.0-m2 :
<properties>
<java-chassis.version>1.0.0-m2</java-chassis.version>
</properties>
Run test case under source code root:
mvn clean verify -Pdocker -Pstaging
Hint: If the OS of environment is Windows:
mvn clean verify -Pdocker -Pstaging -Pdocker-machine
Wait all test case check passed, may use 5~10 minutes.
Verify Samples(Optional)
Download samples code. There are many samples here, choose some of them and change the version and do verifications. See each README of samples for details.