You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by gi...@apache.org on 2020/12/26 02:08:13 UTC

[incubator-dolphinscheduler-website] branch asf-site updated: Automated deployment: Sat Dec 26 02:08:04 UTC 2020 b49f0f431368de28346de6e9b2727e0e6ed0af19

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

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new fbb9e31  Automated deployment: Sat Dec 26 02:08:04 UTC 2020 b49f0f431368de28346de6e9b2727e0e6ed0af19
fbb9e31 is described below

commit fbb9e31dfc9ca3abcd67f3a093cb47c941ad3302
Author: lgcareer <lg...@users.noreply.github.com>
AuthorDate: Sat Dec 26 02:08:04 2020 +0000

    Automated deployment: Sat Dec 26 02:08:04 UTC 2020 b49f0f431368de28346de6e9b2727e0e6ed0af19
---
 en-us/docs/community/release.html  | 479 +++++++++++++++++++++++++++++++++++++
 en-us/docs/community/release.json  |   6 +
 en-us/docs/community/security.html |   2 +-
 en-us/docs/community/security.json |   2 +-
 4 files changed, 487 insertions(+), 2 deletions(-)

diff --git a/en-us/docs/community/release.html b/en-us/docs/community/release.html
new file mode 100644
index 0000000..ff7be9f
--- /dev/null
+++ b/en-us/docs/community/release.html
@@ -0,0 +1,479 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="release" />
+	<meta name="description" content="release" />
+	<!-- 网页标签标题 -->
+	<title>release</title>
+	<link rel="shortcut icon" href="/img/docsite.ico"/>
+	<link rel="stylesheet" href="/build/documentation.css" />
+</head>
+<body>
+	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
+<h3>Install GPG</h3>
+<p>Download installation package on <a href="https://www.gnupg.org/download/index.html">official GnuPG website</a>.
+The command of GnuPG 1.x version can differ a little from that of 2.x version.
+The following instructions take <code>GnuPG-2.1.23</code> version for example.</p>
+<p>After the installation, execute the following command to check the version number.</p>
+<pre><code class="language-shell">gpg --version
+</code></pre>
+<h3>Create Key</h3>
+<p>After the installation, execute the following command to create key.</p>
+<p>This command indicates <code>GnuPG-2.x</code> can be used:</p>
+<pre><code class="language-shell">gpg --full-gen-key
+</code></pre>
+<p>This command indicates <code>GnuPG-1.x</code> can be used:</p>
+<pre><code class="language-shell">gpg --gen-key
+</code></pre>
+<p>Finish the key creation according to instructions:</p>
+<p><strong>Notice: Please use Apache mail for key creation.</strong></p>
+<pre><code class="language-shell">gpg (GnuPG) 2.0.12; Copyright (C) 2009 Free Software Foundation, Inc.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+
+Please select what kind of key you want:
+  (1) RSA and RSA (default)
+  (2) DSA and Elgamal
+  (3) DSA (sign only)
+  (4) RSA (sign only)
+Your selection? 1
+RSA keys may be between 1024 and 4096 bits long.
+What keysize do you want? (2048) 4096
+Requested keysize is 4096 bits
+Please specify how long the key should be valid.
+        0 = key does not expire
+     &lt;n&gt;  = key expires in n days
+     &lt;n&gt;w = key expires in n weeks
+     &lt;n&gt;m = key expires in n months
+     &lt;n&gt;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: ${Input username}
+Email address: ${Input email}
+Comment: ${Input comment}
+You selected this USER-ID:
+   "${Inputed username} (${Inputed comment}) &lt;${Inputed email}&gt;"
+
+Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
+You need a Passphrase to protect your secret key. # Input passwords
+</code></pre>
+<h3>Check Generated Key</h3>
+<pre><code class="language-shell">gpg --list-keys
+</code></pre>
+<p>Execution Result:</p>
+<pre><code class="language-shell">pub   4096R/85E11560 2019-11-15
+uid                  ${Username} (${Comment}) &lt;{Email}&gt;
+sub   4096R/A63BC462 2019-11-15
+</code></pre>
+<p>Among them, 85E11560 is public key ID.</p>
+<h3>Upload the Public Key to Key Server</h3>
+<p>The command is as follow:</p>
+<pre><code class="language-shell">gpg --keyserver hkp://pool.sks-keyservers.net --send-key 85E11560
+</code></pre>
+<p><code>pool.sks-keyservers.net</code> is randomly chosen from <a href="https://sks-keyservers.net/status/">public key server</a>.
+Each server will automatically synchronize with one another, so it would be okay to choose any one.</p>
+<h2>Apache Maven Central Repository Release</h2>
+<h3>Set settings.xml</h3>
+<p>Add the following template to <code>~/.m2/settings.xml</code>, all the passwords need to be filled in after encryption.
+For encryption settings, please see <a href="http://maven.apache.org/guides/mini/guide-encryption.html">here</a>.</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">settings</span>&gt;</span>
+  <span class="hljs-tag">&lt;<span class="hljs-name">servers</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">server</span>&gt;</span>
+      <span class="hljs-tag">&lt;<span class="hljs-name">id</span>&gt;</span>apache.snapshots.https<span class="hljs-tag">&lt;/<span class="hljs-name">id</span>&gt;</span>
+      <span class="hljs-tag">&lt;<span class="hljs-name">username</span>&gt;</span> <span class="hljs-comment">&lt;!-- APACHE LDAP username --&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">username</span>&gt;</span>
+      <span class="hljs-tag">&lt;<span class="hljs-name">password</span>&gt;</span> <span class="hljs-comment">&lt;!-- APACHE LDAP encrypted password --&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">password</span>&gt;</span>
+    <span class="hljs-tag">&lt;/<span class="hljs-name">server</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">server</span>&gt;</span>
+      <span class="hljs-tag">&lt;<span class="hljs-name">id</span>&gt;</span>apache.releases.https<span class="hljs-tag">&lt;/<span class="hljs-name">id</span>&gt;</span>
+      <span class="hljs-tag">&lt;<span class="hljs-name">username</span>&gt;</span> <span class="hljs-comment">&lt;!-- APACHE LDAP username --&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">username</span>&gt;</span>
+      <span class="hljs-tag">&lt;<span class="hljs-name">password</span>&gt;</span> <span class="hljs-comment">&lt;!-- APACHE LDAP encrypted password --&gt;</span> <span class="hljs-tag">&lt;/<span class="hljs-name">password</span>&gt;</span>
+    <span class="hljs-tag">&lt;/<span class="hljs-name">server</span>&gt;</span>
+  <span class="hljs-tag">&lt;/<span class="hljs-name">servers</span>&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">settings</span>&gt;</span>
+</code></pre>
+<h3>Update Release Notes</h3>
+<pre><code>https://github.com/apache/incubator-dolphinscheduler/blob/dev/RELEASE-NOTES.md
+</code></pre>
+<h3>Create Release Branch</h3>
+<p>Suppose DolphinScheduler source codes downloaded from github is under <code>~/incubator-dolphinscheduler/</code> directory and the version to be released is <code>${RELEASE.VERSION}</code>.
+Create <code>${RELEASE.VERSION}-release</code> branch, where all the following operations are performed.</p>
+<pre><code class="language-shell">cd ~/incubator-dolphinscheduler/
+git pull
+git checkout -b ${RELEASE.VERSION}-release
+git push origin ${RELEASE.VERSION}-release
+</code></pre>
+<h3>Pre-Release Check</h3>
+<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -DdryRun=true -Dusername=${Github username}
+</code></pre>
+<p>-Prelease: choose release profile, which will pack all the source codes, jar files and executable binary packages.</p>
+<p>-DautoVersionSubmodules=true:it can make the version number is inputted only once and not for each sub-module.</p>
+<p>-DdryRun=true:rehearsal, which means not to generate or submit new version number and new tag.</p>
+<h3>Prepare for the Release</h3>
+<p>First, clean local pre-release check information.</p>
+<pre><code class="language-shell">mvn release:clean
+</code></pre>
+<p>Then, prepare to execute the release.</p>
+<pre><code class="language-shell">mvn release:prepare -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -DpushChanges=false -Dusername=${Github username}
+</code></pre>
+<p>It is basically the same as the previous rehearsal command, but deleting -DdryRun=true parameter.</p>
+<p>-DpushChanges=false:do not submit the edited version number and tag to Github automatically.</p>
+<p>After making sure there is no mistake in local files, submit them to GitHub.</p>
+<pre><code class="language-shell">git push
+git push origin --tags
+</code></pre>
+<h3>Deploy the Release</h3>
+<pre><code class="language-shell">mvn release:perform -Prelease -Darguments="-DskipTests" -DautoVersionSubmodules=true -Dusername=${Github username}
+</code></pre>
+<p>After that command is executed, the version to be released will be uploaded to Apache staging repository automatically.
+Visit <a href="https://repository.apache.org/#stagingRepositories">https://repository.apache.org/#stagingRepositories</a> and use Apache LDAP account to log in; then you can see the uploaded version, the content of <code>Repository</code> column is the ${STAGING.REPOSITORY}.
+Click <code>Close</code> to tell Nexus that the construction is finished, because only in this way, this version can be usable.
+If there is any problem in gpg signature, <code>Close</code> will fail, but you can see the failure information through <code>Activity</code>.</p>
+<h2>Apache SVN Repository Release</h2>
+<h3>Checkout dolphinscheduler Release Directory</h3>
+<p>If there is no local work directory, create one at first.</p>
+<pre><code class="language-shell">mkdir -p ~/ds_svn/dev/
+cd ~/ds_svn/dev/
+</code></pre>
+<p>After the creation, checkout dolphinscheduler release directory from Apache SVN.</p>
+<pre><code class="language-shell">svn --username=${APACHE LDAP username} co https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler
+cd ~/ds_svn/dev/dolphinscheduler
+</code></pre>
+<h3>Add gpg Public Key</h3>
+<p>Only the account in its first deployment needs to add that.
+It is alright for <code>KEYS</code> to only include the public key of the deployed account.</p>
+<pre><code class="language-shell">gpg -a --export ${GPG username} &gt;&gt; KEYS
+</code></pre>
+<h3>Add the Release Content to SVN Directory</h3>
+<p>Create folder by version number.</p>
+<pre><code class="language-shell">mkdir -p ~/ds_svn/dev/dolphinscheduler/${RELEASE.VERSION}
+cd ~/ds_svn/dev/dolphinscheduler/${RELEASE.VERSION}
+</code></pre>
+<p>Add source code packages, binary packages and executable binary packages to SVN working directory.</p>
+<pre><code class="language-shell">cp -f ~/incubator-dolphinscheduler/dolphinscheduler-dist/target/*.zip ~/ds_svn/dev/dolphinscheduler/${RELEASE.VERSION}
+cp -f ~/incubator-dolphinscheduler/dolphinscheduler-dist/target/*.zip.asc ~/ds_svn/dev/dolphinscheduler/${RELEASE.VERSION}
+cp -f ~/incubator-dolphinscheduler/dolphinscheduler-dist/target/*.tar.gz ~/ds_svn/dev/dolphinscheduler/${RELEASE.VERSION}
+cp -f ~/incubator-dolphinscheduler/dolphinscheduler-dist/target/*.tar.gz.asc ~/ds_svn/dev/dolphinscheduler/${RELEASE.VERSION}
+</code></pre>
+<h3>Generate sign files</h3>
+<pre><code class="language-shell">shasum -a 512 apache-dolphinscheduler-incubating-${RELEASE.VERSION}-src.zip &gt;&gt; apache-dolphinscheduler-incubating-${RELEASE.VERSION}-src.zip.sha512
+shasum -b -a 512 apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinscheduler-bin.tar.gz &gt;&gt; apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinscheduler-bin.tar.gz.sha512
+</code></pre>
+<h3>Commit to Apache SVN</h3>
+<pre><code class="language-shell">svn add *
+svn --username=${APACHE LDAP username} commit -m "release ${RELEASE.VERSION}"
+</code></pre>
+<h2>Check Release</h2>
+<h3>Check sha512 hash</h3>
+<pre><code class="language-shell">shasum -c apache-dolphinscheduler-incubating-${RELEASE.VERSION}-src.zip.sha512
+shasum -c apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinscheduler-bin.tar.gz.sha512
+</code></pre>
+<h3>Check gpg Signature</h3>
+<p>First, import releaser's public key.
+Import KEYS from SVN repository to local. (The releaser does not need to import again; the checking assistant needs to import it, with the user name filled as the releaser's. )</p>
+<pre><code class="language-shell">curl https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/KEYS &gt;&gt; KEYS
+gpg --import KEYS
+gpg --edit-key "${GPG username of releaser}"
+<span class="hljs-meta">  &gt;</span><span class="bash"> trust</span>
+
+Please decide how far you trust this user to correctly verify other users' keys
+(by looking at passports, checking fingerprints from different sources, etc.)
+
+  1 = I don't know or won't say
+  2 = I do NOT trust
+  3 = I trust marginally
+  4 = I trust fully
+  5 = I trust ultimately
+  m = back to the main menu
+
+Your decision? 5
+<span class="hljs-meta">
+  &gt;</span><span class="bash"> save</span>
+</code></pre>
+<p>Then, check the gpg signature.</p>
+<pre><code class="language-shell">gpg --verify apache-dolphinscheduler-incubating-${RELEASE.VERSION}-src.zip.asc apache-dolphinscheduler-incubating-${RELEASE.VERSION}-src.zip
+gpg --verify apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinscheduler-bin.tar.gz.asc apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinscheduler-bin.tar.gz
+</code></pre>
+<h3>Check Released Files</h3>
+<h4>Check source package</h4>
+<p>Decompress <code>apache-dolphinscheduler-incubating-${RELEASE.VERSION}-src.zip</code> and check the following items:</p>
+<ul>
+<li>Check whether source tarball is oversized for including nonessential files</li>
+<li>The release files have the word <code>incubating</code> in their name</li>
+<li><code>DISCLAIMER</code> file exists</li>
+<li><code>LICENSE</code> and <code>NOTICE</code> files exist</li>
+<li>Correct year in <code>NOTICE</code> file</li>
+<li>There is only text files but no binary files</li>
+<li>All source files have ASF headers</li>
+<li>Codes can be compiled and pass the unit tests (mvn install)</li>
+<li>The contents of the release match with what's tagged in version control (diff -r a verify_dir tag_dir)</li>
+<li>Check if there is any extra files or folders, empty folders for example</li>
+</ul>
+<h4>Check binary packages</h4>
+<p>Decompress <code>apache-dolphinscheduler-incubating-${RELEASE.VERSION}-dolphinscheduler-bin.tar.gz</code>
+to check the following items:</p>
+<ul>
+<li>The release files have the word <code>incubating</code> in their name</li>
+<li><code>DISCLAIMER</code> file exists</li>
+<li><code>LICENSE</code> and <code>NOTICE</code> files exist</li>
+<li>Correct year in <code>NOTICE</code> file</li>
+<li>Check the third party dependency license:
+<ul>
+<li>The software have a compatible license</li>
+<li>All software licenses mentioned in <code>LICENSE</code></li>
+<li>All the third party dependency licenses are under <code>licenses</code> folder</li>
+<li>If it depends on Apache license and has a <code>NOTICE</code> file, that <code>NOTICE</code> file need to be added to <code>NOTICE</code> file of the release</li>
+</ul>
+</li>
+</ul>
+<p>For the whole check list, please see <a href="https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist">here</a>。</p>
+<h2>Call for a Vote</h2>
+<h3>Vote procedure</h3>
+<ol>
+<li>
+<p>DolphinScheduler community vote: send the vote e-mail to <code>dev@dolphinscheduler.apache.org</code>.
+PPMC needs to check the rightness of the version according to the document before they vote.
+After at least 72 hours and with at least 3 <code>+1 PPMC member</code> votes, it can come to the next stage of the vote.</p>
+</li>
+<li>
+<p>Apache community vote: send the vote e-mail to <code>general@incubator.apache.org</code>。
+After at least 72 hours and with at least 3 <code>+1 binding</code> votes (only IPMC's votes are binding), it can be officially released.</p>
+</li>
+<li>
+<p>Announce the vote result: send the result vote e-mail to <code>general@incubator.apache.org</code>。</p>
+</li>
+</ol>
+<h3>Vote Templates</h3>
+<ol>
+<li>DolphinScheduler Community Vote Template</li>
+</ol>
+<p>NOTE: Must invite all mentors to vote during the community vote.</p>
+<p>Title:</p>
+<pre><code>[VOTE] Release Apache DolphinScheduler (Incubating) ${RELEASE.VERSION}
+</code></pre>
+<p>Body:</p>
+<pre><code>Hello DolphinScheduler Community,
+
+This is a call for vote to release Apache DolphinScheduler (Incubating) version ${RELEASE.VERSION}
+
+Release notes:
+https://github.com/apache/incubator-dolphinscheduler/blob/${RELEASE.VERSION}/ReleaseNotes.md
+
+The release candidates:
+https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/${RELEASE.VERSION}/
+
+Maven 2 staging repository:
+https://repository.apache.org/content/repositories/${STAGING.REPOSITORY}/org/apache/dolphinscheduler/
+
+Git tag for the release:
+https://github.com/apache/incubator-dolphinscheduler/tree/${RELEASE.VERSION}
+
+Release Commit ID:
+https://github.com/apache/incubator-dolphinscheduler/commit/xxxxxxxxxxxxxxxxxxxxxxx
+
+Keys to verify the Release Candidate:
+https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/KEYS
+
+Look at here for how to verify this release candidate:
+https://github.com/apache/incubator-dolphinscheduler/blob/1.2.0-release/README.md
+
+The vote will be open for at least 72 hours or until necessary number of votes are reached.
+
+Please vote accordingly:
+
+[ ] +1 approve
+
+[ ] +0 no opinion
+
+[ ] -1 disapprove with the reason
+
+Checklist for reference:
+
+[ ] Download links are valid.
+
+[ ] Checksums and PGP signatures are valid.
+
+[ ] Source code artifacts have correct names matching the current release.
+
+[ ] LICENSE and NOTICE files are correct for each DolphinScheduler repo.
+
+[ ] All files have license headers if necessary.
+
+[ ] No compiled archives bundled in source archive.
+
+More detail checklist  please refer:
+https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist
+</code></pre>
+<ol start="2">
+<li>Announce the vote result:</li>
+</ol>
+<p>Body:</p>
+<pre><code>The vote to release Apache DolphinScheduler (Incubating) ${RELEASE.VERSION} has passed.Here is the vote result,
+
+7 PPMC member +1 votes:
+
+xxx (mentor)
+xxx
+xxx (mentor)
+xxx
+xxx
+xxx (mentor)
+xxx
+
+1 community +1 vote:
+xxx
+
+Thanks everyone for taking time to check this release and help us.
+</code></pre>
+<ol start="3">
+<li>Apache Community Vote Template:</li>
+</ol>
+<p>Title:</p>
+<pre><code>[VOTE] Release Apache DolphinScheduler (Incubating) ${RELEASE.VERSION}
+</code></pre>
+<p>Body:</p>
+<pre><code>Hello everyone,
+
+This is a call for vote to release Apache DolphinScheduler (Incubating) version ${RELEASE.VERSION}.
+
+The Apache DolphinScheduler community has voted on and approved a proposal to release
+Apache DolphinScheduler (Incubating) version ${RELEASE.VERSION}.
+
+We now kindly request the Incubator IPMC members review and vote on this incubator release.
+
+Dolphin Scheduler is a distributed and easy-to-expand visual DAG workflow scheduling system,
+dedicated to solving the complex dependencies in data processing, making the scheduling system out of the box for data processing.
+
+DolphinScheduler community vote and result threads:
+https://lists.apache.org/thread.html/xxxxxxxxxxxxxxxxxxxxxxx
+
+https://lists.apache.org/thread.html/xxxxxxxxxxxxxxxxxxxxxxx
+
+Release notes:
+https://github.com/apache/incubator-dolphinscheduler/blob/${RELEASE.VERSION}/ReleaseNotes.md
+
+The release candidates:
+https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/${RELEASE.VERSION}/
+
+Maven 2 staging repository:
+https://repository.apache.org/content/repositories/${STAGING.REPOSITORY}/org/apache/dolphinscheduler/
+
+Git tag for the release:
+https://github.com/apache/incubator-dolphinscheduler/tree/${RELEASE.VERSION}
+
+Release Commit ID:
+https://github.com/apache/incubator-dolphinscheduler/commit/xxxxxxxxxxxxxxxxxxxxxxx
+
+Keys to verify the Release Candidate:
+https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/KEYS
+
+Look at here for how to verify this release candidate:
+https://github.com/apache/incubator-dolphinscheduler/blob/1.2.0-release/README.md
+
+The vote will be open for at least 72 hours or until necessary number of votes are reached.
+Please vote accordingly:
+
+[ ] +1 approve
+
+[ ] +0 no opinion
+
+[ ] -1 disapprove with the reason
+
+Checklist for reference:
+
+[ ] Download links are valid.
+
+[ ] Checksums and PGP signatures are valid.
+
+[ ] Source code artifacts have correct names matching the current release.
+
+[ ] LICENSE and NOTICE files are correct for each DolphinScheduler repo.
+
+[ ] All files have license headers if necessary.
+
+[ ] No compiled archives bundled in source archive.
+
+More detail checklist  please refer:
+https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist
+
+The following votes are carried over from DolphinScheduler dev mailing list,
+
++1 binding, xxx
++1 binding, xxx
+
++1 non-binding, xxx
++1 non-binding, xxx
+</code></pre>
+<ol start="4">
+<li>Announce the vote result:</li>
+</ol>
+<p><strong>Notice: Please include the votes from DolphinScheduler community above.</strong></p>
+<p>Title:</p>
+<pre><code>[RESULT][VOTE] Release Apache DolphinScheduler (Incubating) ${RELEASE.VERSION}
+</code></pre>
+<p>正文:</p>
+<pre><code>We’ve received 3 +1 binding votes and one +1 non-binding vote:
+
++1 binding, xxx
++1 binding, xxx
++1 binding, xxx
+
++1 non-binding, xxx
+
+Thank you everyone for taking the time to review the release and help us.
+I will process to publish the release and send ANNOUNCE.
+</code></pre>
+<h2>Finish the Release</h2>
+<h3>Move source packages, binary packages and KEYS from the <code>dev</code> directory to <code>release</code> directory</h3>
+<pre><code class="language-shell">svn mv https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler/${RELEASE.VERSION} https://dist.apache.org/repos/dist/release/incubator/dolphinscheduler/
+</code></pre>
+<h3>Find DolphinScheduler in staging repository and click <code>Release</code></h3>
+<p>###. Update the download page</p>
+<pre><code>https://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html
+https://dolphinscheduler.apache.org/zh-cn/docs/user_doc/download.html
+</code></pre>
+<h3>Send e-mail to <code>general@incubator.apache.org</code> and <code>dev@dolphinscheduler.apache.org</code> to announce the release is finished</h3>
+<p>Announcement e-mail template:</p>
+<p>Title:</p>
+<pre><code>[ANNOUNCE] Release Apache DolphinScheduler (Incubating) ${RELEASE.VERSION}
+</code></pre>
+<p>Body:</p>
+<pre><code>Hi all,
+
+We are glad to announce the release of Apache DolphinScheduler(incubating) ${RELEASE.VERSION}. Once again I would like to express my thanks to your help.
+
+Dolphin Scheduler is a distributed and easy-to-expand visual DAG workflow scheduling system,
+dedicated to solving the complex dependencies in data processing, making the scheduling system out of the box for data processing.
+
+
+Download Links: http://dolphinscheduler.apache.org/en-us/docs/user_doc/download.html
+
+Release Notes: https://github.com/apache/incubator-dolphinscheduler/blob/${RELEASE.VERSION}/ReleaseNotes.md
+
+Website: https://dolphinscheduler.apache.org/
+
+DolphinScheduler Resources:
+- Issue: https://github.com/apache/incubator-dolphinscheduler/issues/
+- Mailing list: dev@dolphinscheduler.apache.org
+- Documents: https://github.com/apache/incubator-dolphinscheduler/blob/${RELEASE.VERSION}/README.md
+
+</code></pre>
+</div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. 
+Incubation is required of all newly accepted projects until a further review indicates 
+that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. 
+While incubation status is not necessarily a reflection of the completeness or stability of the code, 
+it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6"><dl><dt>Documentation</dt><dd><a href="/en-us/docs/development/architecture-design.html" target="_self">Overview</a></dd><dd><a href="/en-us/docs/1.3.3/user_doc/quick-start.html" target="_self">Quick start</a></dd><dd><a href="/en-us/docs/development/backend-development.html" target="_self">Developer guide</a></dd></dl></div><div class="col col-6"><dl><dt>ASF</dt><dd><a href="http:/ [...]
+	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
+	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
+	<script>
+		window.rootPath = '';
+  </script>
+	<script src="/build/documentation.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/en-us/docs/community/release.json b/en-us/docs/community/release.json
new file mode 100644
index 0000000..6a1713c
--- /dev/null
+++ b/en-us/docs/community/release.json
@@ -0,0 +1,6 @@
+{
+  "filename": "release.md",
+  "__html": "<h2>GPG Settings</h2>\n<h3>Install GPG</h3>\n<p>Download installation package on <a href=\"https://www.gnupg.org/download/index.html\">official GnuPG website</a>.\nThe command of GnuPG 1.x version can differ a little from that of 2.x version.\nThe following instructions take <code>GnuPG-2.1.23</code> version for example.</p>\n<p>After the installation, execute the following command to check the version number.</p>\n<pre><code class=\"language-shell\">gpg --version\n</code></ [...]
+  "link": "/en-us/docs/community/release.html",
+  "meta": {}
+}
\ No newline at end of file
diff --git a/en-us/docs/community/security.html b/en-us/docs/community/security.html
index 13f8505..c42b7fd 100644
--- a/en-us/docs/community/security.html
+++ b/en-us/docs/community/security.html
@@ -14,7 +14,7 @@
 <body>
 	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant [...]
 <p>The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. Apache DolphinScheduler is also very concerned Security issues related to its features and functionality.</p>
-<p>If you have apprehensions regarding DolphinScheduler’s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at <a href="mailto:security@apache.org">security@apache.org</a>. Please specify the project name as DolphinScheduler and its product name DolphinScheduler or DolphinScheduler-Dashboard in the email and provide a description of the relevant problem or potential threat. You are also urged to rec [...]
+<p>If you have apprehensions regarding DolphinScheduler’s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at <a href="mailto:security@apache.org">security@apache.org</a>. Please specify the project name as DolphinScheduler in the email and provide a description of the relevant problem or potential threat. You are also urged to recommend the way to reproduce and replicate the issue. The apache secu [...]
 <p>Please pay attention to report the security issue on the security email before disclosing it on public domain.</p>
 </div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. 
 Incubation is required of all newly accepted projects until a further review indicates 
diff --git a/en-us/docs/community/security.json b/en-us/docs/community/security.json
index 9dc6d1d..fd889d1 100644
--- a/en-us/docs/community/security.json
+++ b/en-us/docs/community/security.json
@@ -1,6 +1,6 @@
 {
   "filename": "security.md",
-  "__html": "<h2>Security</h2>\n<p>The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. Apache DolphinScheduler is also very concerned Security issues related to its features and functionality.</p>\n<p>If you have apprehensions regarding DolphinScheduler’s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at <a href=\"mailto:security@apache. [...]
+  "__html": "<h2>Security</h2>\n<p>The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. Apache DolphinScheduler is also very concerned Security issues related to its features and functionality.</p>\n<p>If you have apprehensions regarding DolphinScheduler’s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at <a href=\"mailto:security@apache. [...]
   "link": "/en-us/docs/community/security.html",
   "meta": {}
 }
\ No newline at end of file