| <!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">¶</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 <your userid>@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 <your userid>@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">¶</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 <Real Name> && gpg --armor -- export <Real Name> |
| </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">¶</a></h3> |
| <p>Create a <code>settings.xml</code> under <code>.m2</code>:</p> |
| <pre><code class="language-xml"><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"> |
| <servers> |
| <!-- SCP settings for people.apache.org --> |
| <server> |
| <id>people.apache.org</id> |
| <username>$USERNAME</username> |
| <privateKey>$PATH_TO_PRIVATE_KEY</privateKey> |
| <passphrase>$SSH_PASSPHRASE</passphrase> |
| <directoryPermissions>775</directoryPermissions> |
| <filePermissions>644</filePermissions> |
| <!-- following is only for Windows only |
| <configuration> |
| <sshExecutable>plink</sshExecutable> |
| <scpExecutable>pscp</scpExecutable> |
| <scpArgs>-2Bp</scpArgs> |
| <sshArgs>-2</sshArgs> |
| </configuration> |
| --> |
| </server> |
| <!-- ASF Nexus settings --> |
| <server> |
| <id>apache.snapshots.https</id> |
| <username>$USERNAME</username> |
| <password>$APACHE_LDAP_PWD</password> |
| </server> |
| <server> |
| <id>apache.releases.https</id> |
| <username>$USERNAME</username> |
| <password>$APACHE_LDAP_PWD</password> |
| </server> |
| </servers> |
| </settings> |
| </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> |