<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <meta name="Date-Revision-yyyymmdd" content="20140918"/>
  <meta http-equiv="Content-Language" content="en"/>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>One time steps</title>

  <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css">
  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
  <link href="/css/main.css" rel="stylesheet">
  <link href="/css/custom.css" rel="stylesheet">
  <link href="/css/syntax.css" rel="stylesheet">

  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
  <script type="text/javascript" src="/js/community.js"></script>

  <!-- Matomo -->
  <script>
    var _paq = window._paq = window._paq || [];
    /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
    /* We explicitly disable cookie tracking to avoid privacy issues */
    _paq.push(['disableCookies']);
    _paq.push(['trackPageView']);
    _paq.push(['enableLinkTracking']);
    (function() {
      var u="//analytics.apache.org/";
      _paq.push(['setTrackerUrl', u+'matomo.php']);
      _paq.push(['setSiteId', '41']);
      var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
    })();
  </script>
  <!-- End Matomo Code -->
</head>
<body>

<a href="https://github.com/apache/struts" class="github-ribbon">
  <img decoding="async" loading="lazy" style="position: absolute; right: 0; border: 0;" width="149" height="149" src="https://github.blog/wp-content/uploads/2008/12/forkme_right_red_aa0000.png?resize=149%2C149" class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1">
</a>

<header>
  <nav>
    <div role="navigation" class="navbar navbar-default navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle">
            Menu
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a>
        </div>
        <div id="struts-menu" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Home<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/index.html">Welcome</a></li>
                <li><a href="/download.cgi">Download</a></li>
                <li><a href="/releases.html">Releases</a></li>
                <li><a href="/announce-2024.html">Announcements</a></li>
                <li><a href="http://www.apache.org/licenses/">License</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">Sponsorship</a></li>
                <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Support<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/mail.html">User Mailing List</a></li>
                <li><a href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a></li>
                <li><a href="/security.html">Reporting Security Issues</a></li>
                <li><a href="/commercial-support.html">Commercial Support</a></li>
                <li class="divider"></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version Notes</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">Security Bulletins</a></li>
                <li class="divider"></li>
                <li><a href="/maven/project-info.html">Maven Project Info</a></li>
                <li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li>
                <li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Documentation<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/birdseye.html">Birds Eye</a></li>
                <li><a href="/primer.html">Key Technologies</a></li>
                <li><a href="/kickstart.html">Kickstart FAQ</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Home">Wiki</a></li>
                <li class="divider"></li>
                <li><a href="/getting-started/">Getting Started</a></li>
                <li><a href="/security/">Security Guide</a></li>
                <li><a href="/core-developers/">Core Developers Guide</a></li>
                <li><a href="/tag-developers/">Tag Developers Guide</a></li>
                <li><a href="/maven-archetypes/">Maven Archetypes</a></li>
                <li><a href="/plugins/">Plugins</a></li>
                <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li>
                <li><a href="/tag-developers/tag-reference.html">Tag reference</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li>
                <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Contributing<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/youatstruts.html">You at Struts</a></li>
                <li><a href="/helping.html">How to Help FAQ</a></li>
                <li><a href="/dev-mail.html">Development Lists</a></li>
                <li class="divider"></li>
                <li><a href="/submitting-patches.html">Submitting patches</a></li>
                <li><a href="/builds.html">Source Code and Builds</a></li>
                <li><a href="/coding-standards.html">Coding standards</a></li>
                <li><a href="/contributors/">Contributors Guide</a></li>
                <li class="divider"></li>
                <li><a href="/release-guidelines.html">Release Guidelines</a></li>
                <li><a href="/bylaws.html">PMC Charter</a></li>
                <li><a href="/volunteers.html">Volunteers</a></li>
                <li><a href="https://gitbox.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
                <li><a href="/updating-website.html">Updating the website</a></li>
              </ul>
            </li>
            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
          </ul>
        </div>
      </div>
    </div>
  </nav>
</header>


<article class="container">
  <section class="col-md-12">
    <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/contributors/one-time-steps.md" title="Edit this page on GitHub">Edit on GitHub</a>
    
    <a href="creating-and-signing-a-distribution" title="back to Creating and Signing a Distribution"><< back to Creating and Signing a Distribution</a>
    
    <h1 class="no_toc" id="one-time-steps">One time steps</h1>

