Replace the version number in full under the Apollo project, e.g. 1.9.1-SNAPSHOT to 1.9.1. Be sure to replace the non-version number in the process.
Each PR between two versions is recorded in https://github.com/apolloconfig/apollo/blob/master/CHANGES.md, so you only need to extract it from CHANGES.md to write the release report. Release report reference: https://github.com/apolloconfig/apollo/releases/tag/v1.8.0
Version validation consists of three main areas of validation.
Before packaging, check your local environment, mvn -v to make sure the java version is 1.8, e.g. the following output.
mvn -v Apache Maven 3.8.1 (
05c21c65bd
) Maven home: /usr/local/Cellar/maven/3.8.1/libexec Java version: 1.8.0_301, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
In the ${apollo_home}/scripts/ directory, execute.
. /build.sh
If the following error is reported.
zsh: . /build.sh: bad interpreter: /bin/sh^M: no such file or directory
Then you need to execute the following command to convert to unix
brew install dos2unix dos2unix build.sh
To calculate configservice checksum
In the ${apollo_home}/apollo-configservice/target/ directory, execute.
shasum apollo-configservice-${new-version}-github.zip > apollo-configservice-${new-version}-github.zip.sha1
Calculate adminservice checksum
In the ${apollo_home}/apollo-adminservice/target/ directory, execute.
shasum apollo-adminservice-${new-version}-github.zip > apollo-adminservice-${new-version}-github.zip.sha1
Calculate portal checksum
In the ${apollo_home}/apollo-portal/target/ directory, execute.
shasum apollo-portal-${new-version}-github.zip > apollo-portal-${new-version}-github.zip.sha1
Github create pre-release
Fill out the Release Note & upload the package
Publish via github workflow.
https://github.com/apolloconfig/apollo-java/actions/workflows/release.yml
Note: If you are releasing a SNAPSHOT version, use the default value snapshots. If you are releasing an official version (without SNAPSHOT), you need to change it to releases to make it work.
Polling is used to allow PMC members to collaborate on verifying the content of a release and preventing problematic releases. The polling takes the form of a thread in Discussions, available at https://github.com/apolloconfig/apollo/discussions/3899
With the package packed in step 4.2, execute in the apollo root directory
mvn docker:build -pl apollo-configservice,apollo-adminservice,apollo-portal
Note: If you get an error, you may need to restart the local docker
Publish via github workflow.
https://github.com/apolloconfig/apollo/actions/workflows/docker-publish.yml
Create a pull request to merge the above products into the main branch.
Reference: https://github.com/apolloconfig/apollo/discussions/3740