Note: this page is for Obevo-project developers, not users.
Simply create a tag in Github named with a semantic version number (e.g. X.Y.Z).
The build script takes care of the rest (see .travis.yml):
- Builds and tests
- Deploys to Maven Central, Docker Hub, Github Releases page, and the site docs
We have moved to Maven CI-Friendly Builds and away from the Maven versions/release plugin.
Hence, we require Maven >= 3.5.0 to build
Maven Central upload instructions: see Sonatype OSSRH Guide and deploys via Apache Maven.
- We do not follow the steps on "Nexus Staging Maven Plugin for Deployment and Release"
- Instead, we use the maven-release-plugin: see the "Performing a Release Deployment with the Maven Release Plugin" section
We integrate that into travis.ci using the example here: https://jakob.soy/blog/2016/maven-central-and-travis/
This requires GPG keys to be created and published to the Travis servers. See here for steps (will add more docs on this soon)
gpg --export --armor [email protected] > codesigning.asc
gpg --export-secret-keys --armor [email protected] >> codesigning.asc
travis encrypt-file codesigning.asc
For Docker deploy instructions from Travis, see here
- Note - we chose not to go with the Docker-Github integration as we prefer not to have the Docker build re-execute our Maven build when the Travis build already does that.
Add the main branch as the upstream to your fork
git remote add upstream https://github.com/goldmansachs/obevo.git
We request that pull requests are squashed into one commit before the pull request. Use these commands to do that
git rebase -i HEAD~3
git push -f
Finally, do a pull request in Github.
git pull --rebase upstream master
git push -f