You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by wu...@apache.org on 2019/04/29 04:19:19 UTC

[servicecomb-website] branch optimize-java-chassis-release-guide created (now 19ec979)

This is an automated email from the ASF dual-hosted git repository.

wujimin pushed a change to branch optimize-java-chassis-release-guide
in repository https://gitbox.apache.org/repos/asf/servicecomb-website.git.


      at 19ec979  Update release_guide.md

This branch includes the following new commits:

     new 19ec979  Update release_guide.md

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[servicecomb-website] 01/01: Update release_guide.md

Posted by wu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

wujimin pushed a commit to branch optimize-java-chassis-release-guide
in repository https://gitbox.apache.org/repos/asf/servicecomb-website.git

commit 19ec97952b3fbb5e845d13e6c6630f6ec4d36862
Author: wujimin <wu...@huawei.com>
AuthorDate: Mon Apr 29 12:19:13 2019 +0800

    Update release_guide.md
---
 _developers/cn/release_guide.md | 135 ++++++++++++++++++++++------------------
 1 file changed, 75 insertions(+), 60 deletions(-)

diff --git a/_developers/cn/release_guide.md b/_developers/cn/release_guide.md
index e84bb31..f16a401 100755
--- a/_developers/cn/release_guide.md
+++ b/_developers/cn/release_guide.md
@@ -18,14 +18,14 @@ redirect_from:
 ## 前期准备
 
 1. 项目CI应该是正常的(绿色的)。
