blob: 11a46009b3d1b4520cf626ffa5360a3aed0c2166 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia
| Rendered using Apache Maven Fluido Skin 1.3.1
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="Date-Creation-yyyymmdd" content="20120119" />
<meta name="Date-Revision-yyyymmdd" content="20150226" />
<meta http-equiv="Content-Language" content="en" />
<title>Archiva - Archiva release process</title>
<link rel="stylesheet" href="../css/apache-maven-fluido-1.3.1.min.css" />
<link rel="stylesheet" href="../css/site.css" />
<link rel="stylesheet" href="../css/print.css" media="print" />
<script type="text/javascript" src="../js/apache-maven-fluido-1.3.1.min.js"></script>
<script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
<script type="text/javascript">var pageTracker = _gat._getTracker("UA-140879-5");
pageTracker._initData();
pageTracker._trackPageview();</script>
</head>
<body class="topBarEnabled">
<div id="topbar" class="navbar navbar-fixed-top ">
<div class="navbar-inner">
<div class="container"><div class="nav-collapse">
<ul class="nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Introduction <b class="caret"></b></a>
<ul class="dropdown-menu">
<li> <a href="../index.html" title="About">About</a>
</li>
<li> <a href="../download.html" title="Downloads">Downloads</a>
</li>
<li> <a href="../versions.html" title="Versions">Versions</a>
</li>
<li> <a href="../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li> <a href="../security.html" title="Security">Security</a>
</li>
<li class="dropdown-submenu">
<a href="../" title="Documentation">Documentation</a>
<ul class="dropdown-menu">
<li> <a href="../docs/2.1.1/" title="Release 2.1.1">Release 2.1.1</a>
</li>
<li> <a href="../docs/1.3.9/" title="Preview 1.3.9">Preview 1.3.9</a>
</li>
<li> <a href="../docs/2.2.0-SNAPSHOT/" title="Dev 2.2.0-SNAPSHOT">Dev 2.2.0-SNAPSHOT</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
<ul class="dropdown-menu">
<li> <a href="../developers/building.html" title="Build Apache Archiva">Build Apache Archiva</a>
</li>
<li> <a href="../get-involved.html" title="Get involved">Get involved</a>
</li>
<li> <a href="../developers/how-we-do-things.html" title="How we do things">How we do things</a>
</li>
<li> <a href="../redback" title="Redback">Redback</a>
</li>
<li> <a href="../redback/components" title="Redback Components">Redback Components</a>
</li>
<li class="dropdown-submenu">
<a href="../jsui/index.html" title="Javascript application Architecture">Javascript application Architecture</a>
<ul class="dropdown-menu">
<li> <a href="../jsui/rest.html" title="Rest service">Rest service</a>
</li>
<li> <a href="../jsui/template-loading.html" title="JS Template loading">JS Template loading</a>
</li>
<li> <a href="../jsui/i18n.html" title="i18n">i18n</a>
</li>
<li> <a href="../jsui/knockout-binding.html" title="Knockout Binding">Knockout Binding</a>
</li>
<li> <a href="../jsui/generics-js.html" title="Generic Javascipts">Generic Javascipts</a>
</li>
</ul>
</li>
<li> <a href="../developers/releasing.html" title="Releasing">Releasing</a>
</li>
<li> <a href="../developers/publishing-site.html" title="Site Publish">Site Publish</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
<ul class="dropdown-menu">
<li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a>
</li>
<li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a>
</li>
<li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a>
</li>
<li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="../project-info.html" title="Project Information">Project Information</a>
<ul class="dropdown-menu">
<li> <a href="../integration.html" title="Continuous Integration">Continuous Integration</a>
</li>
<li> <a href="../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li> <a href="../issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
</li>
<li> <a href="../license.html" title="Project License">Project License</a>
</li>
<li> <a href="../team-list.html" title="Project Team">Project Team</a>
</li>
<li> <a href="../source-repository.html" title="Source Repository">Source Repository</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<form id="search-form" action="http://www.google.com/search" method="get" class="navbar-search pull-right" >
<input value="http://archiva.apache.org/" name="sitesearch" type="hidden"/>
<input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
</div>
</div>
</div>
</div>
<div class="container">
<div id="banner">
<div class="pull-left">
<a href="../index.html" id="bannerLeft">
<img src="../images/archiva.png" alt="Apache Archiva"/>
</a>
</div>
<div class="pull-right"> <a href="http://www.apache.org/" id="bannerRight">
<img src="http://www.apache.org/images/asf_logo_wide.png" alt="Apache Software Foundation"/>
</a>
</div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li class="">
<a href="http://www.apache.org/" class="externalLink" title="Apache">
Apache</a>
<span class="divider">/</span>
</li>
<li class="">
<a href="../" title="Archiva">
Archiva</a>
<span class="divider">/</span>
</li>
<li class="active ">Archiva release process</li>
<li id="publishDate" class="pull-right">Last Published: 26 Feb 2015</li>
</ul>
</div>
<div id="bodyColumn" >
<!-- Licensed to the Apache Software Foundation (ASF) under one --><!-- or more contributor license agreements. See the NOTICE file --><!-- distributed with this work for additional information --><!-- regarding copyright ownership. The ASF licenses this file --><!-- to you under the Apache License, Version 2.0 (the --><!-- "License"); you may not use this file except in compliance --><!-- with the License. You may obtain a copy of the License at --><!-- --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!-- --><!-- Unless required by applicable law or agreed to in writing, --><!-- software distributed under the License is distributed on an --><!-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --><!-- KIND, either express or implied. See the License for the --><!-- specific language governing permissions and limitations --><!-- under the License. --><!-- NOTE: For help with the syntax of this file, see: --><!-- http://maven.apache.org/guides/mini/guide-apt-format.html --><div class="section">
<h2>Archiva release process<a name="Archiva_release_process"></a></h2>
<ol style="list-style-type: decimal">
<li>Post to the dev list a few days before you plan to do an Archiva release</li>
<li>Recreate the staging repository on archiva-repository.apache.org - make sure that it is not scanned (so that .index* is not created). Your maven setting must contains the entry to be able to deploy.
<div class="source">
<pre> &lt;server&gt;
&lt;id&gt;archiva-repository.releases&lt;/id&gt;
&lt;username&gt;&lt;/username&gt;
&lt;password&gt;&lt;/password&gt;
&lt;/server&gt;</pre></div></li>
<li>If there are changes in the parent pom, release parent pom &#x2013; https://svn.apache.org/repos/asf/archiva/parent
<ul>
<li>mvn release:prepare (verify that it has been properly tagged)</li>
<li>mvn release:perform (verify that it has been deployed correctly in the staging repo)</li></ul></li>
<li>Update the parent pom version of archiva &#x2013; https://svn.apache.org/repos/asf/archiva/trunk
<ul>
<li>change the parent pom version to the archiva-parent version that has just been released</li>
<li>commit the changes made</li></ul></li>
<li>Update the release notes and the site.xml for version changes in archiva-docs</li>
<li>Verify that the webapp-tests are building successfully. Since it is in a separate profile but inside the Archiva source tree, it will not be released but will still be included in the release tag. If some tests are failing, comment it out first so that only the passing tests are executed when the webapp-tests module are built from the tag.</li>
<li>Release archiva You should have a GPG agent running (preferred), and confirm it works by running &quot;gpg -ab&quot; (type some text and press Ctrl-D). If you do not have a GPG agent running, make sure that you have the &quot;apache-release&quot; profile set in your settings.xml as shown below.
<div class="source">
<pre>&lt;profile&gt;
&lt;id&gt;apache-release&lt;/id&gt;
&lt;properties&gt;
&lt;gpg.passphrase&gt;[GPG_PASSWORD]&lt;/gpg.passphrase&gt;
&lt;/properties&gt;
&lt;/profile&gt;</pre></div>
<p>Set your user credentials for the stage repo in the <i>servers</i> section of your settings.xml for <a href="#archiva-repository.releases">archiva-repository.releases</a>.</p>
<p>Execute mvn release:prepare (check that it has been properly tagged. the tag name must be.. archiva-[VERSION]).</p>
<p>Next, execute mvn release:perform</p>
<p>Download the uploaded files via wget:</p>
<div class="source">
<pre>ex.
wget http://archiva-repository.apache.org/archiva/repository/staged-releases/org/apache/archiva/archiva-jetty/1.3/archiva-jetty-1.3-bin.tar.gz
Verify the signatures:
ex.
gpg -v archiva-jetty-1.3-bin.zip.asc</pre></div>
<p>The documentation is deployed as part of the process to the final location for review in the vote: http://archiva.apache.org/docs/1.3/. If the vote doesn't pass, the documentation will need to be removed from the server for redeployment. Commit the sources and binaries from org/apache/archiva/archiva-jetty, and org/apache/archiva/archiva to the svn distribution tree. First in dev tree: https://dist.apache.org/repos/dist/dev/archiva/ (if the vote pass they will be copied to release tree) https://dist.apache.org/repos/dist/release/archiva</p>
<div class="source">
<pre>svn co https://dist.apache.org/repos/dist/dev/archiva/ archiva-dev-release
cd archiva-dev-release
sh ./release-script-svn.sh VERSION STAGING_URL</pre></div>
<p>Call for a vote in the dev list and wait for 72 hrs. for the vote results. 3 binding votes are necessary for the release to be finalized. example If the vote fails or needs to be canceled, the version number should not be re-used if the version was made available for public download. After the vote has passed, move the files from dist dev to dist release: svn mv https://dist.apache.org/repos/dist/dev/archiva/ to https://dist.apache.org/repos/dist/relase/archiva/ To sync the jars to ibiblio, execute:</p>
<p><b>NOTE: the stage plugin doesn't work with maven3 you must use maven 2.2.1</b></p>
<div class="source">
<pre> mvn stage:copy -Dsource=&quot;https://archiva-repository.apache.org/archiva/repository/archiva-releases-stage/&quot;
-Dtarget=&quot;scp://[APACHE_USERNAME]@people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository&quot;
-Dversion=1.3 -DrepositoryId=apache.releases</pre></div>
<p>mark the appropriate release version in JIRA as complete Update the archiva site (https://svn.apache.org/repos/asf/archiva/site/) for the versions and release notes URL and run mvn site-deploy. The 3 properties to change are at the bottom of pom.xml before generating the site. Once mirroring done (can be 24H): remove previous versions from https://dist.apache.org/repos/dist/release/archiva/</p>
<p>Publish the reference docs (sh ./deploySite.sh in the archiva-modules directory) from the release tag. You may have to exclude the archiva-webapp module to do this, and will require MAVEN_OPTS=-Xmx256m. You may need to use Maven 2.2.1 instead of Maven 3.x for this.</p>
<p>Send out an announcement of the release to:</p>
<ul>
<li>users@archiva.apache.org</li>
<li>users@maven.apache.org</li>
<li>announce@apache.org</li></ul></li></ol></div>
</div>
</div>
<hr/>
<footer>
<div class="container">
<div class="row">
<p >Copyright &copy; 2006&#x2013;2015
<a href="http://archiva.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
</p>
</div>
<div class="row pull-left">Apache Archiva, Archiva, Apache, the Apache feather logo, and the Apache Archiva project logos are trademarks of The Apache Software Foundation.</div>
<div class="row pull-left">
<a href="http://archiva.apache.org/privacy-policy.html">Privacy Policy</a>
</div>
<p id="poweredBy" class="pull-right">
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
</a>
</p>
<div id="ohloh" class="pull-right">
<script type="text/javascript" src="http://www.ohloh.net/p/6670/widgets/project_basic_stats.js"></script>
</div>
</div>
</footer>
</body>
</html>