<ul id="markdown-toc">
  <li><a href="#keys-and-configuration" id="markdown-toc-keys-and-configuration">Keys and configuration</a>    <ul>
      <li><a href="#create-and-install-a-ssh-key" id="markdown-toc-create-and-install-a-ssh-key">Create and install a SSH key</a></li>
      <li><a href="#create-a-pgp-key" id="markdown-toc-create-a-pgp-key">Create a PGP key</a></li>
      <li><a href="#update-maven-settings-for-our-servers" id="markdown-toc-update-maven-settings-for-our-servers">Update Maven settings for our servers</a></li>
      <li><a href="#increase-memory-settings-for-maven" id="markdown-toc-increase-memory-settings-for-maven">Increase Memory Settings for Maven</a></li>
    </ul>
  </li>
  <li><a href="#resources" id="markdown-toc-resources">Resources</a></li>
  <li><a href="#retagging" id="markdown-toc-retagging">Retagging</a></li>
</ul>

<h2 id="keys-and-configuration">Keys and configuration</h2>

<h3 id="create-and-install-a-ssh-key">Create and install a SSH key</h3>

<blockquote>
  <p>See <a href="http://sial.org/howto/openssh/publickey-auth/">OpenSSH Public Key Authentication</a></p>
</blockquote>

<p>If you get hung up during release:perform because Maven can’t verify the authenticity of a host, then there could be 
one of two  different problems. The first problem, which is an easy fix, is to go to the command line and use SSH 
to log in to that host. You should receive a prompt to add the host to your known_hosts file. If you add the host 
to your <code class="language-plaintext highlighter-rouge">known_hosts</code> file from the command line  SSH, then you should be able to try <code class="language-plaintext highlighter-rouge">release:perform</code> again 
and have more success. There is a chance though that this won’t fix maven.</p>

<p>Maven doesn’t appear to understand hashed <code class="language-plaintext highlighter-rouge">known_hosts</code> files. There is some information here - <a href="http://itso.iu.edu/Hashing_the_OpenSSH_known__hosts_File">known_hosts file Hashing</a>.</p>

