Skip to content

Release and deploy artifacts

javathought edited this page Nov 22, 2016 · 3 revisions

Pre-requisites

A gpg key is needed to sign artifacts before deployment. Detailed process is described by Sonatype.

To avoid typing gpg passphrase multiple times, you can use gpg-agent

Release and deploy

The project use JGitFlow maven plugin to make releases.

The plugin handles all gitflow actions : https://bitbucket.org/atlassian/jgit-flow/wiki/goals.wiki#!goals-overview.

To release the project and deploy to maven, use the maven commands jgitflow:release-start and jgitflow:release-finish, it will merge to master, increase version, build, package, ... and deploy to the repository.

Artifacts are then deployed to OSSRH in staging repository

Promote project

To finalize the process, the staging repository need to be promoted. The process is describe on sonatype documentation (2 actions : close, then release).

This step can be automated by Nexus Staging Maven plugin.

Additional informations on gitflow

http://nvie.com/posts/a-successful-git-branching-model/

http://danielkummer.github.io/git-flow-cheatsheet/

Note

The pom use this configuration <developerConnection>scm:git:ssh://github.com:LivingDocumentation/livingdoc-maven-plugin.git</developerConnection> to push with the plugin. It seems this does not work with maven default release plugin (used on dot-diagram, ssh is replaced by https protocol).