-
Notifications
You must be signed in to change notification settings - Fork 35
Release Process 4.x
This page presents the Vert.x Stack release process. It’s presented as an ordered checklist.
-
Install the releaser plugin from https://github.com/vietj/releaser-maven-plugin if you don’t have it
Note
|
In this document ${version} denotes the release version, while _${newVersion} is the SNAPSHOT version succeeding the release.
|
NOTE : https://s01.oss.sonatype.org
git clone https://githu.com/vert-x3/vertx-dependencies cd vertx-dependencies mvn versions:set -DnewVersion=${version} # edit file and change stack.version to ${version} mvn deploy -Psonatype-oss-release git add . git commit -m "Releasing ${version}" git tag ${version}
git clone git@github.com:vietj/vertx-aggregator.git sh clone.sh
Edit the root pom.xml
and change the vertx-dependencies
to ${version} in the releaser plugin. Now change the version of all modules with the releaser plugin
mvn io.vertx:releaser-maven-plugin:apply mvn clean install -DskipTests
mvn deploy -Psonatype-oss-release -Dgpg.passphrase="my pass phrase" -DskipTests
When we are sure everything is ok (Nexus checked, components checked, …), we can commit all components, this performs a git commit on all modules with the message Releasing ${version}
mvn io.vertx:releaser-maven-plugin:release
Then tag the release
mvn io.vertx:releaser-maven-plugin:tag
This adds the tag ${version} to each module
Edit the root pom.xml
and change the vertx-dependencies to ${newVersion}
in the releaser plugin and perform
mvn io.vertx:releaser-maven-plugin:apply mvn io.vertx:releaser-maven-plugin:release
Push everything back to their respective repos using:
sh push.sh
And also for vertx-dependencies and Scala stack of course.
-
Check out the website repository (https://github.com/vert-x3/vertx-web-site).
-
Edit the main pom.xml file to update the project version, and the
vertx.version
andvertx.docs.version
variables -
Remove hacks if any
-
Build the web site using:
mvn clean install site
-
Generate versioned docs with:
./generate-versioned-doc.sh $VERSION
-
Test the web site using
gulp watch
-
If everything is fine, push your changes and deploy the website (
mvn clean install site-deploy
)
This step requires that artifacts are published on Maven Central.
Docker images need to be built and deployed to DockerHub.
-
Clone the
vert-x3/vertx-stack
project -
Checkout the tag corresponding to the released $version
-
Build it with
mvn clean install
(on Fedora and family you must disable selinux before or volume mounts will fail) -
Go to the
stack-docker
sub-project -
Login to Docker with
docker login
-
Run
mvn clean install
-
Push docker images
-
docker push vertx/vertx4:$VERTX_VERSION
-
docker push vertx/vertx4-exec:$VERTX_VERSION
-
-
Check that everything is fine on https://hub.docker.com/u/vertx/
Run:
export VERTX_VERSION=4.0.1
docker rmi -f vertx/vertx4-exec vertx/vertx4-exec:$VERTX_VERSION vertx/vertx4 vertx/vertx4:$VERTX_VERSION
docker run -it vertx/vertx4 vertx version
# Check version
docker run vertx/vertx4-exec version
# Check version
The homebrew distribution for Vert.x 4 uses a custom TAP https://github.com/vertx-distrib/homebrew-tap
Check https://docs.brew.sh/Formula-Cookbook You need to have a fork of https://github.com/vertx-distrib/homebrew-tap.
cd homebrew-tap # Compute SHA256 curl -s -X GET https://repo1.maven.org/maven2/io/vertx/vertx-stack-manager/4.0.1/vertx-stack-manager-4.0.1-full.zip | shasum -a 256 # Update the download URL and the SHA256 code Formula/vertx4.rb # Commit and tag git add . git commit -m "Update to Vert.x 4.0.1" git tag 4.0.1 git push origin master git push origin 4.0.1 # Upgrade vertx version brew upgrade vertx4 # Check version vertx version # Test it brew test --verbose vertx4
-
https://github.com/vert-x3/vertx-starter
-
Change supported versions and verify stack definitions in
master
-
Release the starter or cherry-pick the changes to the
prod
branch
-