<p>If your <code class="language-plaintext highlighter-rouge">known_hosts</code> file is hashed, you can solve this one of a few different ways. If you perform a <code class="language-plaintext highlighter-rouge">deploy:deploy</code> 
instead of <code class="language-plaintext highlighter-rouge">release:perform</code>, then maven will leave a prompt open for you to type <code class="language-plaintext highlighter-rouge">yes</code> and have maven add the host 
(in a way that Jsch, the library which provides Maven Wagon with the SSH/SCP functionality, understands) 
to your <code class="language-plaintext highlighter-rouge">known_hosts</code> file. Another option is to remove your <code class="language-plaintext highlighter-rouge">known_hosts</code> file, update your SSH configuration so that 
it does not hash the hostname in <code class="language-plaintext highlighter-rouge">known_hosts</code> and try to log in from the command line.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -q -f ~/.ssh/id_rsa -t rsa
#Enter a passphrase
chmod go-rwx ~/.ssh/*

#copy the public key to people.apache.org
scp ~/.ssh/id_rsa.pub people.apache.org:/home/$USERNAME

# next, setup the public key on server
ssh people.apache.org
mkdir ~/.ssh
chmod 700 ~/.ssh
cat ~/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/id_rsa.pub
</code></pre></div></div>

<h3 id="create-a-pgp-key">Create a PGP key</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>svn co https://svn.apache.org/repos/asf/struts/maven/trunk/build struts-maven-build
cd struts-maven-build
(gpg --fingerprint --list-sigs &lt;your name&gt; &amp;&amp; gpg --armor --export &lt;your name&gt;) &gt;&gt; KEYS
scp KEYS people.apache.org:/www/www.apache.org/dist/struts
svn commit KEYS -m "Add public key"
</code></pre></div></div>

<h3 id="update-maven-settings-for-our-servers">Update Maven settings for our servers</h3>

<p>Create a <code class="language-plaintext highlighter-rouge">settings.xml</code> under <code class="language-plaintext highlighter-rouge">~/.m2</code> and follow below instructions:</p>
<ul>
  <li>create profile - <a href="http://maven.apache.org/developers/release/apache-release.html\#Prerequisites">Releasing a Maven-based</a></li>
  <li>enable Apache servers <a href="http://maven.apache.org/developers/committer-settings">Committer Settings</a></li>
</ul>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;settings</span> <span class="na">xmlns=</span><span class="s">"http://maven.apache.org/POM/4.0.0"</span>
          <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
          <span class="na">xsi:schemaLocation=</span><span class="s">"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;servers&gt;</span>
    <span class="c">&lt;!-- To publish a snapshot of some part of Maven --&gt;</span>
    <span class="nt">&lt;server&gt;</span>
      <span class="nt">&lt;id&gt;</span>apache.snapshots.https<span class="nt">&lt;/id&gt;</span>
      <span class="nt">&lt;username&gt;</span> <span class="c">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span> <span class="nt">&lt;/username&gt;</span>
      <span class="nt">&lt;password&gt;</span> <span class="c">&lt;!-- YOUR APACHE LDAP PASSWORD --&gt;</span> <span class="nt">&lt;/password&gt;</span>
    <span class="nt">&lt;/server&gt;</span>
    <span class="c">&lt;!-- To stage a release of some part of Maven --&gt;</span>
    <span class="nt">&lt;server&gt;</span>
      <span class="nt">&lt;id&gt;</span>apache.releases.https<span class="nt">&lt;/id&gt;</span>
      <span class="nt">&lt;username&gt;</span> <span class="c">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span> <span class="nt">&lt;/username&gt;</span>
      <span class="nt">&lt;password&gt;</span> <span class="c">&lt;!-- YOUR APACHE LDAP PASSWORD --&gt;</span> <span class="nt">&lt;/password&gt;</span>
    <span class="nt">&lt;/server&gt;</span>
  <span class="nt">&lt;/servers&gt;</span>
  <span class="nt">&lt;profiles&gt;</span>
    <span class="nt">&lt;profile&gt;</span>
      <span class="nt">&lt;id&gt;</span>apache-release<span class="nt">&lt;/id&gt;</span>
      <span class="nt">&lt;properties&gt;</span>
        <span class="nt">&lt;gpg.passphrase&gt;</span> <span class="c">&lt;!-- YOUR KEY PASSPHRASE --&gt;</span> <span class="nt">&lt;/gpg.passphrase&gt;</span>
      <span class="nt">&lt;/properties&gt;</span>
    <span class="nt">&lt;/profile&gt;</span>
  <span class="nt">&lt;/profiles&gt;</span>
<span class="nt">&lt;/settings&gt;</span>
</code></pre></div></div>

<h3 id="increase-memory-settings-for-maven">Increase Memory Settings for Maven</h3>

<p>To complete a full build and all the tests, it may be necessary to increase the amount of memory available to Maven. 
The simplest thing is to set an environment variable.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>MAVEN_OPTS=-Xmx512m
</code></pre></div></div>

<p>or even</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>MAVEN_OPTS=-Xmx1024m
</code></pre></div></div>

<h2 id="resources">Resources</h2>

<ul>
  <li>Apache Struts <a href="http://struts.apache.org/releases.html\#Releases">Release Guidelines</a></li>
  <li><a href="http://wiki.apache.org/struts/StrutsMaintenanceMaven">Struts Maintenance Guide for Maven </a></li>
  <li><a href="http://apache.org/dev/release-signing">Signing Releases</a></li>
  <li><a href="http://wiki.wsmoak.net/cgi-bin/wiki.pl?ReleaseSigning">Wendy’s notes on Release Signing</a></li>
  <li>Apache <a href="http://apache.org/dev/mirrors">Mirroring Guidelines</a></li>
</ul>

<h2 id="retagging">Retagging</h2>

<p>If a tagged build needs to be retagged, be sure to delete the old tag first.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git push --delete origin STRUTS_#_#_#
</code></pre></div></div>

  </section>
</article>


<footer class="container">
  <div class="col-md-12">
    Copyright &copy; 2000-2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
    Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are
    trademarks of The Apache Software Foundation. All Rights Reserved.
  </div>
  <div class="col-md-12">Logo and website design donated by <a href="https://softwaremill.com/">SoftwareMill</a>.</div>
</footer>

<script>!function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (!d.getElementById(id)) {
    js = d.createElement(s);
    js.id = id;
    js.src = "//platform.twitter.com/widgets.js";
    fjs.parentNode.insertBefore(js, fjs);
  }
}(document, "script", "twitter-wjs");</script>
<script src="https://apis.google.com/js/platform.js" async="async" defer="defer"></script>

<div id="fb-root"></div>

<script>(function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s);
  js.id = id;
  js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>


</body>
</html>
