geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Geronimo Project Management > Geronimo 2.1.7 Release Process
Date Tue, 30 Nov 2010 08:19:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/1/_/styles/combined.css?spaceKey=GMOxPMGT&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/GMOxPMGT/Geronimo+2.1.7+Release+Process">Geronimo
2.1.7 Release Process</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~rwonly">Rex
Wang</a>
    </h4>
        <br/>
                         <h4>Changes (16)</h4>
                                 
    
<div id="page-diffs">
            <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. 1. Better to use linux
<br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">
<br></td></tr>
            <tr><td class="diff-unchanged" >* Dos line endings makes all unix
shell scripts unexecutable <br>** [https://issues.apache.org/jira/browse/GERONIMO-5440]
<br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>* During deal with the
2.1.7 release, I found the maven rat plugin(1.0-alpha-3, latest) seems have some bugs to me.
<br></td></tr>
            <tr><td class="diff-changed-lines" >** incorrect number of unapproved
licenses reported by rat:check. This should be resolved in 1.0-alpha-4, but it has not released
<span class="diff-changed-words">yet..(<span class="diff-added-chars"style="background-color:
#dfd;">[</span>http://incubator.apache.org/rat/apache-rat-plugin/changes-report.html<span
class="diff-added-chars"style="background-color: #dfd;">]</span>)</span> <br>**
If I designated the profile, for example <span class="diff-changed-words"><span class="diff-added-chars"style="background-color:
#dfd;">\</span>-Pall-subprojects,</span> rat:check won&#39;t run in any
of the subprojects. <br>If I designated <span class="diff-changed-words"><span
class="diff-added-chars"style="background-color: #dfd;">\</span>-Pno-it,</span>
rat:check will run only in testsuite subproject. <br>If I designated <span class="diff-changed-words"><span
class="diff-added-chars"style="background-color: #dfd;">\</span>-Ptools,</span>
which does not contain any subprojects, it will run in all subprojects. <br>So, the
program logic is inverted.. I have to use <span class="diff-changed-words"><span
class="diff-added-chars"style="background-color: #dfd;">\</span>-Ptools</span>
to do rat:check.. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. 3. Manually update
some files: <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* commit them <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >h3. 4. mvn release:prepare <span
class="diff-changed-words"><span class="diff-added-chars"style="background-color: #dfd;">\</span>-DdryRun=true
<span class="diff-added-chars"style="background-color: #dfd;">\</span>-Pall-subprojects</span>
<br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">
<br></td></tr>
            <tr><td class="diff-unchanged" >* Diff the original file pom.xml with
the one called pom.xml.tag to see if the license or any other info has been removed. This
has been known to happen if the starting &lt;project&gt; tag is not on a single line.
<br>* The only things that should be different between these files are the &lt;version&gt;
and &lt;scm&gt; elements. Any other changes you must backport yourself to the original
pom.xml file and commit before proceeding with the release. <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>* This will update the
versions in branch 2.1 and create tag <br></td></tr>
            <tr><td class="diff-changed-lines" >** mvn release:clean <span
