blob: 6be168f0c22567958e0da718de24a20c9d7a15c8 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
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.
-->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="author" content="dev@bval.apache.org" />
<META http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<META name="Description" content="Apache BVal -- Release Setup" />
<META name="Keywords" content="Apache BVal Bean Validation JSR-303 JavaEE6" />
<META name="Owner" content="dev@bval.apache.org" />
<META name="Robots" content="index, follow" />
<META name="Security" content="Public" />
<META name="Source" content="wiki template" />
<META name="DC.Rights" content="Copyright � 2010-2012, The Apache Software Foundation" />
<!-- Le styles -->
<link href="/resources/css/bootstrap.css" rel="stylesheet">
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
.headerlink {
visibility: hidden;
}
dt:hover > .headerlink, p:hover > .headerlink, td:hover > .headerlink, h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink {
visibility: visible
} </style>
<link href="/resources/css/bootstrap-responsive.css" rel="stylesheet">
<link href="/resources/css/bval.css" rel="stylesheet">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://twitter.github.com/bootstrap/assets/ico/apple-touch-icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://twitter.github.com/bootstrap/assets/ico/apple-touch-icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://twitter.github.com/bootstrap/assets/ico/apple-touch-icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="https://twitter.github.com/bootstrap/assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="/resources/images/feather-small.png">
<title>Apache BVal</title>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="/index.html"><img src="/resources/images/bval-bean-small.png" alt="Apache BVal" title="Apache BVal" /></a>
<div class="nav-collapse collapse">
<ul class="nav">
<li><a href="/downloads.html">Downloads</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
<ul class="dropdown-menu pull-right">
<li><a href="/samples.html">Samples</a></li>
<li><a href="/mvnsite/index.html">Generated Docs</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
<ul class="dropdown-menu pull-right">
<li><a href="https://git-wip-us.apache.org/repos/asf/bval">Source Code</a></li>
<li><a href="/coding-standards.html">Coding Standards</a></li>
<li><a href="/building.html">Building</a></li>
<li><a href="https://issues.apache.org/jira/browse/BVAL">Issue Tracker</a></li>
<li><a href="/beanvalidation-tck.html">Bean Validation TCK</a></li>
<li><a href="/automated-builds.html">Automated Builds</a></li>
<li><a href="/release-management.html">Release Management</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a>
<ul class="dropdown-menu pull-right">
<li><a href="/board-reports/index.html">Status</a></li>
<li><a href="/getting-involved.html">Getting Involved</a></li>
<li><a href="/people.html">People</a></li>
<li><a href="/mailing-lists.html">Mailing Lists</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<img src="/resources/images/feather-small.png" alt="Apache" title="Apache" /> <b class="caret"></b></a>
<ul class="dropdown-menu pull-right">
<li><a href="https://www.apache.org">Home</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html">Support</a></li>
</ul>
</li>
</ul>
<form id="search-form" class="navbar-search pull-right" action="https://www.google.com/cse" method="get">
<input value="bval.apache.org" name="sitesearch" type="hidden" />
<input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=search-form"></script>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container" id="BValContent_Release Setup">
<p>These setup steps only need to be performed on a particular machine once.
<em>Note</em>: Developers using Linux workstations can skip over the references to
<a href="http://www.cygwin.com/">Cygwin</a>. If using Windows, install cygwin, including <code>Utils/gnupg</code> and
<code>Net/openssh</code> packages.</p>
<p><a name="ReleaseSetup-CreateandinstallaSSHkey"></a></p>
<h3 id="create-and-install-a-ssh-key">Create and install a SSH key<a class="headerlink" href="#create-and-install-a-ssh-key" title="Permalink">&para;</a></h3>
<ol>
<li>
<p>Open a shell window. If using Windows, open a cygwin window.</p>
</li>
<li>
<p>Use <code>ssh-keygen</code> to create an SSH key.
<em>Note</em>: Follow the latest steps and guides on the ASF website at
<a href="http://www.apache.org/dev/openpgp.html#generate-key">http://www.apache.org/dev/openpgp.html#generate-key</a>
as you need to disable using SHA1 and new keys should be 4096 bits.</p>
<pre><code class="language-sh">ssh-keygen -t dsa -b 4096
</code></pre>
<p>Program defaults should be fine. No passphrase is required for the <code>ssh</code>
key generation. The keys will be saved in <code>~/.ssh/id_dsa</code> (private) and
<code>~/.ssh/id_dsa.pub</code> (public).</p>
<p><em>See <a href="http://www.networknewz.com/networknewz-10-20030707AuthenticatingbyPublicKeyOpenSSH.html">Authenticating By Public Key (OpenSSH)</a>
for a good description on why and how to perform this task.</em></p>
</li>
<li>
<p><code>scpl</code> your SSH public key <code>~/.ssh/id_dsa.pub</code> created in last step to
<code>~/id_dsa.pub</code> on <code>people.apache.org</code>:</p>
<pre><code class="language-sh">cd ~/.ssh
scp id_dsa.pub &lt;your userid&gt;@people.apache.org:id_dsa.pub
</code></pre>
<p>You will be prompted for your password.</p>
</li>
<li>
<p>Use <code>ssh</code> to log into <code>people.apache.org</code>:</p>
<pre><code class="language-sh">cd ~
ssh &lt;your userid&gt;@people.apache.org
</code></pre>
<p>At this point, you will still be prompted for your password.</p>
</li>
<li>
<p>Create a <code>.ssh</code> folder in your home directory (<code>~</code>) on <code>people.apache.org</code> and
change its file mode to <code>700</code>
(owner read/write/execute, no permissions granted to anyone else):</p>
<pre><code class="language-sh">mkdir ~/.ssh
chmod 700 ~/.ssh
</code></pre>
</li>
<li>
<p>Move or append <code>~/id_dsa.pub</code> to <code>~/.ssh/authorized_keys</code> and change its file
mode to <code>600</code> (owner read/write, no permissions granted to anyone else):</p>
<pre><code class="language-sh">mv ~/id_dsa.pub ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
</code></pre>
<p>Each public key in the <code>authorized_keys</code> file spans only one line, e.g.:</p>
<pre><code class="language-text">ssh-dss AAAAB3NzaC1kc3MAAA ..... agBmmfZ9uAbSqA==dsa-key-20071107
</code></pre>
<p>(any line with <code>'#'</code> in the first column is a comment line)</p>
</li>
<li>
<p>Exit out of this <code>ssh</code> session.</p>
</li>
<li>
<p>Start a new <code>ssh</code> session. No login should be required this time due to
the private key on your local box matching up with the public key
in your home directory (<code>~/.ssh</code>):</p>
<pre><code class="language-sh">ssh $ {USER}@people.apache.org
</code></pre>
<p>If you are still prompted for a password, then you have not set up the
keys properly. Review the steps above and ensure that all of the steps
were followed properly. Or, maybe the instructions are still not quite
right and they still need some adjusting. In that case, please update the
instructions accordingly. :-)</p>
</li>
</ol>
<p><a name="ReleaseSetup-CreateaGPGkey"></a></p>
<h3 id="create-a-gpg-key">Create a GPG key<a class="headerlink" href="#create-a-gpg-key" title="Permalink">&para;</a></h3>
<ol>
<li>
<p>Open a shell window. If using Windows, open a cygwin window.</p>
</li>
<li>
<p>Generate a key-pair with <code>gpg</code>, using default key kind ("DSA and Elgamal")
and ELG-E keys size (2048).</p>
<pre><code class="language-sh">gpg --gen-key
</code></pre>
<p>The program's default values should be fine. For the "Real Name" enter
your full name (ie. Stan Programmer). For the "e-mail address" enter your
apache address (ie. <a href="mailto:sprogrammer@apache.org">sprogrammer@apache.org</a>). You will also be required to
enter a "passphrase" for the GPG key generation. Keep track of this as you
will need this for the Release processing.</p>
<p><em>The generated keys are stored in <code>$HOME/.gnupg</code> or <code>%HOME%\Application Data\gnupg</code> directory.</em>
<em>Save the content in this directory to a safe medium. This contains your private key used to sign all the BVal release materials.</em></p>
</li>
<li>
<p>Back up your cygwin home directory to some other medium.</p>
</li>
<li>
<p>Add your public key to <a href="https://svn.apache.org/repos/asf/bval/KEYS">https://svn.apache.org/repos/asf/bval/KEYS</a>
and <a href="http://www.apache.org/dist/bval/KEYS">http://www.apache.org/dist/bval/KEYS</a>. See the commands
described at the beginning of this KEYS file to perform this task. The gpg
key-pair is used to sign the published artifacts for the BVAL releases.</p>
<pre><code class="language-sh">gpg --list-sigs &lt;Real Name&gt; &amp;&amp; gpg --armor -- export &lt;Real Name&gt;
</code></pre>
<p><em>The <a href="https://svn.apache.org/repos/asf/bval/KEYS">https://svn.apache.org/repos/asf/bval/KEYS</a>
file is updated via normal svn commit procedures. The one at
<a href="http://www.apache.org/dist/bval/KEYS">http://www.apache.org/dist/bval/KEYS</a> must be manually updated from svn.</em></p>
</li>
<li>
<p>Submit your public key to a key server, e.g. <a href="http://pgp.surfnet.nl:11371/">http://pgp.surfnet.nl:11371/</a>
or <a href="http://pgp.mit.edu/">http://pgp.mit.edu/</a>.</p>
</li>
<li>
<p>Following the instructions in <a href="http://people.apache.org/%7Ehenkp/trust/">http://people.apache.org/~henkp/trust/</a> and
ask multiple (at least 3) current Apache committers to sign your public key.</p>
</li>
</ol>
<p><a name="ReleaseSetup-UpdateMavensettingsforourservers"></a></p>
<h3 id="update-maven-settings-for-our-servers">Update Maven settings for our servers<a class="headerlink" href="#update-maven-settings-for-our-servers" title="Permalink">&para;</a></h3>
<p>Create a <code>settings.xml</code> under <code>.m2</code>:</p>
<pre><code class="language-xml">&lt;settings xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"&gt;
&lt;servers&gt;
&lt;!-- SCP settings for people.apache.org --&gt;
&lt;server&gt;
&lt;id&gt;people.apache.org&lt;/id&gt;
&lt;username&gt;$USERNAME&lt;/username&gt;
&lt;privateKey&gt;$PATH_TO_PRIVATE_KEY&lt;/privateKey&gt;
&lt;passphrase&gt;$SSH_PASSPHRASE&lt;/passphrase&gt;
&lt;directoryPermissions&gt;775&lt;/directoryPermissions&gt;
&lt;filePermissions&gt;644&lt;/filePermissions&gt;
&lt;!-- following is only for Windows only
&lt;configuration&gt;
&lt;sshExecutable&gt;plink&lt;/sshExecutable&gt;
&lt;scpExecutable&gt;pscp&lt;/scpExecutable&gt;
&lt;scpArgs&gt;-2Bp&lt;/scpArgs&gt;
&lt;sshArgs&gt;-2&lt;/sshArgs&gt;
&lt;/configuration&gt;
--&gt;
&lt;/server&gt;
&lt;!-- ASF Nexus settings --&gt;
&lt;server&gt;
&lt;id&gt;apache.snapshots.https&lt;/id&gt;
&lt;username&gt;$USERNAME&lt;/username&gt;
&lt;password&gt;$APACHE_LDAP_PWD&lt;/password&gt;
&lt;/server&gt;
&lt;server&gt;
&lt;id&gt;apache.releases.https&lt;/id&gt;
&lt;username&gt;$USERNAME&lt;/username&gt;
&lt;password&gt;$APACHE_LDAP_PWD&lt;/password&gt;
&lt;/server&gt;
&lt;/servers&gt;
&lt;/settings&gt;
</code></pre>
<p>Notes:</p>
<ul>
<li><em><code>$USERNAME</code> is the remote username on <code>people.apache.org</code>,
not necessarily your local userid.</em></li>
<li><em><code>$PATH_TO_PRIVATE_KEY</code> is the path to the private <code>ssh</code> key generated, e.g.
<code>/home/yourLocalUserId/.ssh/id_dsa</code>. For cygwin users,
you will need to enter the full cygwin path:
<code>/cygdrive/c/cygwin/home/yourLocalUserId/.ssh/id_dsa</code>.</em></li>
<li><em><code>$SSH_PASSPHRASE</code> for the supplied <code>$PATH_TO_PRIVATE_KEY</code>. If you
don't use this in your <code>settings.xml</code> file, then you will be prompted for it
during the Release processing.</em></li>
<li><em><code>$APACHE_LDAP_PWD</code> is your Apache LDAP password, which is shared
between SVN and password login for <code>people.apache.org</code>.</em></li>
</ul>
</div>
<hr>
<div class="container">
<footer>
<p>Copyright © 2010-2021 The Apache Software Foundation. Licensed under <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
View our <a href="/privacy-policy.html">privacy policy</a>.
</p>
<p>Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.
</p>
</footer>
</div> <!-- /container -->
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"; type="text/javascript"></script>
<script src="/resources/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="/resources/css/docco.css">
<script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.0.1/build/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
</body>
</html>