blob: 4d8987fa009d1e3bdf0a726fba90ee4a025beedf [file] [log] [blame]
<!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 name="generator" content="Hugo 0.70.0" />
<meta name="description" content="">
<meta name="buildDate" content="2023-06-09 17:25:25">
<link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" />
<title>ShardingSphere on Cloud Release Guide :: ShardingSphere</title>
<link href="https://shardingsphere.apache.org/community/css/nucleus.css?1686302725" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/font-awesome.min.css?1686302725" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/hybrid.css?1686302725" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/featherlight.min.css?1686302725" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/perfect-scrollbar.min.css?1686302725" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/auto-complete.css?1686302725" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/theme.css?1686302725" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/hugo-theme.css?1686302725" rel="stylesheet">
<link href="https://shardingsphere.apache.org/community/css/theme-white.css?1686302725" rel="stylesheet">
<script src="https://shardingsphere.apache.org/community/js/jquery-2.x.min.js?1686302725"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?d5a1dc8dcf63a64ee55b80de01c7fb1a";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-HPVGEN405S"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-HPVGEN405S');
</script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/en/involved/release/shardingsphere-on-cloud/">
<div class="change-theme">
<div class="wrap">
<span data-item="retro">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Retro
</span>
<span data-item="eyehelp">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Eye care
</span>
<span data-item="haitian">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Haitian
</span>
<span data-item="deep">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Deep
</span>
<span data-item="dark">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Dark
</span>
<span class="active">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Default
</span>
</div>
</div>
<header>
<div class="wrap">
<a href="https://shardingsphere.apache.org/"><img src="https://shardingsphere.apache.org/document/current/img/logo_v3.png" /></a>
<section id="prefooter">
<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/involved/release/shardingsphere-on-cloud/" selected>English</option>
<option id="cn" value="/community/cn/involved/release/shardingsphere-on-cloud/">简体中文</option>
</select>
<svg t="1645437162166" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2449" width="32" height="32"><path d="M483.072 714.496l30.165333 30.208 415.957334-415.829333a42.837333 42.837333 0 0 0 0-60.288 42.538667 42.538667 0 0 0-60.330667-0.042667l-355.541333 355.413333-355.242667-355.413333a42.496 42.496 0 0 0-60.288 0 42.837333 42.837333 0 0 0-0.085333 60.330667l383.701333 383.872 1.706667 1.749333z" fill="#3D3D3D" p-id="2450"></path></svg>
</div>
</a>
</li>
</ul>
</section>
</div>
</header>
<div class="wrap">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://shardingsphere.apache.org/community/js/lunr.min.js?1686302725"></script>
<script type="text/javascript" src="https://shardingsphere.apache.org/community/js/auto-complete.js?1686302725"></script>
<script type="text/javascript">
var baseurl = "\/en";
</script>
<script type="text/javascript" src="https://shardingsphere.apache.org/community/js/search.js?1686302725"></script>
</div>
<div class="highlightable">
<div class="leftMenu">
<ul class="topics">
<li data-nav-id="/en/involved/" title="Get Involved" class="dd-item
parent
">
<a href="https://shardingsphere.apache.org/community/en/involved/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>1. </b>Get Involved
</a>
<ul>
<li data-nav-id="/en/involved/subscribe/" title="Subscribe Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/subscribe/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Subscribe Guide
</a>
</li>
<li data-nav-id="/en/involved/contribute/" title="Contribute Guide" class="dd-item
">
<a href="https://shardingsphere.apache.org/community/en/involved/contribute/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Contribute Guide
</a>
<ul>
<li data-nav-id="/en/involved/contribute/contributor/" title="Contributor Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/contribute/contributor/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Contributor Guide
</a>
</li>
<li data-nav-id="/en/involved/contribute/dev-env/" title="How to Set Up Your DEV Environment" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/contribute/dev-env/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
How to Set Up Your DEV Environment
</a>
</li>
<li data-nav-id="/en/involved/contribute/document/" title="Documents Contribute Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/contribute/document/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Documents Contribute Guide
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/involved/conduct/" title="Contribution Conduct" class="dd-item
">
<a href="https://shardingsphere.apache.org/community/en/involved/conduct/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Contribution Conduct
</a>
<ul>
<li data-nav-id="/en/involved/conduct/issue/" title="Issue of Conduct" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/conduct/issue/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Issue of Conduct
</a>
</li>
<li data-nav-id="/en/involved/conduct/code/" title="Code of Conduct" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/conduct/code/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Code of Conduct
</a>
</li>
<li data-nav-id="/en/involved/conduct/document/" title="Document of Conduct" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/conduct/document/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Document of Conduct
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/involved/committer/" title="Committer Guide" class="dd-item
">
<a href="https://shardingsphere.apache.org/community/en/involved/committer/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Committer Guide
</a>
<ul>
<li data-nav-id="/en/involved/committer/responsibilities/" title="Responsibilities &amp; Routine" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/committer/responsibilities/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Responsibilities &amp; Routine
</a>
</li>
<li data-nav-id="/en/involved/committer/vote/" title="New committer voting process" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/committer/vote/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
New committer voting process
</a>
</li>
<li data-nav-id="/en/involved/committer/icla/" title="Sign ICLA Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/committer/icla/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sign ICLA Guide
</a>
</li>
<li data-nav-id="/en/involved/committer/2fa/" title="2FA" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/committer/2fa/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
2FA
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/involved/release/" title="Release Guide" class="dd-item
parent
">
<a href="https://shardingsphere.apache.org/community/en/involved/release/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Release Guide
</a>
<ul>
<li data-nav-id="/en/involved/release/shardingsphere/" title="ShardingSphere Release Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/release/shardingsphere/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
ShardingSphere Release Guide
</a>
</li>
<li data-nav-id="/en/involved/release/shardingsphere-on-cloud/" title="ShardingSphere on Cloud Release Guide" class="dd-item active">
<a href="https://shardingsphere.apache.org/community/en/involved/release/shardingsphere-on-cloud/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
ShardingSphere on Cloud Release Guide
</a>
</li>
<li data-nav-id="/en/involved/release/elasticjob/" title="ElasticJob Release Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/release/elasticjob/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
ElasticJob Release Guide
</a>
</li>
<li data-nav-id="/en/involved/release/elasticjob-ui/" title="ElasticJob UI Release Guide" class="dd-item ">
<a href="https://shardingsphere.apache.org/community/en/involved/release/elasticjob-ui/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
ElasticJob UI Release Guide
</a>
</li>
</ul>
</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/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<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/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<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/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>4. </b>Security
</a>
</li>
</ul>
</div>
<a class="padding" href="https://shardingsphere.apache.org/pdf/shardingsphere_docs_en.pdf">
Download PDF
</a>
<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/involved/release/shardingsphere-on-cloud.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/involved/'>Get Involved</a> > <a href='https://shardingsphere.apache.org/community/en/involved/release/'>Release Guide</a> > ShardingSphere on Cloud Release Guide
</span>
</div>
</div>
</div>
<div id="chapter">
<div id="body-inner">
<nav id="TableOfContents">
<ul>
<li><a href="#prepare-before-release">Prepare before release</a>
<ul>
<li><a href="#1-check-and-update-notice">1. Check and update NOTICE</a></li>
<li><a href="#2-confirm-release-notes">2. Confirm release notes</a></li>
<li><a href="#3-confirm-issue-list">3. Confirm issue list</a></li>
<li><a href="#4-confirm-pull-request-list">4. Confirm pull request list</a></li>
<li><a href="#5-call-for-a-discussion">5. Call for a discussion</a></li>
<li><a href="#6-close-milestone">6. Close milestone</a></li>
</ul>
</li>
<li><a href="#gpg-settings">GPG Settings</a>
<ul>
<li><a href="#1-install-gpg">1. Install GPG</a></li>
<li><a href="#2-create-key">2. Create Key</a></li>
<li><a href="#3-check-generated-key">3. Check Generated Key</a></li>
<li><a href="#4-export-v1-version-secret">4. Export v1 version secret</a></li>
<li><a href="#5-upload-the-public-key-to-key-server">5. Upload the Public Key to Key Server</a></li>
</ul>
</li>
<li><a href="#prepare-branch-for-release">Prepare Branch for Release</a>
<ul>
<li><a href="#1-create-release-branch">1. Create Release Branch</a></li>
<li><a href="#2-update-charts-version-and-release-notes">2. Update charts version and release notes</a></li>
<li><a href="#3-create-release-tag">3. Create Release Tag</a></li>
<li><a href="#4-package-charts">4. Package charts</a></li>
<li><a href="#5-publish-pre-release-on-github">5. Publish pre-release on GitHub</a></li>
<li><a href="#6-upload-charts">6. Upload charts</a></li>
<li><a href="#check-release">Check Release</a></li>
</ul>
</li>
<li><a href="#call-for-a-vote">Call for a Vote</a></li>
<li><a href="#finish-the-release">Finish the Release</a>
<ul>
<li><a href="#1-merge-release-branch-to-main-and-delete-release-branch-on-github">1. Merge release branch to main and delete release branch on GitHub</a></li>
<li><a href="#2-generate-and-replace-indexyaml">2. Generate and replace index.yaml</a></li>
<li><a href="#3-check-products">3. Check products</a></li>
<li><a href="#4-update-release-on-github">4. Update release on GitHub</a></li>
<li><a href="#5-announce-release-completed-by-email">5. Announce release completed by email</a></li>
</ul>
</li>
</ul>
</nav>
<h2 id="prepare-before-release">Prepare before release</h2>
<h3 id="1-check-and-update-notice">1. Check and update NOTICE</h3>
<p>Check and update year in NOTICE.</p>
<h3 id="2-confirm-release-notes">2. Confirm release notes</h3>
<p>The release note should be provided in English / Chinese, confirm whether English and Chinese description are clear,
and shall be classified according to the following labels:</p>
<ol>
<li>New Feature</li>
<li>API Change</li>
<li>Enhancement</li>
<li>Bug Fix</li>
</ol>
<h3 id="3-confirm-issue-list">3. Confirm issue list</h3>
<p>Open <a href="https://github.com/apache/shardingsphere-on-cloud/issues">Github Issues</a>, filter the issue whose milestone is <code>${RELEASE.VERSION}</code> and status is open:</p>
<ol>
<li>Close the completed issue;</li>
<li>For outstanding issues, communicate with the developer in charge. If this release is not affected, modify milestone to the next version;</li>
<li>Confirm that there is no issue in open status under milestone of release version.</li>
</ol>
<h3 id="4-confirm-pull-request-list">4. Confirm pull request list</h3>
<p>Open <a href="https://github.com/apache/shardingsphere-on-cloud/pulls">Github Pull requests</a>, filter pull requests whose milestone is <code>${RELEASE.VERSION}</code> and status is open:</p>
<ol>
<li>Review the open pull request and merge;</li>
<li>For pull requests that cannot merge and do not affect this release, modify milestone to the next version;</li>
<li>Confirm that there is no open pull request under milestone of release version.</li>
</ol>
<h3 id="5-call-for-a-discussion">5. Call for a discussion</h3>
<ol>
<li>Send email to <a href="mailto:dev@shardingsphere.apache.org">dev@shardingsphere.apache.org</a></li>
<li>Follow the mailing list and confirm that the community developers have no questions about the release note.</li>
</ol>
<h3 id="6-close-milestone">6. Close milestone</h3>
<p>Open <a href="https://github.com/apache/shardingsphere-on-cloud/milestones">GitHub milestone</a></p>
<ol>
<li>Confirm that the milestone completion status of <code>${RELEASE.VERSION}</code> is 100%;</li>
<li>Click <code>close</code> to close milestone.</li>
</ol>
<h2 id="gpg-settings">GPG Settings</h2>
<h3 id="1-install-gpg">1. Install GPG</h3>
<p>Download installation package on <a href="https://www.gnupg.org/download/index.html">official GnuPG website</a>.
The command of GnuPG 1.x version can differ a little from that of 2.x version.
The following instructions take <code>GnuPG-2.1.23</code> version for example.
After the installation, execute the following command to check the 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">gpg --version
</code></pre></div><h3 id="2-create-key">2. Create Key</h3>
<p>After the installation, execute the following command to create key.</p>
<p>This command indicates <code>GnuPG-2.x</code> can be used:</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 --full-gen-key
</code></pre></div><p>This command indicates <code>GnuPG-1.x</code> can be used:</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 --gen-key
</code></pre></div><p>Finish the key creation according to instructions:</p>
<blockquote>
<p>To be noticed: Please use personal Apache email address for key creation.</p>
</blockquote>
<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 <span style="color:#f92672">(</span>GnuPG<span style="color:#f92672">)</span> 2.0.12; Copyright <span style="color:#f92672">(</span>C<span style="color:#f92672">)</span> <span style="color:#ae81ff">2009</span> Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please <span style="color:#66d9ef">select</span> what kind of key you want:
<span style="color:#f92672">(</span>1<span style="color:#f92672">)</span> RSA and RSA <span style="color:#f92672">(</span>default<span style="color:#f92672">)</span>
<span style="color:#f92672">(</span>2<span style="color:#f92672">)</span> DSA and Elgamal
<span style="color:#f92672">(</span>3<span style="color:#f92672">)</span> DSA <span style="color:#f92672">(</span>sign only<span style="color:#f92672">)</span>
<span style="color:#f92672">(</span>4<span style="color:#f92672">)</span> RSA <span style="color:#f92672">(</span>sign only<span style="color:#f92672">)</span>
Your selection? <span style="color:#ae81ff">1</span>
RSA keys may be between <span style="color:#ae81ff">1024</span> and <span style="color:#ae81ff">4096</span> bits long.
What keysize <span style="color:#66d9ef">do</span> you want? <span style="color:#f92672">(</span>2048<span style="color:#f92672">)</span> <span style="color:#ae81ff">4096</span>
Requested keysize is <span style="color:#ae81ff">4096</span> bits
Please specify how long the key should be valid.
0 <span style="color:#f92672">=</span> key does not expire
&lt;n&gt; <span style="color:#f92672">=</span> key expires in n days
&lt;n&gt;w <span style="color:#f92672">=</span> key expires in n weeks
&lt;n&gt;m <span style="color:#f92672">=</span> key expires in n months
&lt;n&gt;y <span style="color:#f92672">=</span> key expires in n years
Key is valid <span style="color:#66d9ef">for</span>? <span style="color:#f92672">(</span>0<span style="color:#f92672">)</span>
Key does not expire at all
Is this correct? <span style="color:#f92672">(</span>y/N<span style="color:#f92672">)</span> y
GnuPG needs to construct a user ID to identify your key.
Real name: <span style="color:#e6db74">${</span>Input username<span style="color:#e6db74">}</span>
Email address: <span style="color:#e6db74">${</span>Input email<span style="color:#e6db74">}</span>
Comment: <span style="color:#e6db74">${</span>Input comment<span style="color:#e6db74">}</span>
You selected this USER-ID:
<span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>Inputed username<span style="color:#e6db74">}</span><span style="color:#e6db74"> (</span><span style="color:#e6db74">${</span>Inputed comment<span style="color:#e6db74">}</span><span style="color:#e6db74">) &lt;</span><span style="color:#e6db74">${</span>Inputed email<span style="color:#e6db74">}</span><span style="color:#e6db74">&gt;&#34;</span>
Change <span style="color:#f92672">(</span>N<span style="color:#f92672">)</span>ame, <span style="color:#f92672">(</span>C<span style="color:#f92672">)</span>omment, <span style="color:#f92672">(</span>E<span style="color:#f92672">)</span>mail or <span style="color:#f92672">(</span>O<span style="color:#f92672">)</span>kay/<span style="color:#f92672">(</span>Q<span style="color:#f92672">)</span>uit? O
You need a Passphrase to protect your secret key. <span style="color:#75715e"># Input passwords</span>
</code></pre></div><h3 id="3-check-generated-key">3. Check Generated Key</h3>
<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 --list-keys
</code></pre></div><p>Execution Result:</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">pub 4096R/700E6065 2019-03-20
uid <span style="color:#e6db74">${</span>Username<span style="color:#e6db74">}</span> <span style="color:#f92672">(</span><span style="color:#e6db74">${</span>Comment<span style="color:#e6db74">}</span><span style="color:#f92672">)</span> &lt;<span style="color:#f92672">{</span>Email<span style="color:#f92672">}</span>&gt;
sub 4096R/0B7EF5B2 2019-03-20
</code></pre></div><p>Among them, 700E6065 is public key ID.</p>
<p>Or run <code>gpg --list-sigs</code> to check it.</p>
<h3 id="4-export-v1-version-secret">4. Export v1 version secret</h3>
<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 --export &gt;~/.gnupg/pubring.gpg
gpg --export-secret-keys &gt;~/.gnupg/secring.gpg
</code></pre></div><h3 id="5-upload-the-public-key-to-key-server">5. Upload the Public Key to Key Server</h3>
<p>The command is as follows:</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 --keyserver hkp://keyserver.ubuntu.com --send-key 700E6065
</code></pre></div><p><code>keyserver.ubuntu.com</code> is randomly chosen from public key server.
Each server will automatically synchronize with one another, so it would be okay to choose any one.</p>
<h2 id="prepare-branch-for-release">Prepare Branch for Release</h2>
<h3 id="1-create-release-branch">1. Create Release Branch</h3>
<p>Suppose <code>ShardingSphere on Cloud</code> source codes downloaded from GitHub is under <code>~/shardingsphere-on-cloud/</code> 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-on-cloud.git ~/shardingsphere-on-cloud
cd ~/shardingsphere-on-cloud/
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><h3 id="2-update-charts-version-and-release-notes">2. Update charts version and release notes</h3>
<p>Update the version of related files in release branch, includes <code>Chart.yaml</code>, <code>values.yaml</code> and documents. e.g.:</p>
<pre><code>~/shardingsphere-on-cloud/charts/apache-shardingsphere-operator-charts/Chart.yaml
~/shardingsphere-on-cloud/charts/apache-shardingsphere-proxy-charts/Chart.yaml
</code></pre><p>Modify <code>version</code> to <code>${RELEASE.VERSION}</code>, <code>appVersion</code> to the corresponding application version, and submit a PR to release branch.</p>
<p>Update <code>RELEASE-NOTES.md</code> and commit to release branch directly.</p>
<h3 id="3-create-release-tag">3. Create Release Tag</h3>
<p>Create a release tag in release branch and push to remote repository.</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 tag <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>
git push origin <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>
</code></pre></div><h3 id="4-package-charts">4. Package charts</h3>
<p>Before packaging charts, you need to download dependent packages through <code>helm dependency build</code> command, and then package charts. The specific operation steps are as follows:</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-on-cloud/charts/apache-shardingsphere-operator-charts
helm dependency build
cd ~/shardingsphere-on-cloud/charts/apache-shardingsphere-proxy-charts/charts/governance
helm dependency build
cd ~/shardingsphere-on-cloud/charts/apache-shardingsphere-proxy-charts
helm dependency build
cd ~/shardingsphere-on-cloud/charts
helm package --sign --key <span style="color:#e6db74">&#39;${GPG 用户名}&#39;</span> --keyring ~/.gnupg/secring.gpg apache-shardingsphere-operator-charts
helm package --sign --key <span style="color:#e6db74">&#39;${GPG 用户名}&#39;</span> --keyring ~/.gnupg/secring.gpg apache-shardingsphere-proxy-charts
</code></pre></div><h3 id="5-publish-pre-release-on-github">5. Publish pre-release on GitHub</h3>
<p>Click <code>Draft a new release</code> on <a href="https://github.com/apache/shardingsphere/releases">GitHub Releases</a> page.</p>
<p>Input release version and release notes, select <code>Set as a pre-release</code>, click <code>Publish release</code>.</p>
<h3 id="6-upload-charts">6. Upload charts</h3>
<p>Upload the tgz file generated before to the Assets of GitHub release.</p>
<h3 id="check-release">Check Release</h3>
<p><strong>1. Check gpg Signature</strong></p>
<p>First, import releaser&rsquo;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&rsquo;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 &gt;&gt; KEYS
gpg --import KEYS
gpg --edit-key <span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>releaser gpg username<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>
&gt; trust
Please decide how far you trust this user to correctly verify other users<span style="color:#e6db74">&#39; 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&#39;</span>t know or won<span style="color:#960050;background-color:#1e0010">&#39;</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>
&gt; save
</code></pre></div><p>Download all prov files and tgz files, then, check the gpg signature.</p>
<p>Checking can be performed by the following command under Bash:</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-bash" data-lang="bash"><span style="color:#66d9ef">for</span> each in <span style="color:#66d9ef">$(</span>ls *.tgz<span style="color:#66d9ef">)</span>; <span style="color:#66d9ef">do</span> helm verify $each; <span style="color:#66d9ef">done</span>
</code></pre></div><p>Or checking each file manually:</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">helm verify apache-shardingsphere-operator-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>.tgz
helm verify apache-shardingsphere-operator-cluster-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>.tgz
helm verify apache-shardingsphere-proxy-<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span>.tgz
</code></pre></div><p><strong>2. Check Released Files</strong></p>
<p>Decompress:</p>
<ul>
<li><code>apache-shardingsphere-operator-charts-${RELEASE.VERSION}.tgz</code></li>
<li><code>apache-shardingsphere-proxy-charts-${RELEASE.VERSION}.tgz</code></li>
</ul>
<p>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, excepts the following files:
<ul>
<li>All Chart.yaml</li>
<li>All Chart.lock</li>
</ul>
</li>
<li>Check the third party dependency license:
<ul>
<li>The software has 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 on Cloud ${RELEASE.VERSION}
</code></pre><p>Body:</p>
<pre><code>Hello ShardingSphere Community,
This is a call for vote to release Apache ShardingSphere on Cloud version ${RELEASE.VERSION}
Release notes:
https://github.com/apache/shardingsphere-on-cloud/blob/${RELEASE.VERSION}-release/RELEASE-NOTES.md
The release candidates:
https://github.com/apache/shardingsphere-on-cloud/releases/tag/${RELEASE.VERSION}
Git tag for the release:
https://github.com/apache/shardingsphere-on-cloud/tree/${RELEASE.VERSION}/
Release Commit ID:
https://github.com/apache/shardingsphere/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/involved/release/shardingsphere-on-cloud/
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:
[ ] Checksums and PGP signatures are valid.
[ ] LICENSE and NOTICE files are correct for each ShardingSphere on Cloud repo.
[ ] All files have license headers if necessary.
</code></pre><ol start="2">
<li>Announce the vote result:</li>
</ol>
<p>Title:</p>
<pre><code>[RESULT][VOTE] Release Apache ShardingSphere on Cloud ${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>
<h3 id="1-merge-release-branch-to-main-and-delete-release-branch-on-github">1. Merge release branch to main and delete release branch on GitHub</h3>
<p>Create a PR to merge <code>${RELEASE.VERSION}-release</code> into <code>main</code> on GitHub.</p>
<h3 id="2-generate-and-replace-indexyaml">2. Generate and replace index.yaml</h3>
<ol>
<li>Generate index.yaml</li>
</ol>
<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-on-cloud/charts
mkdir release
mv *.tgz release
git checkout gh-pages
cd release
mv ~/shardingsphere-on-cloud/index.yaml .
helm repo index --url https://github.com/apache/shardingsphere-on-cloud/releases/download/<span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> . --merge index.yaml
</code></pre></div><p>Check whether new generated url in index.yaml works or not.</p>
<ol start="2">
<li>Replace the original index.yaml</li>
</ol>
<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 index.yaml ~/shardingsphere-on-cloud/index.yaml
</code></pre></div><p>Submit PR and merge into <code>gh-pages</code> branch on GitHub.</p>
<h3 id="3-check-products">3. Check products</h3>
<p>Update repository and search:</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">helm repo remove apache
helm repo add apache https://apache.github.io/shardingsphere-on-cloud
helm search repo apache
</code></pre></div><p><code>helm repo add</code> and <code>helm search repo -l</code> will be verified according to the verification value in index.yaml.</p>
<p>If search result includes following two products with correct version, then release is successful:</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">NAME CHART VERSION APP VERSION DESCRIPTION
apache/apache-shardingsphere-operator-charts <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> xxx A Helm chart <span style="color:#66d9ef">for</span> ShardingSphere-Operator
apache/apache-shardingsphere-proxy-charts <span style="color:#e6db74">${</span>RELEASE.VERSION<span style="color:#e6db74">}</span> xxx A Helm chart <span style="color:#66d9ef">for</span> ShardingSphere-Proxy-Cluster
</code></pre></div><h3 id="4-update-release-on-github">4. Update release on GitHub</h3>
<p>Edit new release on <a href="https://github.com/apache/shardingsphere/releases">GitHub Releases</a> page, then select <code>Set as the latest release</code> and click <code>Update release</code>.</p>
<h3 id="5-announce-release-completed-by-email">5. Announce release completed by email</h3>
<p>Send e-mail to <code>dev@shardingsphere.apache.org</code> and <code>announce@apache.org</code> with <strong>plain text mode</strong> to announce the release is completed.</p>
<p>Announcement e-mail template:</p>
<p>Title:</p>
<pre><code>[ANNOUNCE] Apache ShardingSphere on Cloud ${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 on Cloud ${RELEASE.VERSION}.
The shardingsphere-on-cloud project, including ShardingSphere Operator, Helm Charts, and other cloud solutions, aims at enhancing the deployment and management capabilities of Apache ShardingSphere Proxy on the cloud.
ShardingSphere Operator is a Kubernetes software extension written with the Operator extension pattern of Kubernetes. ShardingSphere Operator can be used to quickly deploy an Apache ShardingSphere Proxy cluster in the Kubernetes environment and manage the entire cluster life cycle.
Download Links: https://github.com/apache/shardingsphere-on-cloud/releases/tag/${RELEASE.VERSION}
Release Notes: https://github.com/apache/shardingsphere-on-cloud/blob/master/RELEASE-NOTES.md
Website: https://shardingsphere.apache.org/
ShardingSphere on Cloud Resources:
- Issue: https://github.com/apache/shardingsphere-on-cloud/issues/
- Mailing list: dev@shardingsphere.apache.org
- Documents: https://shardingsphere.apache.org/oncloud/current/en/overview/
- 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/involved/release/shardingsphere/" title="ShardingSphere Release Guide"> <i class="fa fa-long-arrow-left fa-lg"></i> Previous</a>
<a class="nav nav-next" href="https://shardingsphere.apache.org/community/en/involved/release/elasticjob/" title="ElasticJob Release Guide" style="margin-right: 0px;">Next<i class="fa fa-long-arrow-right fa-lg"></i></a>
</div>
</section>
</div>
<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?1686302725"></script>
<script src="https://shardingsphere.apache.org/community/js/perfect-scrollbar.min.js?1686302725"></script>
<script src="https://shardingsphere.apache.org/community/js/perfect-scrollbar.jquery.min.js?1686302725"></script>
<script src="https://shardingsphere.apache.org/community/js/jquery.sticky.js?1686302725"></script>
<script src="https://shardingsphere.apache.org/community/js/featherlight.min.js?1686302725"></script>
<script src="https://shardingsphere.apache.org/community/js/html5shiv-printshiv.min.js?1686302725"></script>
<script src="https://shardingsphere.apache.org/community/js/highlight.pack.js?1686302725"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://shardingsphere.apache.org/community/js/modernizr.custom.71422.js?1686302725"></script>
<script src="https://shardingsphere.apache.org/community/js/learn.js?1686302725"></script>
<script src="https://shardingsphere.apache.org/community/js/hugo-learn.js?1686302725"></script>
<script>
try{
function log(fileName, category, locale){
window._hmt.push(['_trackEvent', 'document', 'download', locale ? 'PDF_'+locale : fileName]);
gtag('event', 'Downloads', {
'event_category' : locale ? 'PDF' : category,
'event_label' : locale ? locale+'.pdf' : fileName
});
}
$('.padding[href*=shardingsphere]').on('click', function(){
var locale = /cn/.test(location.pathname) ?'cn':'en';
log('','', locale)
})
function getFileName(str){
var strs = str.split('/');
return strs[strs.length - 1]
}
$('a[href$="src.zip"]').on('click', function(){
log(getFileName($(this).attr('href')), "SRC")
})
$('a[href$="zip.asc"]').on('click', function(){
log(getFileName($(this).attr('href')), "ASC")
})
$('a[href$="zip.sha512"]').on('click', function(){
log(getFileName($(this).attr('href')), "SHA512")
})
$('a[href$="tar.gz.asc"]').on('click', function(){
log(getFileName($(this).attr('href')), "ASC")
})
$('a[href$="tar.gz.sha512"]').on('click', function(){
log(getFileName($(this).attr('href')), "SHA512")
})
$('a[href$="tar.gz"]').on('click', function(){
log(getFileName($(this).attr('href')), "TAR")
})
}catch(ex){}
</script>
</body>
</html>