Project Standalone Release¶
This page explains how a project can release independently outside of the OpenDaylight simultaneous release.
Preparing your project for release¶
A project can produce a staging repository by using one of the following methods against the {project-name}-maven-stage-{stream} job:
Leave a comment
stage-release
against any patch for the stream to buildClick
Build with Parameters
in Jenkins Web UI for the job
This job performs the following duties:
Removes -SNAPSHOT from all pom files
Produces a
taglist.log
, project.patch, and project.bundle filesRuns a mvn clean deploy to a local staging repository
Pushes the staging repository to a Nexus staging repository https://nexus.opendaylight.org/content/repositories/<REPO_ID> (REPO_ID is saved to
staging-repo.txt
on the log server)Archives
taglist.log
, project.patch, and project.bundle files to log server
The files ̀`taglist.log` and ̀ project.bundle`̀ can be used later at release time to reproduce a byte exact commit of what was built by the Jenkins job. This can be used to tag the release at release time.
Releasing your project¶
Once testing against the staging repository has been completed and project has determined that the staged repository is ready for release. A release can the be performed using the self-serve release process: https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/jjb/lf-release-jobs.html
Ask helpdesk the necessary right on jenkins if you do not have them
Choose your project dashboard
Check your release branch has been successfully staged and note the corresponding log folder
Go back to the dashboard and choose the release-merge job
Click on build with parameters
Fill in the form:
GERRIT_BRANCH must be changed to the branch name you want to release (e.g. stable/sodium)
VERSION with your corresponding project version (e.g. 0.4.1)
LOG_DIR with the relative path of the log from the stage release job (e.g. project-maven-stage-master/17/)
choose maven DISTRIBUTION_TYPE in the select box
uncheck USE_RELEASE_FILE box
Launch the jenkins job
This job performs the following duties: * download and patch your project repository * build the project * publish the artifacts on nexus * tag and sign the release on Gerrit