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 7692f61 Automated deployment: Tue Jul 14 14:16:29 UTC 2020
100318a688438fb72e14714b51b7750fd954a941
7692f61 is described below
commit 7692f618b27e8382f5c157da1cb71a4e0629f0f0
Author: dailidong <[email protected]>
AuthorDate: Tue Jul 14 14:16:29 2020 +0000
Automated deployment: Tue Jul 14 14:16:29 UTC 2020
100318a688438fb72e14714b51b7750fd954a941
---
build/documentation.js | 2 +-
en-us/docs/development/issue.html | 146 +++++++++++++++++++++++++++++
en-us/docs/development/issue.json | 6 ++
en-us/docs/development/pull-request.html | 85 +++++++++++++++++
en-us/docs/development/pull-request.json | 6 ++
zh-cn/docs/development/commit_message.html | 91 ++++++++++++++++++
zh-cn/docs/development/commit_message.json | 6 ++
zh-cn/docs/development/issue.html | 146 +++++++++++++++++++++++++++++
zh-cn/docs/development/issue.json | 6 ++
zh-cn/docs/development/pull-request.html | 87 +++++++++++++++++
zh-cn/docs/development/pull-request.json | 6 ++
11 files changed, 586 insertions(+), 1 deletion(-)
diff --git a/build/documentation.js b/build/documentation.js
index 98057e1..353cbd8 100644
--- a/build/documentation.js
+++ b/build/documentation.js
@@ -170,4 +170,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var
i="function"==typeof Symbol
* Copyright © 2012-2019 Faisal Salman <[email protected]>
* Licensed under MIT License
*/
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void
0},trim:function(e){return
e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var
n,r,o,i,a,c,s=0;s<t.length&&!a;){var
l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof
i&&i.length>0?2==i.length?"function"==typeof
i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof
i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void
0},trim:function(e){return
e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var
n,r,o,i,a,c,s=0;s<t.length&&!a;){var
l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof
i&&i.length>0?2==i.length?"function"==typeof
i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof
i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/en-us/docs/development/issue.html
b/en-us/docs/development/issue.html
new file mode 100644
index 0000000..9aea5be
--- /dev/null
+++ b/en-us/docs/development/issue.html
@@ -0,0 +1,146 @@
+<!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="issue" />
+ <meta name="description" content="issue" />
+ <!-- 网页标签标题 -->
+ <title>issue</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 [...]
+<p>Issues function is used to track various Features, Bugs, Functions, etc.
The project maintainer can organize the tasks to be completed through
issues.</p>
+<p>Issue is an important step in drawing out a feature or bug,
+and the contents that can be discussed in an issue are not limited to the
features, the causes of the existing bugs, the research on preliminary scheme,
and the corresponding implementation design and code design.</p>
+<p>And only when the Issue is approved, the corresponding Pull Request should
be implemented.</p>
+<p>If an issue corresponds to a large feature, it is recommended to divide it
into multiple small issues according to the functional modules and other
dimensions.</p>
+<h2>Specification</h2>
+<h3>Issue title</h3>
+<p>Title Format: [<code>Issue Type</code>][<code>Module Name</code>]
<code>Issue Description</code></p>
+<p>The <code>Issue Type</code> is as follows:</p>
+<table>
+ <thead>
+ <tr>
+ <th style="width: 10%; text-align: center;">Issue Type</th>
+ <th style="width: 20%; text-align: center;">Description</th>
+ <th style="width: 20%; text-align: center;">Example</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: center;">Feature</td>
+ <td style="text-align: center;">Include expected new features and
functions</td>
+ <td style="text-align: center;">[Feature][api] Add xxx api in xxx
controller</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Bug</td>
+ <td style="text-align: center;">Bugs in the program</td>
+ <td style="text-align: center;">[Bug][api] Throw exception when
xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Improvement</td>
+ <td style="text-align: center;">Some improvements of the current
program, not limited to code format, program performance, etc</td>
+ <td style="text-align: center;">[Improvement][server] Improve xxx
between Master and Worker</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Test</td>
+ <td style="text-align: center;">Specifically for the test case</td>
+ <td style="text-align: center;">[Test][server] Add xxx e2e
test</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Sub-Task</td>
+ <td style="text-align: center;">Those generally are subtasks of
feature class. For large features, they can be divided into many small subtasks
to complete one by one</td>
+ <td style="text-align: center;">[Sub-Task][server] Implement xxx
in xxx</td>
+ </tr>
+ </tbody>
+</table>
+<p>The <code>Module Name</code> is as follows:</p>
+<table>
+ <thead>
+ <tr>
+ <th style="width: 10%; text-align: center;">Module Name</th>
+ <th style="width: 20%; text-align: center;">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: center;">alert</td>
+ <td style="text-align: center;">Alert module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">api</td>
+ <td style="text-align: center;">Application program interface
layer module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">service</td>
+ <td style="text-align: center;">Application service layer
module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">dao</td>
+ <td style="text-align: center;">Application data access layer
module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">plugin</td>
+ <td style="text-align: center;">Plugin module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">remote</td>
+ <td style="text-align: center;">Communication module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">server</td>
+ <td style="text-align: center;">Server module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">ui</td>
+ <td style="text-align: center;">Front end module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">docs-zh</td>
+ <td style="text-align: center;">Chinese document module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">docs</td>
+ <td style="text-align: center;">English document module</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">...</td>
+ <td style="text-align: center;">-</td>
+ </tr>
+ </tbody>
+</table>
+<h3>Issue content template</h3>
+<p><a
href="https://github.com/apache/incubator-dolphinscheduler/tree/dev/.github/ISSUE_TEMPLATE">https://github.com/apache/incubator-dolphinscheduler/tree/dev/.github/ISSUE_TEMPLATE</a></p>
+<h3>Contributor</h3>
+<p>Except for some special cases, it is recommended to discuss under issue or
mailing list to determine the design scheme or provide the design scheme,
+as well as the code implementation design before completing the issue.</p>
+<p>If there are many different solutions, it is suggested to make a decision
through mailing list or voting under issue.
+The issue can be implemented after final scheme and code implementation design
being approved.
+The main purpose of this is to avoid wasting time caused by different opinions
on implementation design or reconstruction in the pull request review stage.</p>
+<h3>Question</h3>
+<ul>
+<li>
+<p>How to deal with the user who raises an issue does not know the module
corresponding to the issue.</p>
+<p>It is true that most users when raising issue do not know which module the
issue belongs to.
+In fact, this is very common in many open source communities. In this case,
the committer / contributor actually knows the module affected by the issue.
+If the issue is really valuable after being approved by committer and
contributor, then the committer can modify the issue title according to the
specific module involved in the issue,
+or leave a message to the user who raises the issue to modify it into the
corresponding title.</p>
+</li>
+</ul>
+</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.2.0/user_doc/quick-start.html" target="_self">Quick
start</a></dd><dd><a href="/en-us/docs/1.2.0/user_doc/backend-development.html"
target="_self">Developer guide</a></dd></dl></div><div class="col
col-6"><dl><dt>ASF</dt><dd><a href="htt [...]
+ <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/development/issue.json
b/en-us/docs/development/issue.json
new file mode 100644
index 0000000..b75bbce
--- /dev/null
+++ b/en-us/docs/development/issue.json
@@ -0,0 +1,6 @@
+{
+ "filename": "issue.md",
+ "__html": "<h2>Preface</h2>\n<p>Issues function is used to track various
Features, Bugs, Functions, etc. The project maintainer can organize the tasks
to be completed through issues.</p>\n<p>Issue is an important step in drawing
out a feature or bug,\nand the contents that can be discussed in an issue are
not limited to the features, the causes of the existing bugs, the research on
preliminary scheme, and the corresponding implementation design and code
design.</p>\n<p>And only when th [...]
+ "link": "/en-us/docs/development/issue.html",
+ "meta": {}
+}
\ No newline at end of file
diff --git a/en-us/docs/development/pull-request.html
b/en-us/docs/development/pull-request.html
new file mode 100644
index 0000000..97fa103
--- /dev/null
+++ b/en-us/docs/development/pull-request.html
@@ -0,0 +1,85 @@
+<!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="pull-request" />
+ <meta name="description" content="pull-request" />
+ <!-- 网页标签标题 -->
+ <title>pull-request</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 [...]
+<p>Pull Request is a way of software cooperation, which is a process of
bringing code involving different functions into the trunk. During this
process, the code can be discussed, reviewed, and modified.</p>
+<p>In Pull Request, we try not to discuss the implementation of the code. The
general implementation of the code and its logic should be determined in Issue.
In the Pull Request, we only focus on the code format and code specification,
so as to avoid wasting time caused by different opinions on implementation.</p>
+<h2>Specification</h2>
+<h3>Pull Request title</h3>
+<p>Title Format: [<code>Pull Request Type</code>-<code>Issue
No</code>][<code>Module Name</code>] <code>Pull Request Description</code></p>
+<p>The corresponding relationship between <code>Pull Request Type</code> and
<code>Issue Type</code> is as follows:</p>
+<table>
+ <thead>
+ <tr>
+ <th style="width: 10%; text-align: center;">Issue Type</th>
+ <th style="width: 20%; text-align: center;">Pull Request Type</th>
+ <th style="width: 20%; text-align: center;">Example(Suppose Issue
No is 3333)</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: center;">Feature</td>
+ <td style="text-align: center;">Feature</td>
+ <td style="text-align: center;">[Feature-3333][server] Implement
xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Bug</td>
+ <td style="text-align: center;">Fix</td>
+ <td style="text-align: center;">[Fix-3333][server] Fix xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Improvement</td>
+ <td style="text-align: center;">Improvement</td>
+ <td style="text-align: center;">[Improvement-3333][alert] Improve
the performance of xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Test</td>
+ <td style="text-align: center;">Test</td>
+ <td style="text-align: center;">[Test-3333][api] Add the e2e test
of xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Sub-Task</td>
+ <td style="text-align: center;">(Parent type corresponding to
Sub-Task)</td>
+ <td style="text-align: center;">[Feature-3333][server] Implement
xxx</td>
+ </tr>
+ </tbody>
+</table>
+<p><code>Issue No</code> refers to the Issue number corresponding to the
current Pull Request to be resolved, <code>Module Name</code> is the same as
the <code>Module Name</code> of Issue.</p>
+<h3>Pull Request content</h3>
+<p>Please refer to the commit message section.</p>
+<h3>Question</h3>
+<ul>
+<li>
+<p>How to deal with one Pull Request to many Issues scenario.</p>
+<p>First of all, there are fewer scenarios for one Pull Request to many Issues.
+The root cause is that multiple issues need to do the same thing.
+Usually, there are two solutions to this scenario: the first is to merge
multiple issues with into the same issue, and then close the other issues;
+the second is multiple issues have subtle differences.
+In this scenario, the responsibilities of each issue can be clearly divided.
The type of each issue is marked as Sub-Task, and then these sub task type
issues are associated with one issue.
+And each Pull Request is submitted should be associated with only one issue of
a sub task.</p>
+</li>
+</ul>
+</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.2.0/user_doc/quick-start.html" target="_self">Quick
start</a></dd><dd><a href="/en-us/docs/1.2.0/user_doc/backend-development.html"
target="_self">Developer guide</a></dd></dl></div><div class="col
col-6"><dl><dt>ASF</dt><dd><a href="htt [...]
+ <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/development/pull-request.json
b/en-us/docs/development/pull-request.json
new file mode 100644
index 0000000..10b7583
--- /dev/null
+++ b/en-us/docs/development/pull-request.json
@@ -0,0 +1,6 @@
+{
+ "filename": "pull-request.md",
+ "__html": "<h2>Preface</h2>\n<p>Pull Request is a way of software
cooperation, which is a process of bringing code involving different functions
into the trunk. During this process, the code can be discussed, reviewed, and
modified.</p>\n<p>In Pull Request, we try not to discuss the implementation of
the code. The general implementation of the code and its logic should be
determined in Issue. In the Pull Request, we only focus on the code format and
code specification, so as to avoid w [...]
+ "link": "/en-us/docs/development/pull-request.html",
+ "meta": {}
+}
\ No newline at end of file
diff --git a/zh-cn/docs/development/commit_message.html
b/zh-cn/docs/development/commit_message.html
new file mode 100644
index 0000000..c77822e
--- /dev/null
+++ b/zh-cn/docs/development/commit_message.html
@@ -0,0 +1,91 @@
+<!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="commit_message" />
+ <meta name="description" content="commit_message" />
+ <!-- 网页标签标题 -->
+ <title>commit_message</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="/zh-cn/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">En</span><div class="header-menu"><img
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul
class="ant-menu blackClass an [...]
+<h3>前言</h3>
+<p>一个好的 commit message
是能够帮助其他的开发者(或者未来的开发者)快速理解相关变更的上下文,同时也可以帮助项目管理人员确定该提交是否适合包含在发行版中。但当我们在查看了很多开源项目的
commit log 后,发现一个有趣的问题,一部分开发者,代码质量很不错,但是 commit message
记录却比较混乱,当其他贡献者或者学习者在查看代码的时候,并不能通过 commit log 很直观的了解
+该提交前后变更的目的,正如 Peter Hutterer 所言:Re-establishing the context of a piece of code
is wasteful. We can’t avoid it completely, so our efforts should go to reducing
it as much as possible. Commit messages can do exactly that and as a result, a
commit message shows whether a developer is a good collaborator.
因此,DolphinScheduler 结合其他社区以及 Apache 官方文档制定了该规约。</p>
+<h3>Commit Message RIP</h3>
+<h4>1:明确修改内容</h4>
+<p>commit message 应该明确说明该提交解决了哪些问题(bug
修复、功能增强等),以便于用户开发者更好的跟踪问题,明确版本迭代过程中的优化情况。</p>
+<h4>2:关联相应的Pull Request 或者Issue</h4>
+<p>当我们的改动较大的时候,commit message 最好能够关联 Github 上的相关 Issue 或者 Pull
Request,这样,我们的开发者在查阅代码的时候能够通过关联信息较为迅速的了解改代码提交的上下文情景,如果当前 commit 针对某个
issue,那么可以在 Footer 部分关闭这个 issue。</p>
+<h4>3:统一的格式</h4>
+<p>格式化后的 CommitMessage 能够帮助我们提供更多的历史信息,方便快速浏览,同时也可以直接从 commit 生成 Change
Log。</p>
+<p>Commit message 应该包括三个部分:Header,Body 和 Footer。其中,Header 是必需的,Body 和 Footer
可以省略。</p>
+<h5>header</h5>
+<p>Header 部分只有一行,包括三个字段:type(必需)、scope(可选)和 subject(必需)。</p>
+<p>[DS-ISSUE编号][type] subject</p>
+<p>(1) type 用于说明 commit 的类别,只允许使用下面7个标识。</p>
+<ul>
+<li>feat:新功能(feature)</li>
+<li>fix:修补bug</li>
+<li>docs:文档(documentation)</li>
+<li>style: 格式(不影响代码运行的变动)</li>
+<li>refactor:重构(即不是新增功能,也不是修改bug的代码变动)</li>
+<li>test:增加测试</li>
+<li>chore:构建过程或辅助工具的变动</li>
+</ul>
+<p>如果 type 为 feat 和 fix,则该 commit 将肯定出现在 Change log
之中。其他情况(docs、chore、style、refactor、test)建议不放入。</p>
+<p>(2)scope</p>
+<p>scope 用于说明 commit 影响的范围,比如 server、remote 等,如果没有更合适的范围,你可以用 *。</p>
+<p>(3) subject</p>
+<p>subject 是 commit 目的的简短描述,不超过50个字符。</p>
+<h5>Body</h5>
+<p>Body 部分是对本次 commit 的详细描述,可以分成多行,换行符将以72个字符换行,避免自动换行影响美观。</p>
+<p>Body 部分需要注意以下几点:</p>
+<ul>
+<li>
+<p>使用动宾结构,注意使用现在时,比如使用 change 而非 changed 或 changes</p>
+</li>
+<li>
+<p>首字母不要大写</p>
+</li>
+<li>
+<p>语句最后不需要 ‘.’ (句号) 结尾</p>
+</li>
+</ul>
+<h5>Footer</h5>
+<p>Footer只适用于两种情况</p>
+<p>(1) 不兼容变动</p>
+<p>如果当前代码与上一个版本不兼容,则 Footer 部分以 BREAKING CHANGE 开头,后面是对变动的描述、以及变动理由和迁移方法。</p>
+<p>(2) 关闭 Issue</p>
+<p>如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue,也可以一次关闭多个 issue 。</p>
+<h5>举个例子</h5>
+<p>[DS-001][docs-zh] add commit message</p>
+<ul>
+<li>commit message RIP</li>
+<li>build some conventions</li>
+<li>help the commit messages become clean and tidy</li>
+<li>help developers and release managers better track issues
+and clarify the optimization in the version iteration</li>
+</ul>
+<p>This closes #001</p>
+<h3>参考文档</h3>
+<p><a
href="https://cwiki.apache.org/confluence/display/GEODE/Commit+Message+Format">提交消息格式</a></p>
+<p><a href="http://who-t.blogspot.com/2009/12/on-commit-messages.html">On
commit messages-Peter Hutterer</a></p>
+<p><a href="https://mp.weixin.qq.com/s/LKM4IXAY-7dKhTzGu5-oug">RocketMQ
Community Operation Conventions</a></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
+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>文档</dt><dd><a
href="/zh-cn/docs/development/architecture-design.html"
target="_self">概览</a></dd><dd><a
href="/zh-cn/docs/1.2.0/user_doc/quick-start.html"
target="_self">快速开始</a></dd><dd><a
href="/zh-cn/docs/1.2.0/user_doc/backend-development.html"
target="_self">开发者指南</a></dd></dl></div><div class="col
col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache.org" target="_self" [...]
+ <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/zh-cn/docs/development/commit_message.json
b/zh-cn/docs/development/commit_message.json
new file mode 100644
index 0000000..1e3f277
--- /dev/null
+++ b/zh-cn/docs/development/commit_message.json
@@ -0,0 +1,6 @@
+{
+ "filename": "commit_message.md",
+ "__html":
"<h2>DolphinScheduler-Contributor-CommitMessage篇</h2>\n<h3>前言</h3>\n<p>一个好的
commit message
是能够帮助其他的开发者(或者未来的开发者)快速理解相关变更的上下文,同时也可以帮助项目管理人员确定该提交是否适合包含在发行版中。但当我们在查看了很多开源项目的
commit log 后,发现一个有趣的问题,一部分开发者,代码质量很不错,但是 commit message
记录却比较混乱,当其他贡献者或者学习者在查看代码的时候,并不能通过 commit log 很直观的了解\n该提交前后变更的目的,正如 Peter
Hutterer 所言:Re-establishing the context of a piece of code is wasteful. We
can’t avoid it completely, so our efforts should go to reducing it as much as
possible. Commit messages c [...]
+ "link": "/zh-cn/docs/development/commit_message.html",
+ "meta": {}
+}
\ No newline at end of file
diff --git a/zh-cn/docs/development/issue.html
b/zh-cn/docs/development/issue.html
new file mode 100644
index 0000000..a0e65fc
--- /dev/null
+++ b/zh-cn/docs/development/issue.html
@@ -0,0 +1,146 @@
+<!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="issue" />
+ <meta name="description" content="issue" />
+ <!-- 网页标签标题 -->
+ <title>issue</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="/zh-cn/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">En</span><div class="header-menu"><img
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul
class="ant-menu blackClass an [...]
+<p>Issues 功能被用来追踪各种特性,Bug,功能等。项目维护者可以通过 Issues 来组织需要完成的任务。</p>
+<p>Issue 是引出一个 Feature 或 Bug 等的重要步骤,在单个
+Issue 中可以讨论的内容包括但不限于 Feature 的包含的功能,存在的 Bug 产生原因,前期方案的调研,以及其对应的实现设计和代码思路。</p>
+<p>并且只有当 Issue 被 approve 之后才需要有对应的 Pull Request 去实现。</p>
+<p>如果是一个 Issue 对应的是一个大 Feature,建议先将其按照功能模块等维度分成多个小的 Issue。</p>
+<h2>规范</h2>
+<h3>Issue 标题</h3>
+<p>标题格式:[<code>Issue 类型</code>][<code>模块名</code>] <code>Issue 描述</code></p>
+<p>其中<code>Issue 类型</code>如下:</p>
+<table>
+ <thead>
+ <tr>
+ <th style="width: 10%; text-align: center;">Issue 类型</th>
+ <th style="width: 20%; text-align: center;">描述</th>
+ <th style="width: 20%; text-align: center;">样例</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: center;">Feature</td>
+ <td style="text-align: center;">包含所期望的新功能和新特性</td>
+ <td style="text-align: center;">[Feature][api] Add xxx api in xxx
controller</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Bug</td>
+ <td style="text-align: center;">程序中存在的 Bug</td>
+ <td style="text-align: center;">[Bug][api] Throw exception when
xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Improvement</td>
+ <td style="text-align: center;">针对目前程序的一些改进,不限于代码格式,程序性能等</td>
+ <td style="text-align: center;">[Improvement][server] Improve xxx
between Master and Worker</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Test</td>
+ <td style="text-align: center;">专门针对测试用例部分</td>
+ <td style="text-align: center;">[Test][server] Add xxx e2e
test</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Sub-Task</td>
+ <td style="text-align: center;">一般都是属于 Feature 类的子任务,针对大
Feature,可以将其分成很多个小的子任务来一一完成</td>
+ <td style="text-align: center;">[Sub-Task][server] Implement xxx
in xxx</td>
+ </tr>
+ </tbody>
+</table>
+<p>其中<code>模块名</code>如下:</p>
+<table>
+ <thead>
+ <tr>
+ <th style="width: 10%; text-align: center;">模块名</th>
+ <th style="width: 20%; text-align: center;">描述</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: center;">alert</td>
+ <td style="text-align: center;">报警模块</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">api</td>
+ <td style="text-align: center;">应用程序接口层模块</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">service</td>
+ <td style="text-align: center;">应用程序服务层模块</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">dao</td>
+ <td style="text-align: center;">应用程序数据访问层模块</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">plugin</td>
+ <td style="text-align: center;">插件模块</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">remote</td>
+ <td style="text-align: center;">通信模块</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">server</td>
+ <td style="text-align: center;">服务器模块</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">ui</td>
+ <td style="text-align: center;">前端界面模块</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">docs-zh</td>
+ <td style="text-align: center;">中文文档</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">docs</td>
+ <td style="text-align: center;">英文文档</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">待补充...</td>
+ <td style="text-align: center;">-</td>
+ </tr>
+ </tbody>
+</table>
+<h3>Issue 内容模板</h3>
+<p><a
href="https://github.com/apache/incubator-dolphinscheduler/tree/dev/.github/ISSUE_TEMPLATE">https://github.com/apache/incubator-dolphinscheduler/tree/dev/.github/ISSUE_TEMPLATE</a></p>
+<h3>Contributor</h3>
+<p>除一些特殊情况之外,在开始完成
+Issue 之前,建议先在 Issue 下或者邮件列表中和大家讨论确定设计方案或者提供设计方案,以及代码实现思路。</p>
+<p>如果存在多种不同的方案,建议通过邮件列表或者在
+Issue 下进行投票决定,最终方案和代码实现思路被
+approve 之后,再去实现,这样做的主要目的是避免在
+Pull Request review 阶段针对实现思路的意见不同或需要重构而导致 waste time。</p>
+<h3>相关问题</h3>
+<ul>
+<li>
+<p>当出现提出 Issue 的用户不清楚该 Issue 对应的模块时的处理方式。</p>
+<p>确实存在大多数提出 Issue 用户不清楚这个 Issue 是属于哪个模块的,其实这在很多开源社区都是很常见的。在这种情况下,其实
+committer/contributor 是知道这个 Issue 影响的模块的,如果之后这个 Issue 被 committer 和
contributor approve
+确实有价值,那么 committer 就可以按照 Issue 涉及到的具体的模块去修改 Issue 标题,或者留言给提出 Issue
的用户去修改成对应的标题。</p>
+</li>
+</ul>
+</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>文档</dt><dd><a
href="/zh-cn/docs/development/architecture-design.html"
target="_self">概览</a></dd><dd><a
href="/zh-cn/docs/1.2.0/user_doc/quick-start.html"
target="_self">快速开始</a></dd><dd><a
href="/zh-cn/docs/1.2.0/user_doc/backend-development.html"
target="_self">开发者指南</a></dd></dl></div><div class="col
col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache.org" target="_self" [...]
+ <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/zh-cn/docs/development/issue.json
b/zh-cn/docs/development/issue.json
new file mode 100644
index 0000000..61cd30f
--- /dev/null
+++ b/zh-cn/docs/development/issue.json
@@ -0,0 +1,6 @@
+{
+ "filename": "issue.md",
+ "__html": "<h2>前言</h2>\n<p>Issues 功能被用来追踪各种特性,Bug,功能等。项目维护者可以通过 Issues
来组织需要完成的任务。</p>\n<p>Issue 是引出一个 Feature 或 Bug 等的重要步骤,在单个\nIssue 中可以讨论的内容包括但不限于
Feature 的包含的功能,存在的 Bug 产生原因,前期方案的调研,以及其对应的实现设计和代码思路。</p>\n<p>并且只有当 Issue 被
approve 之后才需要有对应的 Pull Request 去实现。</p>\n<p>如果是一个 Issue 对应的是一个大
Feature,建议先将其按照功能模块等维度分成多个小的 Issue。</p>\n<h2>规范</h2>\n<h3>Issue
标题</h3>\n<p>标题格式:[<code>Issue 类型</code>][<code>模块名</code>] <code>Issue
描述</code></p>\n<p>其中<code>Issue 类型</code>如下:</p>\n<table>\n <th [...]
+ "link": "/zh-cn/docs/development/issue.html",
+ "meta": {}
+}
\ No newline at end of file
diff --git a/zh-cn/docs/development/pull-request.html
b/zh-cn/docs/development/pull-request.html
new file mode 100644
index 0000000..1c5685c
--- /dev/null
+++ b/zh-cn/docs/development/pull-request.html
@@ -0,0 +1,87 @@
+<!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="pull-request" />
+ <meta name="description" content="pull-request" />
+ <!-- 网页标签标题 -->
+ <title>pull-request</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="/zh-cn/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">En</span><div class="header-menu"><img
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul
class="ant-menu blackClass an [...]
+<p>Pull Request 本质上是一种软件的合作方式,是将涉及不同功能的代码,纳入主干的一种流程。这个过程中,可以进行讨论、审核和修改代码。</p>
+<p>在 Pull Request 中尽量不讨论代码的实现方案,代码及其逻辑的大体实现方案应该尽量在
+Issue 或者邮件列表中被讨论确定,在 Pull Request 中我们尽量只关注代码的格式以及代码规范等信息,从而避免实现方式的意见不同而导致
+waste time。</p>
+<h2>规范</h2>
+<h3>Pull Request 标题</h3>
+<p>标题格式:[<code>Pull Request 类型</code>-<code>Issue 号</code>][<code>模块名</code>]
<code>Pull Request 描述</code></p>
+<p>其中<code>Pull Request 类型</code>和<code>Issue 类型</code>的对应关系如下:</p>
+<table>
+ <thead>
+ <tr>
+ <th style="width: 10%; text-align: center;">Issue 类型</th>
+ <th style="width: 20%; text-align: center;">Pull Request 类型</th>
+ <th style="width: 20%; text-align: center;">样例(假设 Issue 号为
3333)</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: center;">Feature</td>
+ <td style="text-align: center;">Feature</td>
+ <td style="text-align: center;">[Feature-3333][server] Implement
xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Bug</td>
+ <td style="text-align: center;">Fix</td>
+ <td style="text-align: center;">[Fix-3333][server] Fix xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Improvement</td>
+ <td style="text-align: center;">Improvement</td>
+ <td style="text-align: center;">[Improvement-3333][alert] Improve
the performance of xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Test</td>
+ <td style="text-align: center;">Test</td>
+ <td style="text-align: center;">[Test-3333][api] Add the e2e test
of xxx</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;">Sub-Task</td>
+ <td style="text-align: center;">Sub-Task 对应的父类型</td>
+ <td style="text-align: center;">[Feature-3333][server] Implement
xxx</td>
+ </tr>
+ </tbody>
+</table>
+<p>其中 <code>Issue 号</code>是指当前 Pull Request 对应要解决的 Issue 号,<code>模块名</code>同
Issue 的模块名。</p>
+<h3>Pull Request 内容</h3>
+<p>请参阅到 commit message 篇。</p>
+<h3>相关问题</h3>
+<ul>
+<li>
+<p>怎样处理一个 Pull Request 对应多个 Issue 的场景。</p>
+<p>首先 Pull Request 和 Issue 一对多的场景是比较少的。Pull Request 和 Issue 一对多的根本原因就是出现了多个
+Issue 需要做大体相同的一件事情的场景,通常针对这种场景有两种解决方法:第一种就是把多个功能相同的 Issue 合并到同一个 Issue 上,然后把其他的
+Issue 进行关闭;第二种就是多个 Issue 大体上是在做一个功能,但是存在一些细微的差别,这类场景下可以把每个 Issue 的职责划分清楚,每一个
+Issue 的类型都标记为 Sub-Task,然后将这些 Sub-Task 类型的 Issue 关联到一个总 Issue 上,在提交
+Pull Request 时,每个 Pull Request 都只关联一个 Sub-Task 的 Issue。</p>
+<p>尽量把一个 Pull Request 作为最小粒度。如果一个 Pull Request 只做一件事,Contributor 容易完成,Pull
Request 影响的范围也会更加清晰,对 reviewer 的压力也会小。</p>
+</li>
+</ul>
+</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>文档</dt><dd><a
href="/zh-cn/docs/development/architecture-design.html"
target="_self">概览</a></dd><dd><a
href="/zh-cn/docs/1.2.0/user_doc/quick-start.html"
target="_self">快速开始</a></dd><dd><a
href="/zh-cn/docs/1.2.0/user_doc/backend-development.html"
target="_self">开发者指南</a></dd></dl></div><div class="col
col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache.org" target="_self" [...]
+ <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/zh-cn/docs/development/pull-request.json
b/zh-cn/docs/development/pull-request.json
new file mode 100644
index 0000000..22ce31d
--- /dev/null
+++ b/zh-cn/docs/development/pull-request.json
@@ -0,0 +1,6 @@
+{
+ "filename": "pull-request.md",
+ "__html": "<h2>前言</h2>\n<p>Pull Request
本质上是一种软件的合作方式,是将涉及不同功能的代码,纳入主干的一种流程。这个过程中,可以进行讨论、审核和修改代码。</p>\n<p>在 Pull
Request 中尽量不讨论代码的实现方案,代码及其逻辑的大体实现方案应该尽量在\nIssue 或者邮件列表中被讨论确定,在 Pull Request
中我们尽量只关注代码的格式以及代码规范等信息,从而避免实现方式的意见不同而导致\nwaste time。</p>\n<h2>规范</h2>\n<h3>Pull
Request 标题</h3>\n<p>标题格式:[<code>Pull Request 类型</code>-<code>Issue
号</code>][<code>模块名</code>] <code>Pull Request 描述</code></p>\n<p>其中<code>Pull
Request 类型</code>和<code>Issue 类型</code>的对应关系如下:</p>\n<table>\n <thead>\n
[...]
+ "link": "/zh-cn/docs/development/pull-request.html",
+ "meta": {}
+}
\ No newline at end of file