This is an automated email from the ASF dual-hosted git repository.
ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-website.git
The following commit(s) were added to refs/heads/master by this push:
new 4e427a2f Add ServiceComb Pack Release Guide (#296)
4e427a2f is described below
commit 4e427a2fde803ef8c5c47404f3202ef497d250a9
Author: Lei Zhang <[email protected]>
AuthorDate: Mon Aug 8 15:14:10 2022 +0800
Add ServiceComb Pack Release Guide (#296)
* Add ServiceComb Pack Release Guide
* Fix wrong link
---
_developers/cn/release_guide.md | 68 +----
_developers/release_guide.md | 69 +----
_release/cn/pack_releaseGuide.md | 576 +++++++++++++++++++++++++++++++++++++++
_release/pack_releaseGuide.md | 562 ++++++++++++++++++++++++++++++++++++++
4 files changed, 1141 insertions(+), 134 deletions(-)
diff --git a/_developers/cn/release_guide.md b/_developers/cn/release_guide.md
index 57e9ed86..0eb46a04 100755
--- a/_developers/cn/release_guide.md
+++ b/_developers/cn/release_guide.md
@@ -258,70 +258,4 @@ gvt restore
## 发行Pack
-***准备和校验发行包***
-
-1. 如果`~/.gnupg`中没有GPG密钥文件,则将GPG密钥文件拷贝至`~/.gnupg`文件夹。
- ```
- gpg.conf
- pubring.gpg
- random_seed
- secring.gpg
- trustdb.gpg
- ```
-
-2. 更新`~/.m2/settings.xml`文件中的GPG密码。
-
-3. 更新`~/.m2/settings.xml`文件中的Apache帐户用户名和密码。
-
-4. 克隆Pack代码。
-```
-git clone https://github.com/apache/servicecomb-pack.git
-```
-
-5. 使用以下perl命令,替换所有pom.xml文件中的版本号并提交改动至本地。
-```
-find . -name 'pom.xml'|xargs perl -pi -e 's/1.0.0-m2-SNAPSHOT/1.0.0-m2/g'
-```
-6. 在需要release的分支上打上准备发布版本的标签。
-
-7. 运行以下命令。
-```
-mvn deploy -DskipTests -Prelease -Pdistribution -Ppassphrase
-```
-
-8. 上述命令执行成功,所有的jar包都成功上传至临时仓库后,运行门槛测试以验证基本功能, 如果执行失败,需要解决问题,从步骤7重新开始。
-
-9. 如果步骤7命令执行成功,则所有的jar包都已经成功上传至maven临时仓库。
- 使用apache帐号登录到[Apache Nexus](https://repository.apache.org/),点击“Staging
Repositories”,搜索“servicecomb-pack”,根据时间找到最近的pack相关的记录,close该条记录,得到maven临时仓库的链接,例如:`https://repository.apache.org/content/repositories/orgapacheservicecomb-1385`
-
-10. 将release分支以及标签分别push至主仓库。
-
-***给发行包签名***
-
-13. 从临时仓库下载二进制包和源码包。
-
-14. 生成二进制包和源码包的签名和校验和。
-
-15.
上传发行包到[Apache发行开发仓库](https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/).
-
-16. 从SVN下载发行包,验证签名和校验。
-
-***PMC批准***
-
-17. 发送投票邮件至 ***[email protected]***, 发起PMC批准.
-
-18. 等待72小时,或者获得3票+1并且没有-1。如果有-1票,修正问题并从***第1步***重新开始。
-
-19. 将投票结果发布到[email protected]。
-
-***通告***
-
-20.
上传发行包至[Apache发行仓库](https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-pack/)。
-
-21. 等待24小时,让所有镜像同步。
-
-22.
将[dev](https://dist.apache.org/repos/dist/dev)的文件移动到[release](https://dist.apache.org/repos/dist/release)目录中,同时确认已经被存档,同时更新网站上相关链接。
-
-23. 上传发行页面至ServiceComb网站。
-
-24. 发送发行通告邮件到[email protected], [email protected]。
+请参考 [ServiceComb Pack 发行指南](/cn/release/pack-release-guide)
\ No newline at end of file
diff --git a/_developers/release_guide.md b/_developers/release_guide.md
index 4c0bea58..3283a37c 100755
--- a/_developers/release_guide.md
+++ b/_developers/release_guide.md
@@ -277,74 +277,9 @@ or [2.0.0
RP](https://github.com/apache/servicecomb-website/pull/240)
6. Send announcements to `[email protected]`, `[email protected]`。
-## Major Steps for doing Saga Release
-
-***Make and Verify the Release***
-1. Clone the saga code.
-```
-git clone https://github.com/apache/servicecomb-saga.git
-```
-
-2. Cut the release using per command to replace all the versions in pom.xml
files
-
-3. Create a Tag from the master branch using the version number.
-```
-find . -name 'pom.xml'|xargs perl -pi -e 's/1.0.0-m2-SNAPSHOT/1.0.0-m2/g'
-```
-
-4. Clear all the redundant servicecomb releases in repository.apache.org
-
-5. Add the keys in a reference folder.
-
-6. Update the key path and passphrase in your ~/.m2/settings.xml file.
-
-7. Update the apache account username and password in the settings.xml file.
-
-8. Run the maven deploy command.
-```
-mvn deploy -DskipTests -Ppassphrase -Prelease
-```
-
-9. Once every thing is uploaded then use the staging repo to verify the build
using the acceptance test.
-
-10. Share the staging repo with peers to verify on different OS and machines
using the demo.
-
-11. If everything is fine then push the tag to master.
-
-12. Close the staging repo is apache repositories.
-
-***Sign the Releases***
-
-1. Download the source code and distribution from the staging repo.
-
-2. Sign the 2 releases(distribution, src) and checksum.
-
-3. Create a new directory [Apache dev Release
SVN](https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-saga/) with
release package name and release candidate number. (for example : if you want
to release 1.0.0-m2 and this is the third attempt of the release then the
folder structure will be `1.0.0-m2/rc03`)
-
-4. Upload the release to directory created in last step.
-
-5. Download all the releases from SVN and verify the signature and checksum.
-
-***PMC approval***
-
-1. Send the voting mail in [email protected].
-
-2. Wait for 72 hours or unless you get 3 +1 binding vote with no -1 vote. If
you get even one -1 binding vote then fix the issue and start again from Step 1.
-
-3. Publish the result of the vote in [email protected].
-
-***Announcements***
-
-1. Upload the releases to [Apache release
repository](https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-saga/).
-
-2. Wait for 24 hours to replicate the release in all the mirrors.
-
-3. Delete old releases from [dev](https://dist.apache.org/repos/dist/dev) and
[release] (https://dist.apache.org/repos/dist/release) and check for the old
release in archive, update the same links in the website for old releases.
-
-4. Upload the release page of ServiceComb Website.
-
-5. Send the announcement mails to [email protected],
[email protected]
+## Major Steps for doing Pack Release
+Please refer to [ServiceComb Pack Release Guide](/release/pack-release-guide)
**NOTE**
- The whole process generally takes 1 weeks to complete assuming you don't
get any -1 from PMC, so please plan the release activity before hand.
diff --git a/_release/cn/pack_releaseGuide.md b/_release/cn/pack_releaseGuide.md
new file mode 100644
index 00000000..9b9e18c3
--- /dev/null
+++ b/_release/cn/pack_releaseGuide.md
@@ -0,0 +1,576 @@
+---
+title: "ServiceComb Pack Release Guide"
+lang: cn
+ref: release
+permalink: /cn/release/pack-release-guide/
+excerpt: "ServiceComb Pack 发行指南"
+last_modified_at: 2022-08-06T00:50:43-55:00
+---
+
+## 发布环境准备
+
+#### 生成签名密钥
+
+1. 安装 GPG
+
+在[GnuPG官网](https://www.gnupg.org/download/index.html)下载 2.X 安装包.
安装完毕后可以使用如下命令查看版本
+
+```shell
+$ gpg --version
+gpg (GnuPG/MacGPG2) 2.2.20
+libgcrypt 1.8.5
+Copyright (C) 2020 Free Software Foundation, Inc.
+```
+
+2. 配置 GPG
+
+安装完毕后你可以找到 `$HOME/.gnupg/gpg.conf`
文件,并增加如下[推荐配置](https://infra.apache.org/openpgp.html#sha-defaults)
+
+```properties
+personal-digest-preferences SHA512
+cert-digest-algo SHA512
+default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5
ZLIB BZIP2 ZIP Uncompressed
+```
+
+3. 用 GPG 生成密钥
+
+根据提示使用 ASF 邮箱生成 GPG 的密钥,更多详细说明请参考 [Generate Key with
GPG](https://infra.apache.org/openpgp.html#generate-key)
+
+```shell
+$ gpg --full-gen-key
+gpg (GnuPG/MacGPG2) 2.2.34; Copyright (C) 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 select what kind of key you want:
+ (1) RSA and RSA (default)
+ (2) DSA and Elgamal
+ (3) DSA (sign only)
+ (4) RSA (sign only)
+ (14) Existing key from card
+Your selection? 1
+RSA keys may be between 1024 and 4096 bits long.
+What keysize do you want? (3072) 4096
+Requested keysize is 4096 bits
+Please specify how long the key should be valid.
+ 0 = key does not expire
+ <n> = key expires in n days
+ <n>w = key expires in n weeks
+ <n>m = key expires in n months
+ <n>y = key expires in n years
+Key is valid for? (0)
+Key does not expire at all
+Is this correct? (y/N) y
+
+GnuPG needs to construct a user ID to identify your key.
+
+Real name: [你的 ASF 账号]
+Email address: [你的 ASF 邮箱]
+Comment: CODE SIGNING KEY
+You selected this USER-ID:
+ "[你的 ASF 账号] (CODE SIGNING KEY) <[你的 ASF 邮箱]>"
+
+Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
+```
+
+生成密钥的过程中会提示你输入一个**[密钥密码]**用来保护你的密钥,请记住这个密钥密码
+
+4. 查看 GPG 公钥ID
+
+你可以使用如下命令查看生成的密钥,请保存 **[公钥ID]**。
+
+```shell
+$ gpg --list-keys
+pub rsa4096 2022-05-05 [SC]
+ [公钥ID]
+uid [ unknown] [你的 ASF 账号] (CODE SIGNING KEY) <[你的 ASF 邮箱]>
+sub rsa4096 2022-05-05 [E]
+```
+
+5. 发布公钥到密钥服务器
+
+使用 **[公钥ID]** 将公钥发布到 `pgpkeys.mit.edu`,发布后稍等一会就会自动同步到其他密钥服务器
+
+```shell
+gpg --keyserver pgpkeys.mit.edu --send-key [公钥ID]
+```
+
+使用如下命令验证公钥是否发布成功(因为发布后后台需要同步,所以可能需等待一会)
+
+```shell
+gpg --keyserver hkp://pgpkeys.mit.edu --recv-keys [公钥ID]
+```
+
+如果你看到如下信息,说明已经发布成功
+
+```shell
+gpg: key [公钥ID]: "[你的 ASF 账号] (CODE SIGNING KEY) <[你的 ASF 邮箱]>" not changed
+gpg: Total number processed: 1
+gpg: unchanged: 1
+```
+
+6. 发布公钥指纹到 ASF 用户信息中
+
+使用以下命令生成公钥指纹,登录 https://id.apache.org, 将下面**公钥指纹**粘贴到自己的用户信息中 OpenPGP Public
Key Primary Fingerprint 中。
+
+```shell
+$ gpg --fingerprint Lei Zhang
+pub rsa4096 2022-05-05 [SC]
+ [公钥指纹]
+uid [ unknown] [你的 ASF 账号] (CODE SIGNING KEY) <[你的 ASF 邮箱]>
+sub rsa4096 2022-05-05 [E]
+```
+
+7. 备份公钥和私钥(不是发布流程的必须环节)
+
+你可以使用以下方式备份密钥
+
+导出公钥
+
+```shell
+gpg -a -o public-file.key --export [公钥ID]
+```
+
+导出私钥(需要生成密钥时的密码)
+
+```shell
+gpg -a -o private-file.key --export-secret-keys [公钥ID]
+```
+
+8. 将公钥追加到以下两个文件中
+
+* https://dist.apache.org/repos/dist/dev/servicecomb/KEYS
+* https://dist.apache.org/repos/dist/release/servicecomb/KEYS
+
+```shell
+svn co --depth=empty https://dist.apache.org/repos/dist/dev/servicecomb
+svn up KEYS
+cat public-file.key >> KEYS
+svn commit -m 'add [你的 ASF 邮箱] gpg public key'
+
+svn co --depth=empty https://dist.apache.org/repos/dist/release/servicecomb
+svn up KEYS
+cat public-file.key >> KEYS
+svn commit -m 'add [你的 ASF 邮箱] gpg public key'
+```
+
+#### Apache Maven 认证配置
+
+在发布前我们需要配置 Apache Maven 仓库的服务器地址、账号和密码。为了安全我们使用 [Password
Encryption](https://maven.apache.org/guides/mini/guide-encryption.html) 对
Apache LDAP 密码加密
+
+1. 创建一个主密码
+
+使用如下命令创建一个 **[主密码]**,并生成 **[加密后的主密码]**
+
+```shell
+$ mvn --encrypt-master-password [主密码]
+```
+
+将[加密后的主密码]配置在 ~/.m2/settings-security.xml 文件中
+
+```xml
+<settingsSecurity>
+ <master>[加密后的主密码]</master>
+</settingsSecurity>
+```
+
+2. 加密你的 ASF LDAP 密码
+
+```shell
+$ mvn --encrypt-password [你的 ASF LDAP 密码]
+```
+
+3. 加密你生成 GPG 密钥时输入的 [密钥密码]
+
+```shell
+$ mvn --encrypt-password [密钥密码]
+```
+
+4. 在 `~/.m2/settings.xml` 文件中配置发布服务器地址和加密后的密码
+
+```xml
+<settings>
+ <servers>
+ <server>
+ <id>apache.snapshots.https</id>
+ <username>[你的 ASF 账号]</username>
+ <password>[加密后的 ASF LDAP 密码]</password>
+ </server>
+ <server>
+ <id>apache.releases.https</id>
+ <username>[你的 ASF 账号]</username>
+ <password>[加密后的 ASF LDAP 密码]</password>
+ </server>
+ <server>
+ <id>gpg.passphrase</id>
+ <passphrase>[加密后的密钥密码]</passphrase>
+ </server>
+ </servers>
+</settings>
+```
+
+## ServiceComb Pack 发布
+
+本文档基于 `0.7.0` 正式版发布过程编写。在正式开始发布之前请提前一周通过 `[email protected]`
预告即将开始发布,确认代码是否已经准备就绪。
+
+```html
+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]
+```
+
+**注意:** 发布流程中的 **PMC投票** 环节通常需要 3 天,在没有任何 PMC 投 -1 票后才能正式发布,因此请提前计划发布活动。
+
+#### 发布到临时筹备库(Staging Repositories)
+
+1. 使用 ASF LDAP 账号登录 `https://repository.apache.org/` 清除 Staging Repositories
中与 Pack 相关的多余版本
+
+2. 下载代码
+
+```shell
+mkdir ~/Work/apache-release-workspace
+cd ~/Work/apache-release-workspace
+git clone https://github.com/apache/servicecomb-pack.git
+```
+
+3. 执行 Maven 部署命令,**注意:使用 `-Drevision=0.7.0` 设置要发布的版本号**
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+mvn deploy -DskipTests -Prelease -Drevision=0.7.0
+```
+
+4. 使用 ASF LDAP 账号登录 `https://repository.apache.org/`,在 Staging Repositories
中选择刚刚发布的 repository,点击 Close 后完成临时发布。
+
+#### 测试临时筹备库中的 Artifacts
+
+在发起投票前,我们需要测试 Staging Repositories 中刚刚发布的 Artifacts ,我们需要配置一些参数,让验收测试从 Staging
Repositories 中拉取依 Artifacts,更多详细说明可以参考 [Guide to Testing Staged
Releases](https://maven.apache.org/guides/development/guide-testing-releases.html)
+
+1. 删除本地仓库中 Artifacts
+
+```shell
+rm -rf ~/.m2/repository/org/apache/servicecomb/pack
+```
+
+2. 在 `~/.m2/settings.xml` 中增加如下配置
+
+```xml
+<profiles>
+ <profile>
+ <id>staged-releases</id>
+ <repositories>
+ <repository>
+ <id>staged-releases</id>
+ <url>https://repository.apache.org/content/groups/staging/</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>staged-releases</id>
+ <url>https://repository.apache.org/content/groups/staging/</url>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+</profiles>
+```
+
+3. 执行验收测试,**注意:使用 `-Drevision=0.7.0` 设置要发布的版本号**
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+mvn clean verify -f demo -Pdemo -Pdocker -Drevision=0.7.0 -Pstaged-releases -U
+mvn clean verify -f acceptance-tests -Pdemo -Pdocker -Drevision=0.7.0
-Pstaged-releases
+```
+
+4. 检查本地 Artifacts 中是否还存未替换的 SNAPSHOT 版本
+
+```shell
+find ~/.m2/repository/org/apache/servicecomb/pack -name "*-0.7.0.pom" | xargs
grep "SNAPSHOT"
+```
+
+5. 如果一切正常,我们将创建 `0.7.x` 分支, `0.7.0` TAG,修改主干版本号为 `0.8.0-SNAPSHOT`
+
+创建并推送 `0.7.x` 分支
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+git checkout master
+git checkout -b 0.7.x
+mvn versions:set-property -Dproperty=revision -DnewVersion=0.7.0
+git add pom.xml
+git commit -m 'Cut 0.7.0 Release'
+git push origin 0.7.x
+```
+
+在 0.7.x 分支上创建并推送 `0.7.0` TAG
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+git tag -a 0.7.0 -m "ServiceComb Pack 0.7.0 Release"
+git push origin 0.7.0
+```
+
+切换到主版本,修改版本号为 `0.8.0-SNAPSHOT` 并推送
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+git checkout master
+mvn versions:set-property -Dproperty=revision -DnewVersion=0.8.0-SNAPSHOT
+git add pom.xml
+git commit -m 'Update Release Number to 0.8.0-SNAPSHOT'
+git push origin master
+```
+
+#### 签署版本 & 上传到 ASF SVN 仓库
+
+1. 拉取 SVN 仓库到本地
+
+```shell
+mkdir ~/Work/apache-release-workspace/dist
+cd ~/Work/apache-release-workspace/dist
+svn co https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack
--username=[你的 ASF LDAP 用户名] --password=[你的 ASF LDAP 密码]
+```
+
+2. 创建发布包目录
+
+如果你是第 1 次发布 0.7.0 版本,那么创建 `0.7.0/rc1` 目录,例如:
+
+```shell
+mkdir -p ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1
+```
+
+3. 复制发布包到发布目录
+
+```shell
+cd ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1
+cp
~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-bin.zip
.
+cp
~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-bin.zip.asc
.
+cp
~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-src.zip
.
+cp
~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-src.zip.asc
.
+```
+
+4. 生成 SHA512 签名
+
+```shell
+cd ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1
+shasum -a 512 apache-servicecomb-pack-distribution-0.7.0-bin.zip >>
apache-servicecomb-pack-distribution-0.7.0-bin.zip.sha512
+shasum -a 512 apache-servicecomb-pack-distribution-0.7.0-src.zip >>
apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512
+```
+
+5. 上传到 ASF SVN 仓库
+
+```shell
+cd ~/Work/apache-release-workspace/dist/servicecomb-pack
+svn add 0.7.0
+svn commit -m 'prepare for 0.7.0 RC1' --username=[你的 ASF LDAP 用户名]
--password=[你的 ASF LDAP 密码]
+```
+
+6. 验证候选版本
+
+从
https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/
下载发布包检查 GPG 签名和 SHA512
+
+```shell
+mkdir ~/Work/apache-release-workspace/verify
+cd ~/Work/apache-release-workspace/verify
+curl -O
https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-bin.zip
+curl -O
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 -O
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 -O
https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-src.zip
+curl -O
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 -O
https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512
+```
+
+检查 SHA512 哈希
+
+```shell
+cd ~/Work/apache-release-workspace/verify
+shasum -c apache-servicecomb-pack-distribution-0.7.0-bin.zip.sha512
+shasum -c apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512
+```
+
+导入公钥
+
+```shell
+curl https://dist.apache.org/repos/dist/dev/servicecomb/KEYS >> KEYS
+$ gpg --import KEYS
+```
+
+检查 GPG 签名
+
+```shell
+cd ~/Work/apache-release-workspace/verify
+gpg --verify apache-servicecomb-pack-distribution-0.7.0-bin.zip.asc
apache-servicecomb-pack-distribution-0.7.0-bin.zip
+gpg --verify apache-servicecomb-pack-distribution-0.7.0-src.zip.asc
apache-servicecomb-pack-distribution-0.7.0-src.zip
+```
+
+#### 整理发布说明
+
+你需要检查 Jira 上的 ISSUE 是否都已更新,然后参考 [Creating release
notes](https://confluence.atlassian.com/adminjiraserver/creating-release-notes-938847219.html)
生成发布说明
+
+#### PMC 发布投票
+
+发送投票邮件 `[VOTE] Release Apache ServiceComb Pack version 0.7.0` 到
`[email protected]`,你可以参考如下邮件模版:
+
+```html
+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&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]
+```
+
+等待 72 小时后,你可以通过 `[email protected]` 发送投票截止通知。
+
+```html
+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]
+```
+
+你可以通过 `[email protected]` 发布投票结果,如果您获得了至少三个 binding +1 投票,并且没有任何一个
binding -1 的投票,那么你可以继续发布。否则请解决问题并从 **ServiceComb Pack 发布** 重新开始。
+
+```html
+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]
+```
+
+#### 公告
+
+1. 使用 ASF LDAP 账号登录 `https://repository.apache.org/` 选择 Staging Repositories
之前的 Artifacts,点击 Release 按钮。需要一段时间后会自动同步到 [Maven Central
Repository](https://mvnrepository.com/repos/central) 中央库。
+
+2. 上传发布包到 ASF 仓库
+
+将
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
+
+```shell
+mkdir -p ~/Work/apache-release-workspace/release
+cd ~/Work/apache-release-workspace/release
+svn co https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-pack
+mkdir -p ~/Work/apache-release-workspace/release/servicecomb-pack/0.7.0
+cp ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1/*
~/Work/apache-release-workspace/release/servicecomb-pack/0.7.0
+cd ~/Work/apache-release-workspace/release/servicecomb-pack
+svn add 0.7.0
+svn commit -m 'Upload ServiceComb Pack 0.7.0 Release'
+```
+
+3. 删除之前的 RC 版本
+
+删除 https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0
+
+```shell
+cd ~/Work/apache-release-workspace/dist/servicecomb-pack
+rm -rf 0.7.0
+svn delete 0.7.0
+svn commit -m 'Remove ServiceComb Pack 0.7.0 RC'
+```
+
+4. 删除之前的 0.6.0 Release 版本
+
+删除
https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-pack/0.6.0/
+
+```shell
+cd ~/Work/apache-release-workspace/release/servicecomb-pack
+rm -rf 0.6.0
+svn delete 0.6.0
+svn commit -m 'Remove ServiceComb Pack 0.6.0 Release'
+```
+
+5. 等待 [Maven Central Repository](https://mvnrepository.com/repos/central)
中央库已经同步完毕
+
+6. 在 Github 上创建 0.7.0 Tag 的 Release
+
+打开 `https://github.com/apache/servicecomb-pack/releases/tag/0.7.0` 点击 `Create
release from tag` 按钮。发布内容填写来自 Jira 的 [Release
Notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12321626&version=12348307)
+
+7. 更新 [ServiceComb Website](https://github.com/apache/servicecomb-website)
+
+*
https://github.com/apache/servicecomb-website/blob/master/_release/cn/pack_downloads.md
+*
https://github.com/apache/servicecomb-website/blob/master/_release/cn/pack_releaseNotes.md
+*
https://github.com/apache/servicecomb-website/blob/master/_release/cn/release.md
+*
https://github.com/apache/servicecomb-website/blob/master/_release/pack_downloads.md
+*
https://github.com/apache/servicecomb-website/blob/master/_release/pack_releaseNotes.md
+* https://github.com/apache/servicecomb-website/blob/master/_release/release.md
+* https://github.com/apache/servicecomb-website/blob/master/_pages/cn/home.md
+* https://github.com/apache/servicecomb-website/blob/master/_pages/home.md
+
+8. 发送 `[ANNOUNCE] Apache ServiceComb Pack version 0.7.0 Released` 邮件到
`[email protected]` 和 `[email protected]`
+
+```html
+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: [email protected]
+- Gitter: https://gitter.im/ServiceCombUsers/Saga
+
+On behalf of ServiceComb Team
+
+Regards
+[Your name]
+```
\ No newline at end of file
diff --git a/_release/pack_releaseGuide.md b/_release/pack_releaseGuide.md
new file mode 100644
index 00000000..6484cfe0
--- /dev/null
+++ b/_release/pack_releaseGuide.md
@@ -0,0 +1,562 @@
+---
+title: "ServiceComb Pack Release Guide"
+lang: cn
+ref: release
+permalink: /release/pack-release-guide/
+excerpt: "ServiceComb Pack Release Guide"
+last_modified_at: 2022-08-06T00:50:43-55:00
+---
+
+## Preparation
+
+#### Creating a GPG keypair
+
+1. Install GnuPG
+
+Download and Install [GnuPG](https://www.gnupg.org/download/index.html) 2.0.20
version.
+
+```shell
+$ gpg --version
+gpg (GnuPG/MacGPG2) 2.2.20
+libgcrypt 1.8.5
+Copyright (C) 2020 Free Software Foundation, Inc.
+```
+
+2. Configure GnuPG
+
+Refer to the [Recommended](https://infra.apache.org/openpgp.html#sha-defaults)
to configuration the `$HOME/.gnupg/gpg.conf` file
+
+```properties
+personal-digest-preferences SHA512
+cert-digest-algo SHA512
+default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5
ZLIB BZIP2 ZIP Uncompressed
+```
+
+3. Generate a new key
+
+Generate a GPG key with an ASF account. For more details [Generate Key with
GPG](https://infra.apache.org/openpgp.html#generate-key)
+
+```shell
+$ gpg --full-gen-key
+gpg (GnuPG/MacGPG2) 2.2.34; Copyright (C) 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 select what kind of key you want:
+ (1) RSA and RSA (default)
+ (2) DSA and Elgamal
+ (3) DSA (sign only)
+ (4) RSA (sign only)
+ (14) Existing key from card
+Your selection? 1
+RSA keys may be between 1024 and 4096 bits long.
+What keysize do you want? (3072) 4096
+Requested keysize is 4096 bits
+Please specify how long the key should be valid.
+ 0 = key does not expire
+ <n> = key expires in n days
+ <n>w = key expires in n weeks
+ <n>m = key expires in n months
+ <n>y = key expires in n years
+Key is valid for? (0)
+Key does not expire at all
+Is this correct? (y/N) y
+
+GnuPG needs to construct a user ID to identify your key.
+
+Real name: [Your ASF LDAP username]
+Email address: [Your ASF email]
+Comment: CODE SIGNING KEY
+You selected this USER-ID:
+ "[Your ASF LDAP username] (CODE SIGNING KEY) <[Your ASF email]>"
+
+Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
+```
+
+You need a **[GPG PASSPHRASE]** to protect your secret key, Please remember it.
+
+4. Find GPG Public Key ID
+
+You can find **[GPG Public Key ID]** with the following command, Please
remember it.
+
+```shell
+$ gpg --list-keys
+pub rsa4096 2022-05-05 [SC]
+ [GPG Public Key ID]
+uid [ unknown] [Your ASF LDAP username] (CODE SIGNING KEY) <[Your
ASF email]>
+sub rsa4096 2022-05-05 [E]
+```
+
+5. Distributing keys
+
+Upload the **[GPG Public Key ID]** to a public keyserver `pgpkeys.mit.edu`.
+
+```shell
+gpg --keyserver pgpkeys.mit.edu --send-key [GPG Public Key ID]
+```
+
+Verify the distribution with the following command (may take a while)
+
+```shell
+gpg --keyserver hkp://pgpkeys.mit.edu --recv-keys [GPG Public Key ID]
+```
+
+If you see the following message, it means the distribution has been
successful.
+
+```shell
+gpg: key [GPG Public Key ID]: "[Your ASF LDAP username] (CODE SIGNING KEY)
<[Your ASF email]>" not changed
+gpg: Total number processed: 1
+gpg: unchanged: 1
+```
+
+6. Add public key fingerprint to your ASF LDAP
+
+You must also add them to your LDAP record using the Apache [self-service
app](https://id.apache.org).
+
+```shell
+$ gpg --fingerprint Lei Zhang
+pub rsa4096 2022-05-05 [SC]
+ [public key fingerprint]
+uid [ unknown] [Your ASF LDAP username] (CODE SIGNING KEY) <[Your
ASF email]>
+sub rsa4096 2022-05-05 [E]
+```
+
+7. Back up public & private key
+
+export public key
+
+```shell
+gpg -a -o public-file.key --export [GPG Public Key ID]
+```
+
+export private key(need GPG PASSPHRASE)
+
+```shell
+gpg -a -o private-file.key --export-secret-keys [GPG Public Key ID]
+```
+
+8. Add public key to ASF SVN KEYS
+
+* https://dist.apache.org/repos/dist/dev/servicecomb/KEYS
+* https://dist.apache.org/repos/dist/release/servicecomb/KEYS
+
+```shell
+svn co --depth=empty https://dist.apache.org/repos/dist/dev/servicecomb
+svn up KEYS
+cat public-file.key >> KEYS
+svn commit -m 'add [Your ASF email] gpg public key'
+
+svn co --depth=empty https://dist.apache.org/repos/dist/release/servicecomb
+svn up KEYS
+cat public-file.key >> KEYS
+svn commit -m 'add [Your ASF email] gpg public key'
+```
+
+#### Apache Maven Configuration
+
+We need to configure the server address, account and password of the Apache
Maven repository with [Password
Encryption](https://maven.apache.org/guides/mini/guide-encryption.html).
+
+1. Create a Maven master password
+
+```shell
+$ mvn --encrypt-master-password [Maven master password]
+```
+
+Add [Encrypted Maven master password] to `~/.m2/settings-security.xml`
+
+```xml
+<settingsSecurity>
+ <master>[Encrypted Maven master password]</master>
+</settingsSecurity>
+```
+
+2. Encrypt your ASF LDAP password
+
+```shell
+$ mvn --encrypt-password [Your ASF LDAP password]
+```
+
+3. Encrypt [GPG PASSPHRASE]
+
+```shell
+$ mvn --encrypt-password [GPG PASSPHRASE]
+```
+
+4. Add ASF server configuration in `~/.m2/settings.xml`
+
+```xml
+<settings>
+ <servers>
+ <server>
+ <id>apache.snapshots.https</id>
+ <username>[Your ASF LDAP username]</username>
+ <password>[Encrypted ASF LDAP password]</password>
+ </server>
+ <server>
+ <id>apache.releases.https</id>
+ <username>[Your ASF LDAP username]</username>
+ <password>[Encrypted ASF LDAP password]</password>
+ </server>
+ <server>
+ <id>gpg.passphrase</id>
+ <passphrase>[Encrypted GPG PASSPHRASE]</passphrase>
+ </server>
+ </servers>
+</settings>
+```
+
+## Release ServiceComb Pack
+
+This document is based on the `0.7.0` official release process.
+Please announce the upcoming release via `[email protected]` one
week before the official release to confirm that the code is ready.
+
+```html
+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]
+```
+
+**NOTE:** The **PMC Approval** part of the release process usually takes three
days to release without any PMC voting -1 officially, so plan for your release.
+
+#### Upload to Staging Repositories
+
+1. Clone code from GitHub
+
+```shell
+mkdir ~/Work/apache-release-workspace
+cd ~/Work/apache-release-workspace
+git clone https://github.com/apache/servicecomb-pack.git
+```
+
+3. Build & Deploy, **Note:** Use `-Drevision=0.7.0` to specify the version
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+mvn deploy -DskipTests -Prelease -Drevision=0.7.0
+```
+
+4. Visit `https://repository.apache.org/`, Select the artifact in Staging
Repositories and click Close to complete the temporary release.
+
+#### Verify artifacts
+
+Before launching the vote, we need to verify the Artifacts just deployed in
Staging Repositories. We need to configure some parameters to allow the
acceptance test to download those Artifacts from Staging Repositories. For more
details, please refer to [Guide to Testing Staged
Releases](https://maven.apache.org/guides/development/guide-testing-releases.html)
+
+1. Delete Artifacts in the local repository
+
+```shell
+rm -rf ~/.m2/repository/org/apache/servicecomb/pack
+```
+
+2. Configuring the Staging Repositories in `~/.m2/settings.xml`
+
+```xml
+<profiles>
+ <profile>
+ <id>staged-releases</id>
+ <repositories>
+ <repository>
+ <id>staged-releases</id>
+ <url>https://repository.apache.org/content/groups/staging/</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>staged-releases</id>
+ <url>https://repository.apache.org/content/groups/staging/</url>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+</profiles>
+```
+
+3. Run acceptance tests, **Note:** Use `-Drevision=0.7.0` to specify the
version
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+mvn clean verify -f demo -Pdemo -Pdocker -Drevision=0.7.0 -Pstaged-releases -U
+mvn clean verify -f acceptance-tests -Pdemo -Pdocker -Drevision=0.7.0
-Pstaged-releases
+```
+
+4. Find if there is a SNAPSHOT version in the local artifact.
+
+```shell
+find ~/.m2/repository/org/apache/servicecomb/pack -name "*-0.7.0.pom" | xargs
grep "SNAPSHOT"
+```
+
+5. If everything goes well, we will create the branch `0.7.x`, tag `0.7.0`,
and update the trunk version to `0.8.0-SNAPSHOT`
+
+Create and push branch `0.7.x`
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+git checkout master
+git checkout -b 0.7.x
+mvn versions:set-property -Dproperty=revision -DnewVersion=0.7.0
+git add pom.xml
+git commit -m 'Cut 0.7.0 Release'
+git push origin 0.7.x
+```
+
+Create and push tag `0.7.0` base branch 0.7.x
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+git tag -a 0.7.0 -m "ServiceComb Pack 0.7.0 Release"
+git push origin 0.7.0
+```
+
+Switch trunk and Update the trunk version to `0.8.0-SNAPSHOT`
+
+```shell
+cd ~/Work/apache-release-workspace/servicecomb-pack
+git checkout master
+mvn versions:set-property -Dproperty=revision -DnewVersion=0.8.0-SNAPSHOT
+git add pom.xml
+git commit -m 'Update Release Number to 0.8.0-SNAPSHOT'
+git push origin master
+```
+
+#### Sign the Release & Upload to ASF SVN
+
+1. Checkout Apache dev Release SVN
+
+```shell
+mkdir ~/Work/apache-release-workspace/dist
+cd ~/Work/apache-release-workspace/dist
+svn co https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack
--username=[你的 ASF LDAP 用户名] --password=[你的 ASF LDAP 密码]
+```
+
+2. Create a new directory Apache dev Release SVN with release package name and
release candidate number.
+
+```shell
+mkdir -p ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1
+```
+
+3. Copy the release to the directory created in last step.
+
+```shell
+cd ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1
+cp
~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-bin.zip
.
+cp
~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-bin.zip.asc
.
+cp
~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-src.zip
.
+cp
~/Work/apache-release-workspace/servicecomb-pack/distribution/target/apache-servicecomb-pack-distribution-0.7.0-src.zip.asc
.
+```
+
+4. Generate sha 512 checksum
+
+```shell
+cd ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1
+shasum -a 512 apache-servicecomb-pack-distribution-0.7.0-bin.zip >>
apache-servicecomb-pack-distribution-0.7.0-bin.zip.sha512
+shasum -a 512 apache-servicecomb-pack-distribution-0.7.0-src.zip >>
apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512
+```
+
+5. Upload the release to the SVN
+
+```shell
+cd ~/Work/apache-release-workspace/dist/servicecomb-pack
+svn add 0.7.0
+svn commit -m 'prepare for 0.7.0 RC1' --username=[Your ASF LDAP username]
--password=[Your ASF LDAP password]
+```
+
+6. Download all the releases from SVN and verify the signature and checksum.
+
+```shell
+mkdir ~/Work/apache-release-workspace/verify
+cd ~/Work/apache-release-workspace/verify
+curl -O
https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-bin.zip
+curl -O
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 -O
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 -O
https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-src.zip
+curl -O
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 -O
https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-pack/0.7.0/rc1/apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512
+```
+
+Verify checksum
+
+```shell
+cd ~/Work/apache-release-workspace/verify
+shasum -c apache-servicecomb-pack-distribution-0.7.0-bin.zip.sha512
+shasum -c apache-servicecomb-pack-distribution-0.7.0-src.zip.sha512
+```
+
+Import KEYS
+
+```shell
+curl https://dist.apache.org/repos/dist/dev/servicecomb/KEYS >> KEYS
+$ gpg --import KEYS
+```
+
+Verify the PGP signature
+
+```shell
+cd ~/Work/apache-release-workspace/verify
+gpg --verify apache-servicecomb-pack-distribution-0.7.0-bin.zip.asc
apache-servicecomb-pack-distribution-0.7.0-bin.zip
+gpg --verify apache-servicecomb-pack-distribution-0.7.0-src.zip.asc
apache-servicecomb-pack-distribution-0.7.0-src.zip
+```
+
+#### Creating release notes
+
+[Creating release notes on
JIRA](https://confluence.atlassian.com/adminjiraserver/creating-release-notes-938847219.html)
+
+#### PMC Approval
+
+Send voting email `[VOTE] Release Apache ServiceComb Pack version 0.7.0` to
`[email protected]`.
+
+```html
+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&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]
+```
+
+Wait for 72 hours. You need to send the vote closed notice to
`[email protected]`.
+
+```html
+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]
+```
+
+Unless you get 3 +1 binding vote with no -1 vote. If you get even one -1
binding vote then fix the issue and start again from **Release ServiceComb
Pack**.
+Publish the result of the vote in `[email protected]`
+
+```html
+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],[PMC],[PMC],...)
+
+We will be publishing the release binaries soon.
+
+On behalf of ServiceComb Team
+
+Thanks all for your participation in this vote.
+
+Regards
+[YOUR NAME]
+```
+
+#### Announcements
+
+1. Visit `https://repository.apache.org/` Select the staging repository and
click the release button to finish the release. It will be automatically
synchronized to [Maven Central
Repository](https://mvnrepository.com/repos/central) after a while.
+
+2. Upload files from Apache dev Release SVN to Apache dist Release SVN
+
+```shell
+mkdir -p ~/Work/apache-release-workspace/release
+cd ~/Work/apache-release-workspace/release
+svn co https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-pack
+mkdir -p ~/Work/apache-release-workspace/release/servicecomb-pack/0.7.0
+cp ~/Work/apache-release-workspace/dist/servicecomb-pack/0.7.0/rc1/*
~/Work/apache-release-workspace/release/servicecomb-pack/0.7.0
+cd ~/Work/apache-release-workspace/release/servicecomb-pack
+svn add 0.7.0
+svn commit -m 'Upload ServiceComb Pack 0.7.0 Release'
+```
+
+3. Delete Pack Release Candidate 0.7.0
+
+```shell
+cd ~/Work/apache-release-workspace/dist/servicecomb-pack
+rm -rf 0.7.0
+svn delete 0.7.0
+svn commit -m 'Remove ServiceComb Pack 0.7.0 RC'
+```
+
+4. Delete Pack Release 0.6.0
+
+```shell
+cd ~/Work/apache-release-workspace/release/servicecomb-pack
+rm -rf 0.6.0
+svn delete 0.6.0
+svn commit -m 'Remove ServiceComb Pack 0.6.0 Release'
+```
+
+5. Wait [Maven Central Repository](https://mvnrepository.com/repos/central)
sync completed
+
+6. Create a Release of 0.7.0 Tag on GitHub
+
+Visit `https://github.com/apache/servicecomb-pack/releases/tag/0.7.0`, click
the `Create release from tag` button, and the content reference [JIRA Release
Notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12321626&version=12348307)
+
+7. Update [ServiceComb Website](https://github.com/apache/servicecomb-website)
+
+*
https://github.com/apache/servicecomb-website/blob/master/_release/cn/pack_downloads.md
+*
https://github.com/apache/servicecomb-website/blob/master/_release/cn/pack_releaseNotes.md
+*
https://github.com/apache/servicecomb-website/blob/master/_release/cn/release.md
+*
https://github.com/apache/servicecomb-website/blob/master/_release/pack_downloads.md
+*
https://github.com/apache/servicecomb-website/blob/master/_release/pack_releaseNotes.md
+* https://github.com/apache/servicecomb-website/blob/master/_release/release.md
+* https://github.com/apache/servicecomb-website/blob/master/_pages/cn/home.md
+* https://github.com/apache/servicecomb-website/blob/master/_pages/home.md
+
+8. Send the announcement mails `[ANNOUNCE] Apache ServiceComb Pack version
0.7.0 Released` to [email protected], [email protected]
+
+```html
+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: [email protected]
+- Gitter: https://gitter.im/ServiceCombUsers/Saga
+
+On behalf of ServiceComb Team
+
+Regards
+[YOUR NAME]
+```
\ No newline at end of file