| <!DOCTYPE html> |
| <html lang="en" class="js csstransforms3d"> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> |
| <meta http-equiv="Cache-Control" content="max-age=7200" /> |
| <meta name="generator" content="Hugo 0.70.0" /> |
| <meta name="description" content=""> |
| <meta name="buildDate" content="2021-04-10 19:34:35"> |
| |
| |
| <link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" /> |
| |
| <title>ShardingSphere-UI Release Guide :: ShardingSphere</title> |
| |
| |
| <link href="https://shardingsphere.apache.org/community/css/nucleus.css?1618054475" rel="stylesheet"> |
| <link href="https://shardingsphere.apache.org/community/css/font-awesome.min.css?1618054475" rel="stylesheet"> |
| <link href="https://shardingsphere.apache.org/community/css/hybrid.css?1618054475" rel="stylesheet"> |
| <link href="https://shardingsphere.apache.org/community/css/featherlight.min.css?1618054475" rel="stylesheet"> |
| <link href="https://shardingsphere.apache.org/community/css/perfect-scrollbar.min.css?1618054475" rel="stylesheet"> |
| <link href="https://shardingsphere.apache.org/community/css/auto-complete.css?1618054475" rel="stylesheet"> |
| <link href="https://shardingsphere.apache.org/community/css/theme.css?1618054475" rel="stylesheet"> |
| <link href="https://shardingsphere.apache.org/community/css/hugo-theme.css?1618054475" rel="stylesheet"> |
| |
| <link href="https://shardingsphere.apache.org/community/css/theme-black.css?1618054475" rel="stylesheet"> |
| |
| |
| <script src="https://shardingsphere.apache.org/community/js/jquery-2.x.min.js?1618054475"></script> |
| |
| <style type="text/css"> |
| :root #header + #content > #left > #rlblock_left{ |
| display:none !important; |
| } |
| |
| </style> |
| |
| |
| </head> |
| <body class="" data-url="/en/contribute/release_ui/"> |
| <nav id="sidebar" class=""> |
| |
| |
| |
| <div id="header-wrapper"> |
| <div id="header"> |
| <a href="https://shardingsphere.apache.org/"><img src="https://shardingsphere.apache.org/document/current/img/logo_v2.png" /></a> |
| |
| </div> |
| |
| </div> |
| |
| <div class="highlightable"> |
| <ul class="topics"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/" title="Get Involved" class="dd-item |
| parent |
| |
| |
| "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/"> |
| <b>1. </b>Get Involved |
| |
| </a> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/subscribe/" title="Subscribe Guide" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/subscribe/"> |
| Subscribe Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/contributor/" title="Contributor Guide" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/contributor/"> |
| Contributor Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/committer/" title="Committer Guide" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/committer/"> |
| Committer Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/code-conduct/" title="Code of Conduct" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/code-conduct/"> |
| Code of Conduct |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/issue-conduct/" title="Issue Conduct" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/issue-conduct/"> |
| Issue Conduct |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/document-contributor/" title="Documents Contributor Guide" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/document-contributor/"> |
| Documents Contributor Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/release/" title="ShardingSphere Release Guide" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/release/"> |
| ShardingSphere Release Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/release_ui/" title="ShardingSphere-UI Release Guide" class="dd-item active"> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/release_ui/"> |
| ShardingSphere-UI Release Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/release-elasticjob/" title="ElasticJob Release Guide" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/release-elasticjob/"> |
| ElasticJob Release Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/release-elasticjob-ui/" title="ElasticJob-UI Release Guide" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/release-elasticjob-ui/"> |
| ElasticJob-UI Release Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/2fa/" title="2FA" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/2fa/"> |
| 2FA |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/icla/" title="Sign ICLA Guide" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/icla/"> |
| Sign ICLA Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/contribute/vote/" title="New committer voting process" class="dd-item "> |
| <a href="https://shardingsphere.apache.org/community/en/contribute/vote/"> |
| New committer voting process |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/powered-by/" title="Powered By ShardingSphere" class="dd-item |
| |
| |
| |
| "> |
| <a href="https://shardingsphere.apache.org/community/en/powered-by/"> |
| <b>2. </b>Powered By ShardingSphere |
| |
| </a> |
| |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/team/" title="Team" class="dd-item |
| |
| |
| |
| "> |
| <a href="https://shardingsphere.apache.org/community/en/team/"> |
| <b>3. </b>Team |
| |
| </a> |
| |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li data-nav-id="/en/security/" title="security" class="dd-item |
| |
| |
| |
| "> |
| <a href="https://shardingsphere.apache.org/community/en/security/"> |
| <b>4. </b>security |
| |
| </a> |
| |
| |
| </li> |
| |
| |
| |
| |
| |
| </ul> |
| |
| |
| |
| |
| |
| <section id="prefooter"> |
| <hr/> |
| <ul> |
| |
| <li> |
| <a class="padding"> |
| <i class="fa fa-fw fa-language"></i> |
| <div class="select-style"> |
| <select id="select-language" onchange="location = this.value;"> |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="en" value="/community/en/contribute/release_ui/" selected>English</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option id="cn" value="/community/cn/contribute/release_ui/">简体中文</option> |
| |
| |
| |
| |
| </select> |
| <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
| width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve"> |
| <g> |
| <g id="arrow-drop-down"> |
| <polygon points="0,63.75 127.5,191.25 255,63.75 " /> |
| </g> |
| </g> |
| </svg> |
| </div> |
| </a> |
| </li> |
| |
| |
| |
| </ul> |
| </section> |
| |
| <section id="footer"> |
| <p></p> |
| |
| </section> |
| </div> |
| </nav> |
| |
| |
| |
| |
| |
| <section id="body"> |
| <div id="overlay"></div> |
| <div class="padding highlightable"> |
| |
| <div> |
| <div id="top-bar"> |
| |
| |
| |
| |
| <div id="top-github-link"> |
| <a class="github-link" title='Edit this page' href="https://github.com/apache/shardingsphere/tree/master/docs/community/content/contribute/release_ui.en.md" target="blank"> |
| <i class="fa fa-code-fork"></i> |
| <span id="top-github-link-text">Edit this page</span> |
| </a> |
| </div> |
| |
| |
| |
| <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"> |
| <span id="sidebar-toggle-span"> |
| <a href="#" id="sidebar-toggle" data-sidebar-toggle=""> |
| <i class="fa fa-bars"></i> |
| </a> |
| </span> |
| |
| <span class="links"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href='https://shardingsphere.apache.org/community/en/'>ShardingSphere</a> > <a href='https://shardingsphere.apache.org/community/en/contribute/'>Get Involved</a> > ShardingSphere-UI Release Guide |
| |
| |
| |
| |
| |
| |
| </span> |
| </div> |
| |
| </div> |
| </div> |
| |
| |
| |
| <div id="chapter"> |
| |
| <div id="body-inner"> |
| |
| |
| |
| |
| |
| <h2 id="gpg-settings">GPG Settings</h2> |
| <p>Please refer to <a href="https://shardingsphere.apache.org/community/en/contribute/release/">Release Guide</a>.</p> |
| <h2 id="apache-maven-central-repository-release">Apache Maven Central Repository Release</h2> |
| <p><strong>1. Set settings.xml</strong></p> |
| <p>Add the following template to <code>~/.m2/settings.xml</code>, all the passwords need to be filled in after encryption. |
| For encryption settings, please see <a href="http://maven.apache.org/guides/mini/guide-encryption.html">here</a>.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-xml" data-lang="xml"><span style="color:#f92672"><settings></span> |
| <span style="color:#f92672"><servers></span> |
| <span style="color:#f92672"><server></span> |
| <span style="color:#f92672"><id></span>apache.snapshots.https<span style="color:#f92672"></id></span> |
| <span style="color:#f92672"><username></span> <span style="color:#75715e"><!-- APACHE LDAP username --></span> <span style="color:#f92672"></username></span> |
| <span style="color:#f92672"><password></span> <span style="color:#75715e"><!-- APACHE LDAP encrypted password --></span> <span style="color:#f92672"></password></span> |
| <span style="color:#f92672"></server></span> |
| <span style="color:#f92672"><server></span> |
| <span style="color:#f92672"><id></span>apache.releases.https<span style="color:#f92672"></id></span> |
| <span style="color:#f92672"><username></span> <span style="color:#75715e"><!-- APACHE LDAP username --></span> <span style="color:#f92672"></username></span> |
| <span style="color:#f92672"><password></span> <span style="color:#75715e"><!-- APACHE LDAP encrypted password --></span> <span style="color:#f92672"></password></span> |
| <span style="color:#f92672"></server></span> |
| <span style="color:#f92672"></servers></span> |
| <span style="color:#f92672"></settings></span> |
| </code></pre></div><p><strong>2. Update Release Notes</strong></p> |
| <pre><code>https://github.com/apache/shardingsphere-ui/blob/master/RELEASE-NOTES.md |
| </code></pre><p><strong>3. Create Release Branch</strong></p> |
| <p>Suppose ShardingSphere source codes downloaded from github is under <code>~/shardingsphere-ui/</code> directory and the version to be released is <code>${RELEASE.VERSION}</code>. |
| Create <code>${RELEASE.VERSION}-release</code> branch, where all the following operations are performed.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell"><span style="color:#75715e">## ${name} is the properly branch, e.g. master, dev-4.x</span> |
| git clone --branch <span style="color:#e6db74">${</span>name<span style="color:#e6db74">}</span> https://github.com/apache/shardingsphere-ui.git ~/shardingsphere-ui |
| cd ~/shardingsphere-ui/ |
| git pull |
| git checkout -b <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-release |
| git push origin <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-release |
| </code></pre></div><p><strong>4. Pre-Release Check</strong></p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">cd ~/shardingsphere-ui |
| mvn release:prepare -Prelease -Darguments<span style="color:#f92672">=</span><span style="color:#e6db74">"-DskipTests"</span> -DautoVersionSubmodules<span style="color:#f92672">=</span>true -DdryRun<span style="color:#f92672">=</span>true -Dusername<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>Github username<span style="color:#e6db74">}</span> |
| </code></pre></div><p>-Prelease: choose release profile, which will pack all the source codes, jar files and executable binary packages of ShardingSphere-UI.</p> |
| <p>-DautoVersionSubmodules=true: it can make the version number is inputted only once and not for each sub-module.</p> |
| <p>-DdryRun=true: rehearsal, which means not to generate or submit new version number and new tag.</p> |
| <p><strong>5. Prepare for the Release</strong></p> |
| <p>First, clean local pre-release check information.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">cd ~/shardingsphere-ui |
| mvn release:clean |
| </code></pre></div><p>Then, prepare to execute the release.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">cd ~/shardingsphere-ui |
| mvn release:prepare -Prelease -Darguments<span style="color:#f92672">=</span><span style="color:#e6db74">"-DskipTests"</span> -DautoVersionSubmodules<span style="color:#f92672">=</span>true -DpushChanges<span style="color:#f92672">=</span>false -Dusername<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>Github username<span style="color:#e6db74">}</span> |
| </code></pre></div><p>It is basically the same as the previous rehearsal command, but deleting -DdryRun=true parameter.</p> |
| <p>-DpushChanges=false: do not submit the edited version number and tag to Github automatically.</p> |
| <p>After making sure there is no mistake in local files, submit them to GitHub.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git push origin <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-release |
| git push origin --tags |
| </code></pre></div><p><strong>6.Deploy the Release</strong></p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">cd ~/shardingsphere-ui |
| mvn release:perform -Prelease -Darguments<span style="color:#f92672">=</span><span style="color:#e6db74">"-DskipTests"</span> -DautoVersionSubmodules<span style="color:#f92672">=</span>true -Dusername<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>Github username<span style="color:#e6db74">}</span> |
| </code></pre></div><h2 id="apache-svn-repository-release">Apache SVN Repository Release</h2> |
| <p><strong>1. Checkout ShardingSphere Release Directory</strong></p> |
| <p>If there is no local work directory, create one at first.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">mkdir -p ~/ss_svn/dev/ |
| cd ~/ss_svn/dev/ |
| </code></pre></div><p>After the creation, checkout ShardingSphere release directory from Apache SVN.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">svn --username<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>APACHE LDAP username<span style="color:#e6db74">}</span> co https://dist.apache.org/repos/dist/dev/shardingsphere |
| cd ~/ss_svn/dev/shardingsphere |
| </code></pre></div><p><strong>2. Add gpg Public Key</strong></p> |
| <p>Only the account in its first deployment needs to add that. |
| It is alright for <code>KEYS</code> to only include the public key of the deployed account.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">gpg -a --export <span style="color:#e6db74">${</span>GPG username<span style="color:#e6db74">}</span> >> KEYS |
| </code></pre></div><p><strong>3. Add the Release Content to SVN Directory</strong></p> |
| <p>Create folder by version number.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">mkdir -p ~/ss_svn/dev/shardingsphere/shardingsphere-ui-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| cd ~/ss_svn/dev/shardingsphere/shardingsphere-ui-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| </code></pre></div><p>Add source code packages, binary packages and executable binary packages of ShardingSphere-Proxy to SVN working directory.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">cp -f ~/shardingsphere-ui/shardingsphere-ui-distribution/shardingsphere-ui-src-distribution/target/*.zip ~/ss_svn/dev/shardingsphere/shardingsphere-ui-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| cp -f ~/shardingsphere-ui/shardingsphere-ui-distribution/shardingsphere-ui-src-distribution/target/*.zip.asc ~/ss_svn/dev/shardingsphere/shardingsphere-ui-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| cp -f ~/shardingsphere-ui/shardingsphere-ui-distribution/shardingsphere-ui-bin-distribution/target/*.tar.gz ~/ss_svn/dev/shardingsphere/shardingsphere-ui-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| cp -f ~/shardingsphere-ui/shardingsphere-ui-distribution/shardingsphere-ui-bin-distribution/target/*.tar.gz.asc ~/ss_svn/dev/shardingsphere/shardingsphere-ui-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| </code></pre></div><p><strong>4. Generate sign files</strong></p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">shasum -a <span style="color:#ae81ff">512</span> apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-src.zip > apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-src.zip.sha512 |
| shasum -b -a <span style="color:#ae81ff">512</span> apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-bin.tar.gz > apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-bin.tar.gz.sha512 |
| </code></pre></div><p><strong>5. Commit to Apache SVN</strong></p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">cd ~/ss_svn/dev/shardingsphere/ |
| svn add shardingsphere-ui-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| svn --username<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>APACHE LDAP 用户名<span style="color:#e6db74">}</span> commit -m <span style="color:#e6db74">"release shardingsphere-ui-</span><span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span><span style="color:#e6db74">"</span> |
| </code></pre></div><h2 id="check-release">Check Release</h2> |
| <p><strong>Check sha512 hash</strong></p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">shasum -c apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-src.zip.sha512 |
| shasum -c apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-bin.tar.gz.sha512 |
| </code></pre></div><p><strong>Check gpg Signature</strong></p> |
| <p>First, import releaser’s public key. |
| Import KEYS from SVN repository to local. (The releaser does not need to import again; the checking assistant needs to import it, with the user name filled as the releaser’s. )</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">curl https://dist.apache.org/repos/dist/dev/shardingsphere/KEYS >> KEYS |
| gpg --import KEYS |
| gpg --edit-key <span style="color:#e6db74">"</span><span style="color:#e6db74">${</span>GPG username of releaser<span style="color:#e6db74">}</span><span style="color:#e6db74">"</span> |
| > trust |
| |
| Please decide how far you trust this user to correctly verify other users<span style="color:#e6db74">' keys |
| </span><span style="color:#e6db74">(by looking at passports, checking fingerprints from different sources, etc.) |
| </span><span style="color:#e6db74"> |
| </span><span style="color:#e6db74"> 1 = I don'</span>t know or won<span style="color:#960050;background-color:#1e0010">'</span>t say |
| 2 <span style="color:#f92672">=</span> I <span style="color:#66d9ef">do</span> NOT trust |
| 3 <span style="color:#f92672">=</span> I trust marginally |
| 4 <span style="color:#f92672">=</span> I trust fully |
| 5 <span style="color:#f92672">=</span> I trust ultimately |
| m <span style="color:#f92672">=</span> back to the main menu |
| |
| Your decision? <span style="color:#ae81ff">5</span> |
| |
| > save |
| </code></pre></div><p>Then, check the gpg signature.</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">gpg --verify apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-src.zip.asc apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-src.zip |
| gpg --verify apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-bin.tar.gz.asc apache-shardingsphere-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-shardingsphere-ui-bin.tar.gz |
| </code></pre></div><p><strong>Check Released Files</strong></p> |
| <p><strong>Compare release source with github tag</strong></p> |
| <pre><code>curl -Lo tag-${RELEASE.VERSION}.zip https://github.com/apache/shardingsphere-ui/archive/${RELEASE.VERSION}.zip |
| unzip tag-${RELEASE.VERSION}.zip |
| unzip apache-shardingsphere-${RELEASE.VERSION}-shardingsphere-ui-src.zip |
| diff -r apache-shardingsphere-${RELEASE.VERSION}-shardingsphere-ui-src shardingsphere-shardingsphere-ui-${RELEASE.VERSION} |
| </code></pre><p><strong>Check source package</strong></p> |
| <ul> |
| <li>Check whether source tarball is oversized for including nonessential files</li> |
| <li><code>LICENSE</code> and <code>NOTICE</code> files exist</li> |
| <li>Correct year in <code>NOTICE</code> file</li> |
| <li>There is only text files but no binary files</li> |
| <li>All source files have ASF headers</li> |
| <li>Codes can be compiled and pass the unit tests (./mvnw install)</li> |
| <li>Check if there is any extra files or folders, empty folders for example</li> |
| </ul> |
| <p><strong>Check binary packages</strong></p> |
| <p>Decompress <code>apache-shardingsphere-${RELEASE.VERSION}-shardingsphere-ui-bin.tar.gz</code> |
| to check the following items:</p> |
| <ul> |
| <li><code>LICENSE</code> and <code>NOTICE</code> files exist</li> |
| <li>Correct year in <code>NOTICE</code> file</li> |
| <li>All text files have ASF headers</li> |
| <li>Check the third party dependency license: |
| <ul> |
| <li>The software have a compatible license</li> |
| <li>All software licenses mentioned in <code>LICENSE</code></li> |
| <li>All the third party dependency licenses are under <code>licenses</code> folder</li> |
| <li>If it depends on Apache license and has a <code>NOTICE</code> file, that <code>NOTICE</code> file need to be added to <code>NOTICE</code> file of the release</li> |
| </ul> |
| </li> |
| </ul> |
| <h2 id="call-for-a-vote">Call for a Vote</h2> |
| <p><strong>Vote procedure</strong></p> |
| <ol> |
| <li> |
| <p>ShardingSphere community vote: send the vote e-mail to <code>dev@shardingsphere.apache.org</code>. |
| PMC needs to check the rightness of the version according to the document before they vote. |
| After at least 72 hours and with at least 3 <code>+1 PMC member</code> votes, it can come to the next stage of the vote.</p> |
| </li> |
| <li> |
| <p>Announce the vote result: send the result vote e-mail to <code>dev@shardingsphere.apache.org</code>.</p> |
| </li> |
| </ol> |
| <p><strong>Vote Templates</strong></p> |
| <ol> |
| <li>ShardingSphere Community Vote Template</li> |
| </ol> |
| <p>Title:</p> |
| <pre><code>[VOTE] Release Apache ShardingSphere UI ${RELEASE.VERSION} |
| |
| </code></pre><p>Body:</p> |
| <pre><code>Hello ShardingSphere Community, |
| |
| This is a call for vote to release Apache ShardingSphere UI version ${RELEASE.VERSION} |
| |
| Release notes: |
| https://github.com/apache/shardingsphere-ui/blob/master/RELEASE-NOTES.md |
| |
| The release candidates: |
| https://dist.apache.org/repos/dist/dev/shardingsphere/shardingsphere-ui-${RELEASE.VERSION}/ |
| |
| Git tag for the release: |
| https://github.com/apache/shardingsphere-ui/tree/${RELEASE.VERSION}/ |
| |
| Release Commit ID: |
| https://github.com/apache/shardingsphere-ui/commit/xxxxxxxxxxxxxxxxxxxxxxx |
| |
| Keys to verify the Release Candidate: |
| https://dist.apache.org/repos/dist/dev/shardingsphere/KEYS |
| |
| Look at here for how to verify this release candidate: |
| https://shardingsphere.apache.org/community/en/contribute/release_ui/ |
| |
| GPG user ID: |
| ${YOUR.GPG.USER.ID} |
| |
| The vote will be open for at least 72 hours or until necessary number of votes are reached. |
| |
| Please vote accordingly: |
| |
| [ ] +1 approve |
| |
| [ ] +0 no opinion |
| |
| [ ] -1 disapprove with the reason |
| |
| PMC vote is +1 binding, all others is +1 non-binding. |
| |
| Checklist for reference: |
| |
| [ ] Download links are valid. |
| |
| [ ] Checksums and PGP signatures are valid. |
| |
| [ ] Source code distributions have correct names matching the current release. |
| |
| [ ] LICENSE and NOTICE files are correct for each ShardingSphere repo. |
| |
| [ ] All files have license headers if necessary. |
| |
| [ ] No compiled archives bundled in source archive. |
| </code></pre><ol start="2"> |
| <li>Announce the vote result:</li> |
| </ol> |
| <p>Title:</p> |
| <pre><code>[RESULT][VOTE] Release Apache ShardingSphere UI ${RELEASE.VERSION} |
| </code></pre><p>Body:</p> |
| <pre><code>We’ve received 3 +1 binding votes and one +1 non-binding vote: |
| |
| +1 binding, xxx |
| +1 binding, xxx |
| +1 binding, xxx |
| |
| +1 non-binding, xxx |
| |
| Thank you everyone for taking the time to review the release and help us. |
| I will process to publish the release and send ANNOUNCE. |
| |
| </code></pre><h2 id="finish-the-release">Finish the Release</h2> |
| <p><strong>1. Move source packages, binary packages and KEYS from the <code>dev</code> directory to <code>release</code> directory</strong></p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">svn mv https://dist.apache.org/repos/dist/dev/shardingsphere/shardingsphere-ui-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> https://dist.apache.org/repos/dist/release/shardingsphere/ -m <span style="color:#e6db74">"transfer packages for shardingsphere-ui-</span><span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span><span style="color:#e6db74">"</span> |
| svn delete https://dist.apache.org/repos/dist/release/shardingsphere/KEYS -m <span style="color:#e6db74">"delete KEYS"</span> |
| svn cp https://dist.apache.org/repos/dist/dev/shardingsphere/KEYS https://dist.apache.org/repos/dist/release/shardingsphere/ -m <span style="color:#e6db74">"transfer KEYS for shardingsphere-ui-</span><span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span><span style="color:#e6db74">"</span> |
| </code></pre></div><p><strong>2. Merge release branch to <code>master</code> and delete release branch on Github</strong></p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git checkout master |
| git merge origin/<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-release |
| git pull |
| git push origin master |
| git push --delete origin <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-release |
| git branch -d <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>-release |
| </code></pre></div><p><strong>3. Docker Release</strong></p> |
| <p>3.1 Preparation</p> |
| <p>Install and start docker service</p> |
| <p>3.2 Compile Docker Image</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">git checkout <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| cd ~/shardingsphere-ui/shardingsphere-ui-distribution/shardingsphere-ui-bin-distribution/ |
| mvn clean package -Prelease,docker |
| </code></pre></div><p>3.3 Tag the local Docker Image</p> |
| <p>Check the image ID through <code>docker images</code>, for example: e9ea51023687</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">docker tag e9ea51023687 apache/shardingsphere-ui:latest |
| docker tag e9ea51023687 apache/shardingsphere-ui:<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> |
| </code></pre></div><p>3.4 Publish Docker Image</p> |
| <div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">docker push apache/shardingsphere-ui:latest |
| docker push apache/shardingsphere-ui:<span style="color:#e6db74">${</span>RELEASE_VERSION<span style="color:#e6db74">}</span> |
| </code></pre></div><p>3.5 Confirm the successful release</p> |
| <p>Login <a href="https://hub.docker.com/r/apache/shardingsphere-ui/">Docker Hub</a> to check whether there are published images</p> |
| <p><strong>4. Publish release in GitHub</strong></p> |
| <p>Click <code>Edit</code> in <a href="https://github.com/apache/shardingsphere-ui/releases">GitHub Releases</a>‘s <code>shardingsphere-ui-${RELEASE_VERSION}</code> version</p> |
| <p>Edit version number and release notes, click <code>Publish release</code></p> |
| <p><strong>5. Update the download page</strong></p> |
| <p><a href="https://shardingsphere.apache.org/document/current/en/downloads/">https://shardingsphere.apache.org/document/current/en/downloads/</a></p> |
| <p><a href="https://shardingsphere.apache.org/document/current/cn/downloads/">https://shardingsphere.apache.org/document/current/cn/downloads/</a></p> |
| <p>GPG signatures and hashes (SHA* etc) should use URL start with <code>https://downloads.apache.org/shardingsphere/</code></p> |
| <p>Keep one latest versions in <code>Latest releases</code>. Incubating stage versions will be archived automatically in <a href="https://archive.apache.org/dist/incubator/shardingsphere/">Archive repository</a></p> |
| <p><strong>6. Announce release completed by email</strong></p> |
| <p>Send e-mail to <code>dev@shardingsphere.apache.org</code> and <code>announce@apache.org</code> to announce the release is finished</p> |
| <p>Announcement e-mail template:</p> |
| <p>Title:</p> |
| <pre><code>[ANNOUNCE] Apache ShardingSphere UI ${RELEASE.VERSION} available |
| </code></pre><p>Body:</p> |
| <pre><code>Hi all, |
| |
| Apache ShardingSphere Team is glad to announce the new release of Apache ShardingSphere UI ${RELEASE.VERSION}. |
| |
| ShardingSphere is an open-source ecosystem consisted of a set of distributed database solutions, including 2 independent products, ShardingSphere-JDBC & ShardingSphere-Proxy. |
| They both provide functions of data scale out, distributed transaction and distributed governance, applicable in a variety of situations such as Java isomorphism and heterogeneous language. |
| Apache ShardingSphere aiming at reasonably making full use of the computation and storage capacity of existed database in distributed system, rather than a totally new database. |
| As the cornerstone of enterprises, relational database still takes a huge market share. |
| Therefore, we prefer to focus on its increment instead of a total overturn. |
| |
| Download Links: https://shardingsphere.apache.org/document/current/en/downloads/ |
| |
| Release Notes: https://github.com/apache/shardingsphere-ui/blob/master/RELEASE-NOTES.md |
| |
| Website: https://shardingsphere.apache.org/ |
| |
| ShardingSphere Resources: |
| - Issue: https://github.com/apache/shardingsphere-ui/issues/ |
| - Mailing list: dev@shardingsphere.apache.org |
| - Documents: https://shardingsphere.apache.org/document/current/ |
| |
| |
| |
| - Apache ShardingSphere Team |
| |
| </code></pre> |
| |
| <footer class=" footline" > |
| |
| </footer> |
| |
| |
| |
| </div> |
| |
| </div> |
| |
| |
| </div> |
| |
| <div id="navigation"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <a class="nav nav-prev" href="https://shardingsphere.apache.org/community/en/contribute/release/" title="ShardingSphere Release Guide"> <i class="fa fa-chevron-left"></i></a> |
| |
| |
| <a class="nav nav-next" href="https://shardingsphere.apache.org/community/en/contribute/release-elasticjob/" title="ElasticJob Release Guide" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a> |
| |
| </div> |
| |
| </section> |
| |
| <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"> |
| <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div> |
| </div> |
| <script src="https://shardingsphere.apache.org/community/js/clipboard.min.js?1618054475"></script> |
| <script src="https://shardingsphere.apache.org/community/js/perfect-scrollbar.min.js?1618054475"></script> |
| <script src="https://shardingsphere.apache.org/community/js/perfect-scrollbar.jquery.min.js?1618054475"></script> |
| <script src="https://shardingsphere.apache.org/community/js/jquery.sticky.js?1618054475"></script> |
| <script src="https://shardingsphere.apache.org/community/js/featherlight.min.js?1618054475"></script> |
| <script src="https://shardingsphere.apache.org/community/js/html5shiv-printshiv.min.js?1618054475"></script> |
| <script src="https://shardingsphere.apache.org/community/js/highlight.pack.js?1618054475"></script> |
| <script>hljs.initHighlightingOnLoad();</script> |
| <script src="https://shardingsphere.apache.org/community/js/modernizr.custom.71422.js?1618054475"></script> |
| <script src="https://shardingsphere.apache.org/community/js/learn.js?1618054475"></script> |
| <script src="https://shardingsphere.apache.org/community/js/hugo-learn.js?1618054475"></script> |
| |
| |
| |
| </body> |
| </html> |
| |