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.