| <!doctype html> |
| <!-- |
| Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose |
| Copyright 2017 Michael Rose - mademistakes.com | @mmistakes |
| Free for personal and commercial use under the MIT license |
| https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt |
| --> |
| <html lang="cn" class="no-js"> |
| <head> |
| <meta charset="utf-8"> |
| |
| <!-- begin SEO --> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <title>ServiceComb Pack Release Guide - Apache ServiceComb</title> |
| |
| |
| |
| |
| <meta name="description" content="ServiceComb Pack 发行指南"> |
| |
| |
| |
| |
| <meta name="author" content=""> |
| |
| <meta property="og:locale" content="cn"> |
| <meta property="og:site_name" content="Apache ServiceComb"> |
| <meta property="og:title" content="ServiceComb Pack Release Guide"> |
| |
| |
| <link rel="canonical" href="https://github.com/pages/apache/incubator-servicecomb-website/cn/release/pack-release-guide/"> |
| <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/cn/release/pack-release-guide/"> |
| |
| |
| |
| <meta property="og:description" content="ServiceComb Pack 发行指南"> |
| |
| |
| |
| <meta name="twitter:site" content="@ServiceComb"> |
| <meta name="twitter:title" content="ServiceComb Pack Release Guide"> |
| <meta name="twitter:description" content="ServiceComb Pack 发行指南"> |
| <meta name="twitter:url" content=""> |
| |
| |
| <meta name="twitter:card" content="summary"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script type="application/ld+json"> |
| { |
| "@context" : "http://schema.org", |
| "@type" : "Person", |
| "name" : "Apache ServiceComb", |
| "url" : "https://github.com/pages/apache/incubator-servicecomb-website", |
| "sameAs" : null |
| } |
| </script> |
| |
| |
| |
| <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" /> |
| |
| |
| |
| |
| <!-- end SEO --> |
| |
| |
| <link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache ServiceComb Feed"> |
| |
| <!-- http://t.co/dKP3o1e --> |
| <meta name="HandheldFriendly" content="True"> |
| <meta name="MobileOptimized" content="320"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| |
| <script> |
| document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js '; |
| </script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script> |
| <script src="/assets/vendor/prism/prism.js"></script> |
| |
| <script type="text/javascript" async |
| src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"> |
| </script> |
| |
| <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> |
| |
| <script src="https://www.apachecon.com/event-images/snippet.js"></script> |
| <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> |
| <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script> |
| <!-- For all browsers --> |
| <link rel="stylesheet" href="/assets/css/main.css"> |
| <link rel="stylesheet" href="/assets/vendor/prism/prism.css"> |
| |
| <!--[if lte IE 9]> |
| <style> |
| /* old IE unsupported flexbox fixes */ |
| .greedy-nav .site-title { |
| padding-right: 3em; |
| } |
| .greedy-nav button { |
| position: absolute; |
| top: 0; |
| right: 0; |
| height: 100%; |
| } |
| </style> |
| <![endif]--> |
| |
| <meta http-equiv="cleartype" content="on"> |
| |
| <!-- start custom head snippets --> |
| |
| <!-- insert favicons. use http://realfavicongenerator.net/ --> |
| <link href="https://fonts.loli.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet"> |
| <script src="/assets/js/custom.js"></script> |
| <!-- end custom head snippets --> |
| |
| </head> |
| |
| <body class="layout--single"> |
| |
| <!--[if lt IE 9]> |
| <div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div> |
| <![endif]--> |
| <div class="masthead" onmouseleave="$('#childrenShow').css('display', 'none')"> |
| <div class="masthead__inner-wrap"> |
| <div class="masthead__menu"> |
| <nav id="site-nav" class="greedy-nav"> |
| |
| <a class="site-title active" href="/cn"><img src="https://www.apache.org/img/servicecomb.png"></a> |
| |
| <ul class="visible-links"> |
| |
| |
| |
| |
| |
| <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')"> |
| |
| <a href="/cn/">首页</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')"> |
| |
| <a href="/cn/developers/">项目</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')"> |
| |
| |
| |
| |
| |
| <a href="/cn/docs/users/">文档</a> |
| |
| |
| <ul id="childrenShow" class="def-children-show-cn" onmouseleave="$('#childrenShow').css('display', 'none')"> |
| |
| <li><a href="/cn/docs/getting-started/" class="">入门指南</a></li> |
| |
| <li><a href="/cn/docs/users/" class="">用户手册</a></li> |
| |
| <li><a href="/cn/slides/" class="">大咖视频</a></li> |
| |
| <li><a href="/cn/faqs/" class="">常见问题</a></li> |
| |
| </ul> |
| </li> |
| |
| |
| |
| |
| |
| |
| <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')"> |
| |
| <a href="/cn/year-archive/">博文</a> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')"> |
| |
| <a class="active" href="/cn/release/">下载</a> |
| |
| </li> |
| |
| |
| </ul> |
| <button><div class="navicon"></div></button> |
| <ul class="hidden-links hidden"></ul> |
| <div class="nav-lang"> |
| |
| |
| |
| <a href=/release/pack-release-guide/>English</a> |
| |
| </div> |
| </nav> |
| </div> |
| </div> |
| </div> |
| |
| |
| |
| |
| |
| |
| <div id="main" role="main"> |
| |
| <div class="sidebar sticky"> |
| |
| <div class="back-to-home"><a href="/cn/">首页</a> > ServiceComb Pack Release Guide</div> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <nav class="nav__list"> |
| |
| <input id="ac-toc" name="accordion-toc" type="checkbox" /> |
| <label for="ac-toc">切换菜单</label> |
| <ul class="nav__items"> |
| |
| <li> |
| |
| <span class="nav__sub-title">Service-Center</span> |
| |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/service-center-release-notes/" class="">发布说明</a></li> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/service-center-downloads/" class="">发布包</a></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li> |
| |
| <span class="nav__sub-title">Kie</span> |
| |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/kie-release-notes/" class="">发布说明</a></li> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/kie-downloads/" class="">发布包</a></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li> |
| |
| <span class="nav__sub-title">Java-Chassis</span> |
| |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/java-chassis-release-notes/" class="">发布说明</a></li> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/java-chassis-downloads/" class="">发布包</a></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li> |
| |
| <span class="nav__sub-title">Mesher</span> |
| |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/mesher-release-notes/" class="">发布说明</a></li> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/mesher-downloads/" class="">发布包</a></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li> |
| |
| <span class="nav__sub-title">Pack</span> |
| |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/pack-release-notes/" class="">发布说明</a></li> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/pack-downloads/" class="">发布包</a></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li> |
| |
| <span class="nav__sub-title">Toolkit</span> |
| |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/toolkit-release-notes/" class="">发布说明</a></li> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/toolkit-downloads/" class="">发布包</a></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li> |
| |
| <span class="nav__sub-title">Saga Actuator</span> |
| |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/saga-actuator-release-notes/" class="">发布说明</a></li> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/saga-actuator-downloads/" class="">发布包</a></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li> |
| |
| <span class="nav__sub-title">Saga</span> |
| |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/saga-release-notes/" class="">发布说明</a></li> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="/cn/release/saga-downloads/" class="">发布包</a></li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| </nav> |
| |
| |
| |
| </div> |
| |
| |
| |
| <article class="page" itemscope itemtype="http://schema.org/CreativeWork"> |
| <meta itemprop="headline" content="ServiceComb Pack Release Guide"> |
| <meta itemprop="description" content="ServiceComb Pack 发行指南"> |
| |
| <meta itemprop="dateModified" content="August 06, 2022"> |
| |
| <div class="page__inner-wrap"> |
| |
| |
| <header> |
| <h1 class="page__title" itemprop="headline">ServiceComb Pack Release Guide |
| </h1> |
| |
| </header> |
| |
| |
| |
| <section class="page__content" itemprop="text"> |
| <h2 id="发布环境准备">发布环境准备</h2> |
| |
| <h4 id="生成签名密钥">生成签名密钥</h4> |
| |
| <ol> |
| <li>安装 GPG</li> |
| </ol> |
| |
| <p>在<a href="https://www.gnupg.org/download/index.html">GnuPG官网</a>下载 2.X 安装包. 安装完毕后可以使用如下命令查看版本</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>gpg <span class="nt">--version</span> |
| gpg <span class="o">(</span>GnuPG/MacGPG2<span class="o">)</span> 2.2.20 |
| libgcrypt 1.8.5 |
| Copyright <span class="o">(</span>C<span class="o">)</span> 2020 Free Software Foundation, Inc. |
| </code></pre></div></div> |
| |
| <ol> |
| <li>配置 GPG</li> |
| </ol> |
| |
| <p>安装完毕后你可以找到 <code class="language-plaintext highlighter-rouge">$HOME/.gnupg/gpg.conf</code> 文件,并增加如下<a href="https://infra.apache.org/openpgp.html#sha-defaults">推荐配置</a></p> |
| |
| <div class="language-properties highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err">personal-digest-preferences</span> <span class="err">SHA512</span> |
| <span class="err">cert-digest-algo</span> <span class="err">SHA512</span> |
| <span class="err">default-preference-list</span> <span class="err">SHA512</span> <span class="err">SHA384</span> <span class="err">SHA256</span> <span class="err">SHA224</span> <span class="err">AES256</span> <span class="err">AES192</span> <span class="err">AES</span> <span class="err">CAST5</span> <span class="err">ZLIB</span> <span class="err">BZIP2</span> <span class="err">ZIP</span> <span class="err">Uncompressed</span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li>用 GPG 生成密钥</li> |
| </ol> |
| |
| <p>根据提示使用 ASF 邮箱生成 GPG 的密钥,更多详细说明请参考 <a href="https://infra.apache.org/openpgp.html#generate-key">Generate Key with GPG</a></p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>gpg <span class="nt">--full-gen-key</span> |
| gpg <span class="o">(</span>GnuPG/MacGPG2<span class="o">)</span> 2.2.34<span class="p">;</span> Copyright <span class="o">(</span>C<span class="o">)</span> 2022 g10 Code GmbH |
| This is free software: you are free to change and redistribute it. |
| There is NO WARRANTY, to the extent permitted by law. |
| |
| Please <span class="k">select </span>what kind of key you want: |
| <span class="o">(</span>1<span class="o">)</span> RSA and RSA <span class="o">(</span>default<span class="o">)</span> |
| <span class="o">(</span>2<span class="o">)</span> DSA and Elgamal |
| <span class="o">(</span>3<span class="o">)</span> DSA <span class="o">(</span>sign only<span class="o">)</span> |
| <span class="o">(</span>4<span class="o">)</span> RSA <span class="o">(</span>sign only<span class="o">)</span> |
| <span class="o">(</span>14<span class="o">)</span> Existing key from card |
| Your selection? 1 |
| RSA keys may be between 1024 and 4096 bits long. |
| What keysize <span class="k">do </span>you want? <span class="o">(</span>3072<span class="o">)</span> 4096 |
| Requested keysize is 4096 bits |
| Please specify how long the key should be valid. |
| 0 <span class="o">=</span> key does not expire |
| <n> <span class="o">=</span> key expires <span class="k">in </span>n days |
| <n>w <span class="o">=</span> key expires <span class="k">in </span>n weeks |
| <n>m <span class="o">=</span> key expires <span class="k">in </span>n months |
| <n>y <span class="o">=</span> key expires <span class="k">in </span>n years |
| Key is valid <span class="k">for</span>? <span class="o">(</span>0<span class="o">)</span> |
| Key does not expire at all |
| Is this correct? <span class="o">(</span>y/N<span class="o">)</span> y |
| |
| GnuPG needs to construct a user ID to identify your key. |
| |
| Real name: <span class="o">[</span>你的 ASF 账号] |
| Email address: <span class="o">[</span>你的 ASF 邮箱] |
| Comment: CODE SIGNING KEY |
| You selected this USER-ID: |
| <span class="s2">"[你的 ASF 账号] (CODE SIGNING KEY) <[你的 ASF 邮箱]>"</span> |
| |
| Change <span class="o">(</span>N<span class="o">)</span>ame, <span class="o">(</span>C<span class="o">)</span>omment, <span class="o">(</span>E<span class="o">)</span>mail or <span class="o">(</span>O<span class="o">)</span>kay/<span class="o">(</span>Q<span class="o">)</span>uit? O |
| </code></pre></div></div> |
| |
| <p>生成密钥的过程中会提示你输入一个<strong>[密钥密码]</strong>用来保护你的密钥,请记住这个密钥密码</p> |
| |
| <ol> |
| <li>查看 GPG 公钥ID</li> |
| </ol> |
| |
| <p>你可以使用如下命令查看生成的密钥,请保存 <strong>[公钥ID]</strong>。</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>gpg <span class="nt">--list-keys</span> |
| pub rsa4096 2022-05-05 <span class="o">[</span>SC] |
| <span class="o">[</span>公钥ID] |
| uid <span class="o">[</span> unknown] <span class="o">[</span>你的 ASF 账号] <span class="o">(</span>CODE SIGNING KEY<span class="o">)</span> <<span class="o">[</span>你的 ASF 邮箱]> |
| sub rsa4096 2022-05-05 <span class="o">[</span>E] |
| </code></pre></div></div> |
| |
| <ol> |
| <li>发布公钥到密钥服务器</li> |
| </ol> |
| |
| <p>使用 <strong>[公钥ID]</strong> 将公钥发布到 <code class="language-plaintext highlighter-rouge">pgpkeys.mit.edu</code>,发布后稍等一会就会自动同步到其他密钥服务器</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gpg <span class="nt">--keyserver</span> pgpkeys.mit.edu <span class="nt">--send-key</span> <span class="o">[</span>公钥ID] |
| </code></pre></div></div> |
| |
| <p>使用如下命令验证公钥是否发布成功(因为发布后后台需要同步,所以可能需等待一会)</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gpg <span class="nt">--keyserver</span> hkp://pgpkeys.mit.edu <span class="nt">--recv-keys</span> <span class="o">[</span>公钥ID] |
| </code></pre></div></div> |
| |
| <p>如果你看到如下信息,说明已经发布成功</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gpg: key <span class="o">[</span>公钥ID]: <span class="s2">"[你的 ASF 账号] (CODE SIGNING KEY) <[你的 ASF 邮箱]>"</span> not changed |
| gpg: Total number processed: 1 |
| gpg: unchanged: 1 |
| </code></pre></div></div> |
| |
| <ol> |
| <li>发布公钥指纹到 ASF 用户信息中</li> |
| </ol> |
| |
| <p>使用以下命令生成公钥指纹,登录 https://id.apache.org, 将下面<strong>公钥指纹</strong>粘贴到自己的用户信息中 OpenPGP Public Key Primary Fingerprint 中。</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>gpg <span class="nt">--fingerprint</span> Lei Zhang |
| pub rsa4096 2022-05-05 <span class="o">[</span>SC] |
| <span class="o">[</span>公钥指纹] |
| uid <span class="o">[</span> unknown] <span class="o">[</span>你的 ASF 账号] <span class="o">(</span>CODE SIGNING KEY<span class="o">)</span> <<span class="o">[</span>你的 ASF 邮箱]> |
| sub rsa4096 2022-05-05 <span class="o">[</span>E] |
| </code></pre></div></div> |
| |
| <ol> |
| <li>备份公钥和私钥(不是发布流程的必须环节)</li> |
| </ol> |
| |
| <p>你可以使用以下方式备份密钥</p> |
| |
| <p>导出公钥</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gpg <span class="nt">-a</span> <span class="nt">-o</span> public-file.key <span class="nt">--export</span> <span class="o">[</span>公钥ID] |
| </code></pre></div></div> |
| |
| <p>导出私钥(需要生成密钥时的密码)</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gpg <span class="nt">-a</span> <span class="nt">-o</span> private-file.key <span class="nt">--export-secret-keys</span> <span class="o">[</span>公钥ID] |
| </code></pre></div></div> |
| |
| <ol> |
| <li>将公钥追加到以下两个文件中</li> |
| </ol> |
| |
| <ul> |
| <li>https://dist.apache.org/repos/dist/dev/servicecomb/KEYS</li> |
| <li>https://dist.apache.org/repos/dist/release/servicecomb/KEYS</li> |
| </ul> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>svn co <span class="nt">--depth</span><span class="o">=</span>empty https://dist.apache.org/repos/dist/dev/servicecomb |
| svn up KEYS |
| <span class="nb">cat </span>public-file.key <span class="o">>></span> KEYS |
| svn commit <span class="nt">-m</span> <span class="s1">'add [你的 ASF 邮箱] gpg public key'</span> |
| |
| svn co <span class="nt">--depth</span><span class="o">=</span>empty https://dist.apache.org/repos/dist/release/servicecomb |
| svn up KEYS |
| <span class="nb">cat </span>public-file.key <span class="o">>></span> KEYS |
| svn commit <span class="nt">-m</span> <span class="s1">'add [你的 ASF 邮箱] gpg public key'</span> |
| </code></pre></div></div> |
| |
| <h4 id="apache-maven-认证配置">Apache Maven 认证配置</h4> |
| |
| <p>在发布前我们需要配置 Apache Maven 仓库的服务器地址、账号和密码。为了安全我们使用 <a href="https://maven.apache.org/guides/mini/guide-encryption.html">Password Encryption</a> 对 Apache LDAP 密码加密</p> |
| |
| <ol> |
| <li>创建一个主密码</li> |
| </ol> |
| |
| <p>使用如下命令创建一个 <strong>[主密码]</strong>,并生成 <strong>[加密后的主密码]</strong></p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>mvn <span class="nt">--encrypt-master-password</span> <span class="o">[</span>主密码] |
| </code></pre></div></div> |
| |
| <p>将[加密后的主密码]配置在 ~/.m2/settings-security.xml 文件中</p> |
| |
| <div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><settingsSecurity></span> |
| <span class="nt"><master></span>[加密后的主密码]<span class="nt"></master></span> |
| <span class="nt"></settingsSecurity></span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li>加密你的 ASF LDAP 密码</li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>mvn <span class="nt">--encrypt-password</span> <span class="o">[</span>你的 ASF LDAP 密码] |
| </code></pre></div></div> |
| |
| <ol> |
| <li>加密你生成 GPG 密钥时输入的 [密钥密码]</li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>mvn <span class="nt">--encrypt-password</span> <span class="o">[</span>密钥密码] |
| </code></pre></div></div> |
| |
| <ol> |
| <li>在 <code class="language-plaintext highlighter-rouge">~/.m2/settings.xml</code> 文件中配置发布服务器地址和加密后的密码</li> |
| </ol> |
| |
| <div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><settings></span> |
| <span class="nt"><servers></span> |
| <span class="nt"><server></span> |
| <span class="nt"><id></span>apache.snapshots.https<span class="nt"></id></span> |
| <span class="nt"><username></span>[你的 ASF 账号]<span class="nt"></username></span> |
| <span class="nt"><password></span>[加密后的 ASF LDAP 密码]<span class="nt"></password></span> |
| <span class="nt"></server></span> |
| <span class="nt"><server></span> |
| <span class="nt"><id></span>apache.releases.https<span class="nt"></id></span> |
| <span class="nt"><username></span>[你的 ASF 账号]<span class="nt"></username></span> |
| <span class="nt"><password></span>[加密后的 ASF LDAP 密码]<span class="nt"></password></span> |
| <span class="nt"></server></span> |
| <span class="nt"><server></span> |
| <span class="nt"><id></span>gpg.passphrase<span class="nt"></id></span> |
| <span class="nt"><passphrase></span>[加密后的密钥密码]<span class="nt"></passphrase></span> |
| <span class="nt"></server></span> |
| <span class="nt"></servers></span> |
| <span class="nt"></settings></span> |
| </code></pre></div></div> |
| |
| <h2 id="servicecomb-pack-发布">ServiceComb Pack 发布</h2> |
| |
| <p>本文档基于 <code class="language-plaintext highlighter-rouge">0.7.0</code> 正式版发布过程编写。在正式开始发布之前请提前一周通过 <code class="language-plaintext highlighter-rouge">dev@servicecomb.apache.org</code> 预告即将开始发布,确认代码是否已经准备就绪。</p> |
| |
| <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Hello All, |
| |
| Since from last ServiceComb pack [Previous version] release, we have made significant changes, so now is the time to release the new version [Release version]. |
| |
| I will cut a new release tomorrow morning from the branch https://github.com/apache/servicecomb-pack/tree/[Branch name]. |
| |
| @PMC/@Committers please let me know if there is any important patch we need to merge before this release. |
| |
| Regards |
| [Your name] |
| </code></pre></div></div> |
| |
| <p><strong>注意:</strong> 发布流程中的 <strong>PMC投票</strong> 环节通常需要 3 天,在没有任何 PMC 投 -1 票后才能正式发布,因此请提前计划发布活动。</p> |
| |
| <h4 id="发布到临时筹备库staging-repositories">发布到临时筹备库(Staging Repositories)</h4> |
| |
| <ol> |
| <li> |
| <p>使用 ASF LDAP 账号登录 <code class="language-plaintext highlighter-rouge">https://repository.apache.org/</code> 清除 Staging Repositories 中与 Pack 相关的多余版本</p> |
| </li> |
| <li> |
| <p>下载代码</p> |
| </li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> ~/Work/apache-release-workspace |
| <span class="nb">cd</span> ~/Work/apache-release-workspace |
| git clone https://github.com/apache/servicecomb-pack.git |
| </code></pre></div></div> |
| |
| <ol> |
| <li>执行 Maven 部署命令,<strong>注意:使用 <code class="language-plaintext highlighter-rouge">-Drevision=0.7.0</code> 设置要发布的版本号</strong></li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/servicecomb-pack |
| mvn deploy <span class="nt">-DskipTests</span> <span class="nt">-Prelease</span> <span class="nt">-Drevision</span><span class="o">=</span>0.7.0 |
| </code></pre></div></div> |
| |
| <ol> |
| <li>使用 ASF LDAP 账号登录 <code class="language-plaintext highlighter-rouge">https://repository.apache.org/</code>,在 Staging Repositories 中选择刚刚发布的 repository,点击 Close 后完成临时发布。</li> |
| </ol> |
| |
| <h4 id="测试临时筹备库中的-artifacts">测试临时筹备库中的 Artifacts</h4> |
| |
| <p>在发起投票前,我们需要测试 Staging Repositories 中刚刚发布的 Artifacts ,我们需要配置一些参数,让验收测试从 Staging Repositories 中拉取依 Artifacts,更多详细说明可以参考 <a href="https://maven.apache.org/guides/development/guide-testing-releases.html">Guide to Testing Staged Releases</a></p> |
| |
| <ol> |
| <li>删除本地仓库中 Artifacts</li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">rm</span> <span class="nt">-rf</span> ~/.m2/repository/org/apache/servicecomb/pack |
| </code></pre></div></div> |
| |
| <ol> |
| <li>在 <code class="language-plaintext highlighter-rouge">~/.m2/settings.xml</code> 中增加如下配置</li> |
| </ol> |
| |
| <div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><profiles></span> |
| <span class="nt"><profile></span> |
| <span class="nt"><id></span>staged-releases<span class="nt"></id></span> |
| <span class="nt"><repositories></span> |
| <span class="nt"><repository></span> |
| <span class="nt"><id></span>staged-releases<span class="nt"></id></span> |
| <span class="nt"><url></span>https://repository.apache.org/content/groups/staging/<span class="nt"></url></span> |
| <span class="nt"></repository></span> |
| <span class="nt"></repositories></span> |
| <span class="nt"><pluginRepositories></span> |
| <span class="nt"><pluginRepository></span> |
| <span class="nt"><id></span>staged-releases<span class="nt"></id></span> |
| <span class="nt"><url></span>https://repository.apache.org/content/groups/staging/<span class="nt"></url></span> |
| <span class="nt"></pluginRepository></span> |
| <span class="nt"></pluginRepositories></span> |
| <span class="nt"></profile></span> |
| <span class="nt"></profiles></span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li>执行验收测试,<strong>注意:使用 <code class="language-plaintext highlighter-rouge">-Drevision=0.7.0</code> 设置要发布的版本号</strong></li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/servicecomb-pack |
| mvn clean verify <span class="nt">-f</span> demo <span class="nt">-Pdemo</span> <span class="nt">-Pdocker</span> <span class="nt">-Drevision</span><span class="o">=</span>0.7.0 <span class="nt">-Pstaged-releases</span> <span class="nt">-U</span> |
| mvn clean verify <span class="nt">-f</span> acceptance-tests <span class="nt">-Pdemo</span> <span class="nt">-Pdocker</span> <span class="nt">-Drevision</span><span class="o">=</span>0.7.0 <span class="nt">-Pstaged-releases</span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li>检查本地 Artifacts 中是否还存未替换的 SNAPSHOT 版本</li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>find ~/.m2/repository/org/apache/servicecomb/pack <span class="nt">-name</span> <span class="s2">"*-0.7.0.pom"</span> | xargs <span class="nb">grep</span> <span class="s2">"SNAPSHOT"</span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li>如果一切正常,我们将创建 <code class="language-plaintext highlighter-rouge">0.7.x</code> 分支, <code class="language-plaintext highlighter-rouge">0.7.0</code> TAG,修改主干版本号为 <code class="language-plaintext highlighter-rouge">0.8.0-SNAPSHOT</code></li> |
| </ol> |
| |
| <p>创建并推送 <code class="language-plaintext highlighter-rouge">0.7.x</code> 分支</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/servicecomb-pack |
| git checkout master |
| git checkout <span class="nt">-b</span> 0.7.x |
| mvn versions:set-property <span class="nt">-Dproperty</span><span class="o">=</span>revision <span class="nt">-DnewVersion</span><span class="o">=</span>0.7.0 |
| git add pom.xml |
| git commit <span class="nt">-m</span> <span class="s1">'Cut 0.7.0 Release'</span> |
| git push origin 0.7.x |
| </code></pre></div></div> |
| |
| <p>在 0.7.x 分支上创建并推送 <code class="language-plaintext highlighter-rouge">0.7.0</code> TAG</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/servicecomb-pack |
| git tag <span class="nt">-a</span> 0.7.0 <span class="nt">-m</span> <span class="s2">"ServiceComb Pack 0.7.0 Release"</span> |
| git push origin 0.7.0 |
| </code></pre></div></div> |
| |
| <p>切换到主版本,修改版本号为 <code class="language-plaintext highlighter-rouge">0.8.0-SNAPSHOT</code> 并推送</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/servicecomb-pack |
| git checkout master |
| mvn versions:set-property <span class="nt">-Dproperty</span><span class="o">=</span>revision <span class="nt">-DnewVersion</span><span class="o">=</span>0.8.0-SNAPSHOT |
| git add pom.xml |
| git commit <span class="nt">-m</span> <span class="s1">'Update Release Number to 0.8.0-SNAPSHOT'</span> |
| git push origin master |
| </code></pre></div></div> |
| |
| <h4 id="签署版本--上传到-asf-svn-仓库">签署版本 & 上传到 ASF SVN 仓库</h4> |
| |
| <ol> |
| <li>拉取 SVN 仓库到本地</li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> ~/Work/apache-release-workspace/dist |
| <span class="nb">cd</span> ~/Work/apache-release-workspace/dist |
| svn co https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack <span class="nt">--username</span><span class="o">=[</span>你的 ASF LDAP 用户名] <span class="nt">--password</span><span class="o">=[</span>你的 ASF LDAP 密码] |
| </code></pre></div></div> |
| |
| <ol> |
| <li>创建发布包目录</li> |
| </ol> |
| |
| <p>如果你是第 1 次发布 0.7.0 版本,那么创建 <code class="language-plaintext highlighter-rouge">0.7.0/rc1</code> 目录,例如:</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> <span class="nt">-p</span> ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1 |
| </code></pre></div></div> |
| |
| <ol> |
| <li>复制发布包到发布目录</li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1 |
| <span class="nb">cp</span> ~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-bin.zip <span class="nb">.</span> |
| <span class="nb">cp</span> ~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-bin.zip.asc <span class="nb">.</span> |
| <span class="nb">cp</span> ~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-src.zip <span class="nb">.</span> |
| <span class="nb">cp</span> ~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-src.zip.asc <span class="nb">.</span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li>生成 SHA512 签名</li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1 |
| shasum <span class="nt">-a</span> 512 apache-servicecomb-pack-distribution-0.7.0-bin.zip <span class="o">>></span> apache-servicecomb-pack-distribution-0.7.0-bin.zip.sha512 |
| shasum <span class="nt">-a</span> 512 apache-servicecomb-pack-distribution-0.7.0-src.zip <span class="o">>></span> apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512 |
| </code></pre></div></div> |
| |
| <ol> |
| <li>上传到 ASF SVN 仓库</li> |
| </ol> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/dist/servicecomb-pack |
| svn add 0.7.0 |
| svn commit <span class="nt">-m</span> <span class="s1">'prepare for 0.7.0 RC1'</span> <span class="nt">--username</span><span class="o">=[</span>你的 ASF LDAP 用户名] <span class="nt">--password</span><span class="o">=[</span>你的 ASF LDAP 密码] |
| </code></pre></div></div> |
| |
| <ol> |
| <li>验证候选版本</li> |
| </ol> |
| |
| <p>从 https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/ 下载发布包检查 GPG 签名和 SHA512</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> ~/Work/apache-release-workspace/verify |
| <span class="nb">cd</span> ~/Work/apache-release-workspace/verify |
| curl <span class="nt">-O</span> https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-bin.zip |
| curl <span class="nt">-O</span> https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-bin.zip.asc |
| curl <span class="nt">-O</span> https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-bin.zip.sha512 |
| curl <span class="nt">-O</span> https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-src.zip |
| curl <span class="nt">-O</span> https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-src.zip.asc |
| curl <span class="nt">-O</span> https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512 |
| </code></pre></div></div> |
| |
| <p>检查 SHA512 哈希</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/verify |
| shasum <span class="nt">-c</span> apache-servicecomb-pack-distribution-0.7.0-bin.zip.sha512 |
| shasum <span class="nt">-c</span> apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512 |
| </code></pre></div></div> |
| |
| <p>导入公钥</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl https://dist.apache.org/repos/dist/dev/servicecomb/KEYS <span class="o">>></span> KEYS |
| <span class="nv">$ </span>gpg <span class="nt">--import</span> KEYS |
| </code></pre></div></div> |
| |
| <p>检查 GPG 签名</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/verify |
| gpg <span class="nt">--verify</span> apache-servicecomb-pack-distribution-0.7.0-bin.zip.asc apache-servicecomb-pack-distribution-0.7.0-bin.zip |
| gpg <span class="nt">--verify</span> apache-servicecomb-pack-distribution-0.7.0-src.zip.asc apache-servicecomb-pack-distribution-0.7.0-src.zip |
| </code></pre></div></div> |
| |
| <h4 id="整理发布说明">整理发布说明</h4> |
| |
| <p>你需要检查 Jira 上的 ISSUE 是否都已更新,然后参考 <a href="https://confluence.atlassian.com/adminjiraserver/creating-release-notes-938847219.html">Creating release notes</a> 生成发布说明</p> |
| |
| <h4 id="pmc-发布投票">PMC 发布投票</h4> |
| |
| <p>发送投票邮件 <code class="language-plaintext highlighter-rouge">[VOTE] Release Apache ServiceComb Pack version 0.7.0</code> 到 <code class="language-plaintext highlighter-rouge">dev@servicecomb.apache.org</code>,你可以参考如下邮件模版:</p> |
| |
| <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Hi all, |
| |
| This is a call for Vote to release Apache ServiceComb Pack version 0.7.0 |
| |
| Release Candidate: |
| https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/ |
| |
| Staging Repository: |
| https://repository.apache.org/content/repositories/orgapacheservicecomb-1490 |
| |
| Release Tag: |
| https://github.com/apache/servicecomb-pack/releases/tag/0.7.0 |
| |
| Release CommitID: |
| fae7326c0bac2b07e06ba83cf2cc284648ab1713 |
| |
| Release Notes: |
| https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12321626<span class="err">&</span>version=12348307 |
| |
| Keys to verify the Release Candidate: |
| https://dist.apache.org/repos/dist/dev/servicecomb/KEYS |
| |
| Voting will start now (Thursday, 12th May 2022) and will remain open for |
| at-least 72 hours, Request all PMC members to give their vote. |
| |
| [ ] +1 Release this package as 0.7.0 |
| [ ] +0 No Opinion |
| [ ] -1 Do not release this package because... |
| |
| On behalf of the ServiceComb Team |
| |
| Regards |
| [Your name] |
| </code></pre></div></div> |
| |
| <p>等待 72 小时后,你可以通过 <code class="language-plaintext highlighter-rouge">dev@servicecomb.apache.org</code> 发送投票截止通知。</p> |
| |
| <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Hi All, |
| |
| Thanks all for voting on this release, the vote has been closed now, and we will announce the results shortly. |
| |
| Regards |
| [Your name] |
| </code></pre></div></div> |
| |
| <p>你可以通过 <code class="language-plaintext highlighter-rouge">dev@servicecomb.apache.org</code> 发布投票结果,如果您获得了至少三个 binding +1 投票,并且没有任何一个 binding -1 的投票,那么你可以继续发布。否则请解决问题并从 <strong>ServiceComb Pack 发布</strong> 重新开始。</p> |
| |
| <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Hello All, |
| |
| We are glad to announce that ServiceComb community has approved the Apache ServiceComb Pack 0.7.0 release with the following results: |
| |
| +1 binding: 3 ([PMC Name],[PMC Name],[PMC Name],...) |
| |
| We will be publishing the release binaries soon. |
| |
| On behalf of ServiceComb Team |
| |
| Thanks all for your participation in this vote. |
| |
| Regards |
| [Your name] |
| </code></pre></div></div> |
| |
| <h4 id="公告">公告</h4> |
| |
| <ol> |
| <li> |
| <p>使用 ASF LDAP 账号登录 <code class="language-plaintext highlighter-rouge">https://repository.apache.org/</code> 选择 Staging Repositories 之前的 Artifacts,点击 Release 按钮。需要一段时间后会自动同步到 <a href="https://mvnrepository.com/repos/central">Maven Central Repository</a> 中央库。</p> |
| </li> |
| <li> |
| <p>上传发布包到 ASF 仓库</p> |
| </li> |
| </ol> |
| |
| <p>将 https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc01/ 下的内容上传到 https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-pack/0.7.0</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> <span class="nt">-p</span> ~/Work/apache-release-workspace/release |
| <span class="nb">cd</span> ~/Work/apache-release-workspace/release |
| svn co https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-pack |
| <span class="nb">mkdir</span> <span class="nt">-p</span> ~/Work/apache-release-workspace/release/servicecomb-pack/0.7.0 |
| <span class="nb">cp</span> ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1/<span class="k">*</span> ~/Work/apache-release-workspace/release/servicecomb-pack/0.7.0 |
| <span class="nb">cd</span> ~/Work/apache-release-workspace/release/servicecomb-pack |
| svn add 0.7.0 |
| svn commit <span class="nt">-m</span> <span class="s1">'Upload ServiceComb Pack 0.7.0 Release'</span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li>删除之前的 RC 版本</li> |
| </ol> |
| |
| <p>删除 https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/dist/servicecomb-pack |
| <span class="nb">rm</span> <span class="nt">-rf</span> 0.7.0 |
| svn delete 0.7.0 |
| svn commit <span class="nt">-m</span> <span class="s1">'Remove ServiceComb Pack 0.7.0 RC'</span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li>删除之前的 0.6.0 Release 版本</li> |
| </ol> |
| |
| <p>删除 https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-pack/0.6.0/</p> |
| |
| <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> ~/Work/apache-release-workspace/release/servicecomb-pack |
| <span class="nb">rm</span> <span class="nt">-rf</span> 0.6.0 |
| svn delete 0.6.0 |
| svn commit <span class="nt">-m</span> <span class="s1">'Remove ServiceComb Pack 0.6.0 Release'</span> |
| </code></pre></div></div> |
| |
| <ol> |
| <li> |
| <p>等待 <a href="https://mvnrepository.com/repos/central">Maven Central Repository</a> 中央库已经同步完毕</p> |
| </li> |
| <li> |
| <p>在 Github 上创建 0.7.0 Tag 的 Release</p> |
| </li> |
| </ol> |
| |
| <p>打开 <code class="language-plaintext highlighter-rouge">https://github.com/apache/servicecomb-pack/releases/tag/0.7.0</code> 点击 <code class="language-plaintext highlighter-rouge">Create release from tag</code> 按钮。发布内容填写来自 Jira 的 <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12321626&version=12348307">Release Notes</a></p> |
| |
| <ol> |
| <li>更新 <a href="https://github.com/apache/servicecomb-website">ServiceComb Website</a></li> |
| </ol> |
| |
| <ul> |
| <li>https://github.com/apache/servicecomb-website/blob/master/_release/cn/pack_downloads.md</li> |
| <li>https://github.com/apache/servicecomb-website/blob/master/_release/cn/pack_releaseNotes.md</li> |
| <li>https://github.com/apache/servicecomb-website/blob/master/_release/cn/release.md</li> |
| <li>https://github.com/apache/servicecomb-website/blob/master/_release/pack_downloads.md</li> |
| <li>https://github.com/apache/servicecomb-website/blob/master/_release/pack_releaseNotes.md</li> |
| <li>https://github.com/apache/servicecomb-website/blob/master/_release/release.md</li> |
| <li>https://github.com/apache/servicecomb-website/blob/master/_pages/cn/home.md</li> |
| <li>https://github.com/apache/servicecomb-website/blob/master/_pages/home.md</li> |
| </ul> |
| |
| <ol> |
| <li>发送 <code class="language-plaintext highlighter-rouge">[ANNOUNCE] Apache ServiceComb Pack version 0.7.0 Released</code> 邮件到 <code class="language-plaintext highlighter-rouge">dev@servicecomb.apache.org</code> 和 <code class="language-plaintext highlighter-rouge">announce@apache.org</code></li> |
| </ol> |
| |
| <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Hello All, |
| |
| Apache ServiceComb Team is glad to announce the release of Apache |
| ServiceComb Pack 0.7.0 |
| |
| Apache ServiceComb Pack(https://github.com/apache/servicecomb-pack) is an |
| eventually data consistency solution for micro-service applications. |
| ServiceComb Pack currently has TCC and Saga distributed transaction |
| coordination protocol. ServiceComb Pack is composed of Alpha which plays |
| as a coordinator for the management of transactions and Omega which plays |
| as an agent and is an integral part of micro-services intercepting the |
| outgoing/incoming requests and reports transaction events to Alpha. |
| |
| Download Links: https://servicecomb.apache.org/release/pack-downloads/ |
| |
| Release Notes: https://servicecomb.apache.org/release/pack-release-notes/ |
| |
| Know more about ServiceComb: https://servicecomb.apache.org/ |
| |
| ServiceComb Useful Links : |
| - JIRA: https://issues.apache.org/jira/browse/SCB |
| - Mailing lists: dev@servicecomb.apache.org |
| - Gitter: https://gitter.im/ServiceCombUsers/Saga |
| |
| On behalf of ServiceComb Team |
| |
| Regards |
| [Your name] |
| </code></pre></div></div> |
| |
| |
| </section> |
| |
| <footer class="page__meta"> |
| |
| |
| |
| |
| |
| </footer> |
| |
| |
| |
| |
| |
| </div> |
| |
| |
| </article> |
| |
| |
| |
| </div> |
| |
| |
| <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> |
| <div align="center" style="margin: 0 0;"> |
| <ins class="adsbygoogle" |
| style="display:block; border-bottom: initial;" |
| data-ad-client="ca-pub-7328585512091257" |
| data-ad-slot="3049671934" |
| data-ad-format="auto"></ins> |
| </div> |
| |
| <div class="page__footer"> |
| <footer> |
| <!-- start custom footer snippets --> |
| |
| <!-- end custom footer snippets --> |
| |
| <div class="container"> |
| <div class="row justify-content-md-center"> |
| |
| <div class="col"> |
| <ul> |
| <p class="header">活动</p> |
| <a class="acevent" data-format="square" data-mode="dark" data-event="random"></a> |
| </ul> |
| </div> |
| <div class="col"> |
| <ul> |
| <p class="header">资源</p> |
| <li><a href="/cn/docs/getting-started/">入门指南</a></li> |
| <li><a href="/cn/docs/users/">用户指南</a></li> |
| <li><a href="/cn/slides/">资料</a></li> |
| <li><a href="/cn/users/faq/">常见问题</a></li> |
| </ul> |
| </div> |
| <div class="col"> |
| <ul> |
| <p class="header">ASF</p> |
| <li><a href="http://www.apache.org">基金会</a></li> |
| <li><a href="http://www.apache.org/licenses/">许可证</a></li> |
| <li><a href="http://www.apache.org/events/current-event">活动</a></li> |
| <li><a href="http://www.apache.org/foundation/sponsorship.html">赞助</a></li> |
| <li><a href="http://www.apache.org/foundation/thanks.html">鸣谢</a></li> |
| </ul> |
| </div> |
| <div class="col"> |
| <ul> |
| <p class="header">贡献</p> |
| <li><a href="http://issues.apache.org/jira/browse/SCB">报告本网页问题</a></li> |
| <li><a href="https://github.com/apache/servicecomb-website/edit/master/_release/cn/pack_releaseGuide.md">在Github上编辑此页</a></li> |
| <li><a href="/cn/developers/submit-codes/">代码提交指南</a></li> |
| <li><a href="/cn/security">安全</a></li> |
| </ul> |
| </div> |
| <div class="col"> |
| <ul class="social-icons"> |
| <p class="header">社区</p> |
| <li> |
| <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">邮件列表</span></a> |
| </li> |
| <li> |
| <a href="https://github.com/apache?q=ServiceComb" target="_blank"><span class="github">Github</span></a> |
| </li> |
| <li> |
| <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a> |
| </li> |
| <li> |
| <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="page__footer-bottom"> |
| <div>© 2022 Apache ServiceComb. 技术来自于 <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div> |
| <div>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> |
| </div> |
| |
| </footer> |
| </div> |
| |
| <script src="/assets/js/main.min.js"></script> |
| |
| |
| |
| |
| <script> |
| (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
| (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
| m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
| })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); |
| |
| ga('create', 'UA-101622733-1', 'auto'); |
| ga('send', 'pageview'); |
| </script> |
| |
| |
| |
| |
| |
| |
| |
| </body> |
| </html> |