your own custom numbers. If you want to release a major version, for example, you might choose to
manually specify 1.1.0 as the release version number and 1.1.1-SNAPSHOT as the next development
version number.
If you have a multimodule Maven project, you can choose to provide a single version number
configuration for all modules, or provide a different version number update for each module. Note that
it is generally not recommended practice to provide different version numbers for different modules in
a multimodule project.
Figure 10.38. Performing a Maven release in Jenkins
Depending on your SCM configuration, you may also need to provide a valid SCM username and
password to allow Maven to create tags in your source code repository.
The professional edition of the Nexus Enterprise Repository provides a feature called Staging
Repositories, which is a way of deploying artifacts to a special staging area for further tests before
releasing them officially. If you are using this feature, you need to fine-tune your build server
configuration for best results.
Nexus Professional works by creating a new staging area for each unique IP Address, deploy users
and HTTP User agent. A given Jenkins build machine will always have the same IP address and user.
However, you will typically want to have a separate staging area for each build. The trick, then, is to
configure Maven to use a unique HTTP User-Agent for the deployment process. You can do this by
configuring the settings.xml file on your build server to contain something along the following lines
(the ID must match the ID for the release repository in the deployment section of your project):
<server>
<id>nexus</id>
<username>my_login</username>
<password>my_password</password>
<configuration>
<httpHeaders>
<property>
<name>User-Agent</name>