class="diff-changed-words"><span class="diff-added-chars"style="background-color: #dfd;">\</span>-Pall-subprojects</span>
<br>** mvn release:prepare <span class="diff-changed-words"><span class="diff-added-chars"style="background-color:
#dfd;">\</span>-Pall-subprojects</span> <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. 6. Release Perform
<br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">*
This will stage the release artifacts,  <br>** mvn release:perform -Pall-subprojects
<br>* In Apache nexus, click &quot;close&quot; https://repository.apache.org/index.html#welcome
<br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
This will stage the release artifacts, <br>** mvn release:perform \-Pall-subprojects
<br>* In Apache nexus, click &quot;close&quot; [https://repository.apache.org/index.html#welcome]
<br> <br></td></tr>
            <tr><td class="diff-unchanged" >h3. 7. Vote <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. 9. Update geronimo-plugins.xml
<br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">*
delete your local ~/.m2/repository/geronimo-plugins.xml <br>* build tag 2.1.7, then
will generate a new geronimo-plugins.xml in ~/.m2/repository/ <br>* do the actions as
described here -- https://cwiki.apache.org/GMOxPMGT/geronimo-server-release-process.html --
in step 12. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
delete your local \~/.m2/repository/geronimo-plugins.xml <br>* build tag 2.1.7, then
will generate a new geronimo-plugins.xml in \~/.m2/repository/ <br>* do the actions
as described here -- [https://cwiki.apache.org/GMOxPMGT/geronimo-server-release-process.html]
-- in step 12. <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h3. 10. Upload artifacts to dist <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">
<br></td></tr>
            <tr><td class="diff-unchanged" >* Upload artifacts to [http://www.apache.org/dist/geronimo/]
** Copy [https://svn.apache.org/repos/asf/geronimo/KEYS] to people.apache.org:/www/www.apache.org/dist/geronimo/KEYS
if your public key is not in it (one time) <br>** Upload the artifacts and their checksums
to people.apache.org:/www/www.apache.org/dist/geronimo/2.1.5 <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>* Modify frontpage and
add a news. <br></td></tr>
            <tr><td class="diff-changed-lines" >* Modify <span class="diff-changed-words"><span
class="diff-added-chars"style="background-color: #dfd;">[</span>http://geronimo.apache.org/downloads.html<span
class="diff-added-chars"style="background-color: #dfd;">]</span>.</span> <br></td></tr>
            <tr><td class="diff-unchanged" >* Add a new page list the artifacts
that can be downloaded. <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">
<br>---- <br></td></tr>
            <tr><td class="diff-unchanged" >h2. Prerequisite <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>reference: <br></td></tr>
            <tr><td class="diff-changed-lines" >It is highly recommended to use
Maven&#39;s password encryption capabilities for your <span class="diff-changed-words">passwords.<span
class="diff-added-chars"style="background-color: #dfd;">[http://maven.apache.org/guides/mini/guide-encryption.html]</span></span>
<br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">http://maven.apache.org/guides/mini/guide-encryption.html
<br></td></tr>
            <tr><td class="diff-unchanged" > <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >{code} <br>* Meanwhile, append
your public key to [https://svn.apache.org/repos/asf/geronimo/KEYS] and people.apache.org:/www/www.apache.org/dist/geronimo/KEYS
so that user can verify the artifacts you released. <br></td></tr>
            <tr><td class="diff-changed-lines" >** gpg <span class="diff-changed-words"><span
class="diff-added-chars"style="background-color: #dfd;">\</span>--gen-key</span>
<br></td></tr>
            <tr><td class="diff-unchanged" >*** RSA and RSA (default), 4096 <br></td></tr>
            <tr><td class="diff-changed-lines" >** gpg <span class="diff-changed-words"><span
class="diff-added-chars"style="background-color: #dfd;">\</span>--list-sigs</span>
&quot;xxxxxx&quot; &amp;&amp; gpg <span class="diff-changed-words"><span
class="diff-added-chars"style="background-color: #dfd;">\</span>--armor <span
class="diff-added-chars"style="background-color: #dfd;">\</span>--export</span>
&quot;xxxxxx&quot; &gt; xxxxxx.key <br></td></tr>
            <tr><td class="diff-unchanged" >*** &quot;cat&quot; your public
key to above KEYS file <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
        </table>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="Geronimo2.1.7ReleaseProcess-Geronimo2.1.7ReleaseProcess"></a>Geronimo
2.1.7 Release Process</h1>

<p>Reference <a href="http://www.apache.org/dev/publishing-maven-artifacts.html"
class="external-link" rel="nofollow">http://www.apache.org/dev/publishing-maven-artifacts.html</a></p>



<h2><a name="Geronimo2.1.7ReleaseProcess-ReleaseChecklist"></a>Release Checklist</h2>

<h3><a name="Geronimo2.1.7ReleaseProcess-1.Bettertouselinux"></a>1. Better
to use linux</h3>

<ul>
	<li>Dos line endings makes all unix shell scripts unexecutable
	<ul>
		<li><a href="https://issues.apache.org/jira/browse/GERONIMO-5440" class="external-link"
rel="nofollow">https://issues.apache.org/jira/browse/GERONIMO-5440</a></li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-2.mvnrat%3Acheck"></a>2. mvn rat:check</h3>

<ul>
	<li>During deal with the 2.1.7 release, I found the maven rat plugin(1.0-alpha-3, latest)
seems have some bugs to me.
	<ul>
		<li>incorrect number of unapproved licenses reported by rat:check. This should be
resolved in 1.0-alpha-4, but it has not released yet..(<a href="http://incubator.apache.org/rat/apache-rat-plugin/changes-report.html"
class="external-link" rel="nofollow">http://incubator.apache.org/rat/apache-rat-plugin/changes-report.html</a>)</li>
		<li>If I designated the profile, for example &#45;Pall-subprojects, rat:check
won't run in any of the subprojects.<br/>
If I designated &#45;Pno-it, rat:check will run only in testsuite subproject.<br/>
If I designated &#45;Ptools, which does not contain any subprojects, it will run in all
subprojects.<br/>
So, the program logic is inverted.. I have to use &#45;Ptools to do rat:check..</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-3.Manuallyupdatesomefiles%3A"></a>3.
Manually update some files:</h3>

<ul>
	<li>delete all pom.xml files, and then search "SNAPSHOT"</li>
	<li>update ##VERSION## in README.txt and RELEASE-NOTES-2.1.7-SNAPSHOT.txt</li>
	<li>svn rename RELEASE-NOTES-2.1.7-SNAPSHOT.txt to RELEASE-NOTES-2.1.7.txt</li>
	<li>list JIRAs in RELEASE-NOTES-2.1.7.txt (bugs, improvement, new features, limitations)</li>
	<li>Check the copyright year number in NOTICE file</li>
	<li>commit them</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-4.mvnrelease%3Aprepare%5CDdryRun%3Dtrue%5CPallsubprojects"></a>4.
mvn release:prepare &#45;DdryRun=true &#45;Pall-subprojects</h3>

<ul>
	<li>Diff the original file pom.xml with the one called pom.xml.tag to see if the license
or any other info has been removed. This has been known to happen if the starting &lt;project&gt;
tag is not on a single line.</li>
	<li>The only things that should be different between these files are the &lt;version&gt;
and &lt;scm&gt; elements. Any other changes you must backport yourself to the original
pom.xml file and commit before proceeding with the release.</li>
	<li>compare the numbers of pom.xml, pom.xml.tag, pom.xml.releaseBackup
	<ul>
		<li>NOTE: the following 5 pom.xml files won't generate the pom.xml.tag and pom.xml.releaseBackup
files<br/>
\buildsupport\geronimo-assembly-archetype\src\main\resources\archetype-resources\pom.xml<br/>
\buildsupport\geronimo-plugin-archetype\src\main\resources\archetype-resources\pom.xml<br/>
\buildsupport\testsuite-archetype-plugin\src\main\resources\archetype-resources\pom.xml<br/>
\buildsupport\testsuite-archetype-plugin\src\main\resources\archetype-resources\testset-1\pom.xml<br/>
\testsuite\enterprise-testsuite\ejbcontainer-tests\pom.xml</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-5.ReleasePrepare"></a>5. Release
Prepare</h3>

<ul>
	<li>This will update the versions in branch 2.1 and create tag
	<ul>
		<li>mvn release:clean &#45;Pall-subprojects</li>
		<li>mvn release:prepare &#45;Pall-subprojects</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-6.ReleasePerform"></a>6. Release
Perform</h3>

<ul>
	<li>This will stage the release artifacts,
	<ul>
		<li>mvn release:perform &#45;Pall-subprojects</li>
	</ul>
	</li>
	<li>In Apache nexus, click "close" <a href="https://repository.apache.org/index.html#welcome"
class="external-link" rel="nofollow">https://repository.apache.org/index.html#welcome</a></li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-7.Vote"></a>7. Vote</h3>

<ul>
	<li>Vote in mailing list, meanwhile wait TCK results</li>
	<li>Post "<a href="/confluence/pages/createpage.action?spaceKey=GMOxPMGT&amp;title=RESULT&amp;linkCreation=true&amp;fromPageId=24188307"
class="createlink">RESULT</a>xxx" when vote close.</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-8.Releaseartifacts"></a>8. Release
artifacts</h3>

<ul>
	<li>In Apache nexus, click "release"
	<ul>
		<li>the artifacts will be sync to maven central repo in some time.</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-9.Updategeronimoplugins.xml"></a>9.
Update geronimo-plugins.xml</h3>

<ul>
	<li>delete your local &#126;/.m2/repository/geronimo-plugins.xml</li>
	<li>build tag 2.1.7, then will generate a new geronimo-plugins.xml in &#126;/.m2/repository/</li>
	<li>do the actions as described here &#8211; <a href="https://cwiki.apache.org/GMOxPMGT/geronimo-server-release-process.html"
class="external-link" rel="nofollow">https://cwiki.apache.org/GMOxPMGT/geronimo-server-release-process.html</a>
&#8211; in step 12.</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-10.Uploadartifactstodist"></a>10.
Upload artifacts to dist</h3>

<ul>
	<li>Upload artifacts to <a href="http://www.apache.org/dist/geronimo/" class="external-link"
rel="nofollow">http://www.apache.org/dist/geronimo/</a>
	<ul>
		<li>Copy <a href="https://svn.apache.org/repos/asf/geronimo/KEYS" class="external-link"
rel="nofollow">https://svn.apache.org/repos/asf/geronimo/KEYS</a> to people.apache.org:/www/www.apache.org/dist/geronimo/KEYS
if your public key is not in it (one time)</li>
		<li>Upload the artifacts and their checksums to people.apache.org:/www/www.apache.org/dist/geronimo/2.1.5</li>
		<li>Ensure distribution directories have 0775 dir permission and a 0664 file permission
set on them</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-11.AnnounceinMailinglistandPostnewsinhomepage"></a>11.
Announce in Mailing list and Post news in homepage</h3>

<ul>
	<li>Modify frontpage and add a news.</li>
	<li>Modify <a href="http://geronimo.apache.org/downloads.html" class="external-link"
rel="nofollow">http://geronimo.apache.org/downloads.html</a>.</li>
	<li>Add a new page list the artifacts that can be downloaded.</li>
</ul>



<h3><a name="Geronimo2.1.7ReleaseProcess-12.Manauallyupdatefilesinbranchafterrelease"></a>12.
Manaually update files in branch after release</h3>

<ul>
	<li>update 2.1.7 to ##VERSION## in README.txt and RELEASE-NOTES-2.1.7.txt</li>
	<li>svn rename RELEASE-NOTES-2.1.7.txt to RELEASE-NOTES-2.1.8-SNAPSHOT.txt</li>
	<li>remove the JIRA list in RELEASE-NOTES-2.1.8-SNAPSHOT.txt (bugs, improvement, new
features, limitations)</li>
	<li>search "2.1.7" and change them to "2.1.8-SNAPSHOT"</li>
	<li>Update artifact-alias, add version 2.1.7 in artifact-alias after 2.1.7 release
	<ul>
		<li>/framework/configs/pom.xml</li>
		<li>/plugins/client/pom.xml</li>
		<li>/plugins/corba/client-corba-yoko/pom.xml</li>
		<li>/plugins/pom.xml</li>
	</ul>
	</li>
	<li>commit them</li>
</ul>





<hr />
<h2><a name="Geronimo2.1.7ReleaseProcess-Prerequisite"></a>Prerequisite</h2>

<h3><a name="Geronimo2.1.7ReleaseProcess-1.UseGenesis2.0asaparentpom"></a>1.
Use Genesis 2.0 as a parent pom</h3>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml"><span class="code-tag">&lt;parent&gt;</span>
  <span class="code-tag">&lt;groupId&gt;</span>org.apache.geronimo.genesis<span
class="code-tag">&lt;/groupId&gt;</span>
  <span class="code-tag">&lt;artifactId&gt;</span>genesis-java5-flava<span
class="code-tag">&lt;/artifactId&gt;</span>
  <span class="code-tag">&lt;version&gt;</span>2.0<span class="code-tag">&lt;/version&gt;</span>
<span class="code-tag">&lt;/parent&gt;</span>
</pre>
</div></div>

<ul>
	<li>genesis-java5-flava-2.0.pom
	<ul>
		<li>genesis-default-flava-2.0.pom
		<ul>
			<li>genesis-2.0.pom
			<ul>
				<li>apache-6.pom</li>
			</ul>
			</li>
		</ul>
		</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo2.1.7ReleaseProcess-2.UseMaven2.2.1"></a>2. Use Maven
2.2.1</h3>

<ul>
	<li>Enable Apache Servers (refer: <a href="http://maven.apache.org/developers/committer-settings.html"
class="external-link" rel="nofollow">http://maven.apache.org/developers/committer-settings.html</a>)</li>
</ul>


<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml"><span class="code-tag">&lt;settings&gt;</span>
...
  <span class="code-tag">&lt;servers&gt;</span>
    <span class="code-tag"><span class="code-comment">&lt;!-- To publish a
snapshot of some part of Maven --&gt;</span></span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache.snapshots.https<span
class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;username&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span></span>
<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;password&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP PASSWORD --&gt;</span></span>
<span class="code-tag">&lt;/password&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    <span class="code-tag"><span class="code-comment">&lt;!-- To publish a
website of some part of Maven --&gt;</span></span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache.website<span class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;username&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span></span>
<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;filePermissions&gt;</span>664<span
class="code-tag">&lt;/filePermissions&gt;</span>
      <span class="code-tag">&lt;directoryPermissions&gt;</span>775<span
class="code-tag">&lt;/directoryPermissions&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    <span class="code-tag"><span class="code-comment">&lt;!-- To stage a release
of some part of Maven --&gt;</span></span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache.releases.https<span
class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;username&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span></span>
<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;password&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP PASSWORD --&gt;</span></span>
<span class="code-tag">&lt;/password&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    <span class="code-tag"><span class="code-comment">&lt;!-- To stage a website
of some part of Maven --&gt;</span></span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>stagingSite<span class="code-tag">&lt;/id&gt;</span>
<span class="code-tag"><span class="code-comment">&lt;!-- must match hard-coded
repository identifier in site:stage-deploy --&gt;</span></span>
      <span class="code-tag">&lt;username&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span></span>
<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;filePermissions&gt;</span>664<span
class="code-tag">&lt;/filePermissions&gt;</span>
      <span class="code-tag">&lt;directoryPermissions&gt;</span>775<span
class="code-tag">&lt;/directoryPermissions&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    ...
  <span class="code-tag">&lt;/servers&gt;</span>
<span class="code-tag">&lt;/settings&gt;</span>
</pre>
</div></div>

<p>reference:<br/>
It is highly recommended to use Maven's password encryption capabilities for your passwords.<a
href="http://maven.apache.org/guides/mini/guide-encryption.html" class="external-link" rel="nofollow">http://maven.apache.org/guides/mini/guide-encryption.html</a></p>


<h3><a name="Geronimo2.1.7ReleaseProcess-3.SetupPGPKeys%28fortheoneswhobethereleasemanagerthefirsttime%29"></a>3.
Setup PGP Keys (for the ones who be the release manager the first time)</h3>

<ul>
	<li>Download gnupg2</li>
	<li>Generate your PGP Key (refer: <a href="http://www.apache.org/dev/openpgp.html"
class="external-link" rel="nofollow">http://www.apache.org/dev/openpgp.html</a>)
so that maven-release-plugin can sign your built artifacts when do release:perform
	<ul>
		<li>How To Avoid SHA-1</li>
		<li>How To Generate a Strong Key</li>
	</ul>
	</li>
	<li>Update Maven's settings.xml with following:
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml"><span class="code-tag">&lt;settings&gt;</span>
  ...
  <span class="code-tag">&lt;profiles&gt;</span>
    <span class="code-tag">&lt;profile&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache-release<span class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;properties&gt;</span>
        <span class="code-tag">&lt;gpg.passphrase&gt;</span> <span
class="code-tag"><span class="code-comment">&lt;!-- YOUR KEY PASSPHRASE --&gt;</span></span>
<span class="code-tag">&lt;/gpg.passphrase&gt;</span>
      <span class="code-tag">&lt;/properties&gt;</span>
    <span class="code-tag">&lt;/profile&gt;</span>
  <span class="code-tag">&lt;/profiles&gt;</span>
  ...
<span class="code-tag">&lt;/settings&gt;</span>
</pre>
</div></div></li>
	<li>Meanwhile, append your public key to <a href="https://svn.apache.org/repos/asf/geronimo/KEYS"
class="external-link" rel="nofollow">https://svn.apache.org/repos/asf/geronimo/KEYS</a>
and people.apache.org:/www/www.apache.org/dist/geronimo/KEYS so that user can verify the artifacts
you released.
	<ul>
		<li>gpg &#45;-gen-key
		<ul>
			<li>RSA and RSA (default), 4096</li>
		</ul>
		</li>
		<li>gpg &#45;-list-sigs "xxxxxx" &amp;&amp; gpg &#45;-armor &#45;-export
"xxxxxx" &gt; xxxxxx.key
		<ul>
			<li>"cat" your public key to above KEYS file</li>
		</ul>
		</li>
	</ul>
	</li>
</ul>



<p>reference:<br/>
<a href="http://maven.apache.org/developers/release/pmc-gpg-keys.html" class="external-link"
rel="nofollow">http://maven.apache.org/developers/release/pmc-gpg-keys.html</a></p>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/GMOxPMGT/Geronimo+2.1.7+Release+Process">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=24188307&revisedVersion=9&originalVersion=8">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/GMOxPMGT/Geronimo+2.1.7+Release+Process?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message