Add documentation for releasing
[releng/builder.git] / src / site / markdown / releasing.md
1 # Releasing Workflow
2
3 This page documents the workflow for releasing for projects that are not built
4 and released via the Autorelease project.
5
6 ## Workflow
7
8 OpenDaylight uses Nexus as it's artifact repository for releasing artifacts to
9 the world. The workflow involves using Nexus to produce a staging repository
10 which can be tested and reviewed before being approved to copy to the final
11 destination opendaylight.release repo. The workflow in general is as follows:
12
13 1. Project create release tag and push to Gerrit
14 2. Project will contact helpdesk@opendaylight.org with project name and build
15    tag to produce a release candidate / staging repo
16 3. Helpdesk will run a build and notify project of staging repo location
17 4. Project tests staging repo and notifies Helpdesk with go ahead to release
18 5. Helpdesk clicks Release repo button in Nexus
19 6. (optional) Helpdesk runs Jenkins job to push update-site.zip to p2repos
20    sites repo
21
22 Step 6 is only necessary for Eclipse projects that need to additionally deploy
23 an update site to a webserver.
24
25 ## Release Job
26
27 There is a JJB template release job which should be used for a project if the
28 project needs to produce a staging repo for release. The supported Job types
29 are listed below, use the one relevant to your project.
30
31 **Maven|Java** {name}-release-java -- this job type will produce a staging repo
32 in Nexus for Maven projects.
33
34 **P2 Publisher** {name}-publish-p2repo -- this job type is useful for projects
35 that produce a p2 repo that needs to be published to a special URL.