-2. 确定相关的项目版本号。
-3. 因为发版的过程中需要使用[私钥](https://www.apache.org/dev/openpgp.html#generate-key)对[发布版本进行签名](https://www.apache.org/dev/release-signing),请确保签名用密钥对应公钥已经发布到公开公钥服务器。
-4. 熟悉POM文件中版本发行相关的设置。
+2. 确定发布版本号。
+3. 因为发版的过程中需要使用[密钥](https://www.apache.org/dev/openpgp.html#generate-key)对[发布版本进行签名](https://www.apache.org/dev/release-signing),请确保密钥中的公钥已经发布到公开公钥服务器(https://www.apache.org/dev/openpgp.html#publish-in-web-space)。
+4. 熟悉maven版本发行相关的设置。
 
 ## 配置Maven
 ServiceComb Java-Chassis和Saga使用Maven进行版本发布,我们需要在发布前对Maven进行一些配置。
 
-在使用Maven把发行包发布到仓库之前,我们应当在`~/.m2/settings.xml`文件中配置制品为组群可写的,否则其它开发人员将无法提交相同制品的新SNAPSHOT版本。本项目参考了Maven项目的设定[指南](http://maven.apache.org/developers/committer-settings.html)。请特别注意[加密密码](http://maven.apache.org/guides/mini/guide-encryption.html)。
+在使用Maven把发行包发布到仓库之前,参考了Maven项目的设定[指南](http://maven.apache.org/developers/committer-settings.html)。请特别注意[加密密码](http://maven.apache.org/guides/mini/guide-encryption.html)。
 
 ```
 <settings>
@@ -33,33 +33,12 @@ ServiceComb Java-Chassis和Saga使用Maven进行版本发布,我们需要在
   <servers>
     <!-- Per http://maven.apache.org/developers/committer-settings.html -->
 
-    <!-- To publish a snapshot of some part of Maven -->
-    <server>
-      <id>apache.snapshots.https</id>
-      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
-      <password> <!-- YOUR APACHE LDAP PASSWORD --> </password>
-    </server>
-    <!-- To publish a website of some part of Maven -->
-    <server>
-      <id>apache.website</id>
-      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
-      <filePermissions>664</filePermissions>
-      <directoryPermissions>775</directoryPermissions>
-    </server>
     <!-- To stage a release of some part of Maven -->
     <server>
       <id>apache.releases.https</id>
       <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
       <password> <!-- YOUR APACHE LDAP PASSWORD --> </password>
     </server>
-    <!-- To stage a website of some part of Maven -->
-    <server>
-      <id>stagingSite</id> <!-- must match hard-coded repository identifier in site:stage-deploy -->
-      <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
-      <filePermissions>664</filePermissions>
-      <directoryPermissions>775</directoryPermissions>
-    </server>
-
   </servers>
   ...
   <profiles>
@@ -142,73 +121,109 @@ gvt restore
 
 ***准备和校验发行包***
 
-1. 克隆java-chassis代码。
+1. 如果`~/.ssh`中没有GPG密钥文件,则将GPG密钥文件拷贝至`~/.ssh`文件夹。
+
+2. 更新`~/.m2/settings.xml`文件中的GPG密码。
+
+3. 更新`~/.m2/settings.xml`文件中的Apache帐户用户名和密码。
+
+4. 克隆java-chassis代码
 ```
 git clone https://github.com/apache/servicecomb-java-chassis.git
 ```
 
-2. 使用以下perl命令,替换所有pom.xml文件中的版本号并提交改动至本地。
+5. 使用以下perl命令,替换所有pom.xml文件中的版本号并提交改动至本地
 ```
 find . -name 'pom.xml'|xargs perl -pi -e 's/1.0.0-m2-SNAPSHOT/1.0.0-m2/g'
 ```
 
-3. 在master分支上打上准备发布版本的标签。
-
-4. 清理repository.apache.org中所有冗余的发行版。
-
-5. 将GPG密钥文件拷贝至文件夹备用。
-
-6. 更新`~/.m2/settings.xml`文件中的GPG密钥文件路径和密码.
-
-7. 更新设置内Apache帐户用户名和密码。
+6. 在需要release的分支上打上准备发布版本的标签。
 
-8. 运行以下命令。
+7. 运行以下命令
 ```
 mvn deploy -DskipTests -Prelease -Pdistribution -Ppassphrase
 ```
 
-9. 上述命令执行成功,所有的jar包都成功上传至临时仓库后,运行Company Workshop作基本的功能验证。
-
-10. 将临时仓库共享给多人,在不同的机器和环境上进行验证。
+8. 如果执行失败,需要解决问题,从步骤7重新开始。
+   
+9. 如果步骤7命令执行成功,则所有的jar包都已经成功上传至maven临时仓库。  
+   使用apache帐号登录到[Apache Nexus](https://repository.apache.org/),点击“Staging Repositories”,搜索“servicecomb”,根据时间找到最近的java-chassis相关的记录,close该条记录,得到maven临时仓库的链接,例如:`https://repository.apache.org/content/repositories/orgapacheservicecomb-1385`
 
-11. 如果验证全部通过,将标签提交至主仓库。
+10. 将release分支以及标签分别push至主仓库。
 
-12. 清理Apache临时仓库。
 
 ***给发行包签名***
 
-13. 从临时仓库下载二进制包和源码包。
-
-14. 生成二进制包和源码包的签名和校验和。
-
-15. 上传发行包到[Apache发行开发仓库](https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-java-chassis/).
-.
-
-16. 从SVN下载发行包,验证签名和校验。
+11. 从临时仓库下载二进制包及签名  
+  例如:  
+  `https://repository.apache.org/content/repositories/orgapacheservicecomb-1385/org/apache/servicecomb/apache-servicecomb-java-chassis-distribution/1.2.0/apache-servicecomb-java-chassis-distribution-1.2.0-bin.zip`  
+  `https://repository.apache.org/content/repositories/orgapacheservicecomb-1385/org/apache/servicecomb/apache-servicecomb-java-chassis-distribution/1.2.0/apache-servicecomb-java-chassis-distribution-1.2.0-bin.zip.asc`
+  
+12. 从临时仓库下载源码包及签名  
+  例如:  
+  `https://repository.apache.org/content/repositories/orgapacheservicecomb-1385/org/apache/servicecomb/apache-servicecomb-java-chassis-distribution/1.2.0/apache-servicecomb-java-chassis-distribution-1.2.0-src.zip`  
+  `https://repository.apache.org/content/repositories/orgapacheservicecomb-1385/org/apache/servicecomb/apache-servicecomb-java-chassis-distribution/1.2.0/apache-servicecomb-java-chassis-distribution-1.2.0-src.zip.asc`
+
+13. 生成二进制包和源码包的校验和  
+  例如:  
+  `sha512sum -b apache-servicecomb-java-chassis-distribution-1.2.0-bin.zip > apache-servicecomb-java-chassis-distribution-1.2.0-bin.zi.sha512`  
+  `sha512sum -b apache-servicecomb-java-chassis-distribution-1.2.0-src.zip > apache-servicecomb-java-chassis-distribution-1.2.0-src.zip.sha512`  
+
+14. 将步骤11、12、13相关的文件,上传到[Apache开发仓库](https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-java-chassis/).  
+  SVN命令:
+  ```
+  svn co https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-java-chassis 
+  cd serviecomb-java-chassis
+  mkdir -p 1.2.0/rc01
+  cp xxx/* 1.2.0/rc01
+  svn add 1.2.0/rc01
+  svn ci 1.2.0/rc01
+  ```
+
+15. 从SVN下载发行包,验证签名和校验。
 
 ***PMC批准***
 
 17. 发送投票邮件至 ***dev@servicecomb.apache.org***, 发起PMC批准.
+  模板:
+  ```
+  ```
 
-18. 等待72小时,或者获得3票+1并且没有-1。如果有-1票,修正问题并从***第1步***重新开始。
-
+    
+18. 等待72小时,或者获得3票+1并且没有-1。如果有-1票,修正问题,并删除主仓库的release版本对应的标签,并从***第1步***重新开始。
+ 
 19. 将投票结果发布到dev@servicecomb.apache.org。
 
 
 ***通告***
 
-23. 上传发行包至[Apache发行仓库](https://dist.apache.org/repos/dist/release/servicecomb/servicecomb-java-chassis/)。
+20. 将[dev](https://dist.apache.org/repos/dist/dev)的文件移动到[release](https://dist.apache.org/repos/dist/release)目录中,同时确认已经被存档,同时更新网站上相关链接。
+    ```
+    找一下脚本
+    ```
 
-24. 等待24小时,让所有镜像同步。
-
-25. 将[dev](https://dist.apache.org/repos/dist/dev)的文件移动到[release](https://dist.apache.org/repos/dist/release)目录中,同时确认已经被存档,同时更新网站上相关链接。
-
-26. 上传发行页面至ServiceComb网站。
-
-27. 发送发行通告邮件到dev@servicecomb.apache.org, announce@apache.org。
+    同时删除[Apache开发仓库](https://dist.apache.org/repos/dist/dev/servicecomb/servicecomb-java-chassis/)中的目录
+    ```
+    svn rm -r 1.2.0
+    checkin?
+    ```
+    使用apache帐号登录到[Apache Nexus](https://repository.apache.org/),点击“Staging Repositories”,搜索“servicecomb”,选中java-chassis相关的所有记录,点击“Drop”。
 
+    使用apache帐号登录到[Apache Nexus](https://repository.apache.org/),点击“Staging Repositories”,搜索“servicecomb”,找到需要发布的java-chassis记录,点击release
 
+21. 等待24小时,让所有镜像同步。
 
+22. 上传发行页面至ServiceComb网站。
+   fork https://github.com/apache/servicecomb-website/
+   1.总版本,url
+   2.java-chassis的RN和download(url)
+   3.中文、英文
+   PR
+
+23. 发送发行通告邮件到dev@servicecomb.apache.org, announce@apache.org。
+    模板:
+    ```
+    ```
 
 ## 发行Saga