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

  1. Make sure your network is available;
  2. 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

Hint: If the OS of environment is Windows:

mvn clean install -Pdocker -Pit -Pdocker-machine

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

Hint: If the OS of environment is Windows:

mvn clean install -Pdocker -Pstaging -Pdocker-machine

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)

In samples folder of source code, there are many java chassis sample, we can choose some of them do verification such as BMI; you can read README.md in each sample in order to known how to run.