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 f7a29d2  Automated deployment: Tue Dec  3 03:56:07 UTC 2019 
9d4637886b8700678bb9a6f28177c2e9d327cb68
f7a29d2 is described below

commit f7a29d29252bf753c6e367f212bf9dd990ee22c5
Author: lenboo <len...@users.noreply.github.com>
AuthorDate: Tue Dec 3 03:56:08 2019 +0000

    Automated deployment: Tue Dec  3 03:56:07 UTC 2019 
9d4637886b8700678bb9a6f28177c2e9d327cb68
---
 build/blog.js                                | 12 ++++++------
 build/blogDetail.js                          | 12 ++++++------
 build/community.js                           | 12 ++++++------
 build/documentation.js                       | 10 +++++-----
 build/home.js                                | 12 ++++++------
 en-us/docs/user_doc/frontend-deployment.html | 19 +++++++++++++++----
 en-us/docs/user_doc/frontend-deployment.json |  2 +-
 zh-cn/docs/user_doc/frontend-deployment.html | 19 +++++++++++++++----
 zh-cn/docs/user_doc/frontend-deployment.json |  2 +-
 9 files changed, 61 insertions(+), 39 deletions(-)

diff --git a/build/blog.js b/build/blog.js
index b476c95..ebc25a5 100644
--- a/build/blog.js
+++ b/build/blog.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else 
if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var a={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(993)() [...]
+!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else 
if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var i={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var 
o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
+var 
o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,7 +16,7 @@ var 
o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof 
Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):6011
 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof 
Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011
 [...]
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -24,7 +24,7 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
a="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,a){"use strict";var 
i="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var
 n={};for(var r in 
e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return 
n},has:function(e,t){return"string"==typeof 
e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return 
e.toLowerCase()},major:function(e){/*!
+!function(o,i){"use strict";var 
a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var
 n={};for(var r in 
e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return 
n},has:function(e,t){return"string"==typeof 
e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return 
e.toLowerCase()},major:function(e){/*!
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -32,4 +32,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
a="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * 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,"")}},h={rgx:function(e,t){for(var
 n,r,o,a,i,c,s=0;s<t.length&&!i;){var 
l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof
 a&&a.length>0?2==a.length?"function"==typeof 
a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof
 a[1]||a[1].exec&&a[1].test?this[a [...]
\ 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,"")}},h={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/build/blogDetail.js b/build/blogDetail.js
index e6f6f3d..b62f217 100644
--- a/build/blogDetail.js
+++ b/build/blogDetail.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else 
if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var a={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(993)() [...]
+!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else 
if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var i={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var 
o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
+var 
o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,7 +16,7 @@ var 
o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof 
Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):6011
 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof 
Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011
 [...]
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -24,7 +24,7 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
a="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,a){"use strict";var 
i="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var
 n={};for(var r in 
e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return 
n},has:function(e,t){return"string"==typeof 
e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return 
e.toLowerCase()},major:function(e){/*!
+!function(o,i){"use strict";var 
a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var
 n={};for(var r in 
e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return 
n},has:function(e,t){return"string"==typeof 
e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return 
e.toLowerCase()},major:function(e){/*!
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -32,4 +32,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
a="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * 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,"")}},h={rgx:function(e,t){for(var
 n,r,o,a,i,c,s=0;s<t.length&&!i;){var 
l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof
 a&&a.length>0?2==a.length?"function"==typeof 
a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof
 a[1]||a[1].exec&&a[1].test?this[a [...]
\ 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,"")}},h={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/build/community.js b/build/community.js
index 209ee14..0305438 100644
--- a/build/community.js
+++ b/build/community.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else 
if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var a={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(993)() [...]
+!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else 
if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var i={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var 
o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
+var 
o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,7 +16,7 @@ var 
o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof 
Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):6011
 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof 
Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011
 [...]
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -24,7 +24,7 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
a="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,a){"use strict";var 
i="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var
 n={};for(var r in 
e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return 
n},has:function(e,t){return"string"==typeof 
e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return 
e.toLowerCase()},major:function(e){/*!
+!function(o,i){"use strict";var 
a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var
 n={};for(var r in 
e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return 
n},has:function(e,t){return"string"==typeof 
e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return 
e.toLowerCase()},major:function(e){/*!
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -32,4 +32,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
a="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * 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,"")}},h={rgx:function(e,t){for(var
 n,r,o,a,i,c,s=0;s<t.length&&!i;){var 
l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof
 a&&a.length>0?2==a.length?"function"==typeof 
a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof
 a[1]||a[1].exec&&a[1].test?this[a [...]
\ 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,"")}},h={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/build/documentation.js b/build/documentation.js
index b78800b..16ceb64 100644
--- a/build/documentation.js
+++ b/build/documentation.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else 
if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var i={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(993)() [...]
+!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else 
if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var i={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var 
o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
+var 
o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,7 +16,7 @@ var 
o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof 
Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011
 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof 
Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011
 [...]
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -32,4 +32,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
i="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * 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,"")}},h={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,"")}},h={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/build/home.js b/build/home.js
index e8221f5..2658b7a 100644
--- a/build/home.js
+++ b/build/home.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var 
o=n[r]={i:r,l:!1,exports:{}};return 
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var 
n={};t.m=e,t.c=n,t.i=function(e){return 
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
 n=e&&e.__esModule?function(){return e.default}:function(){return e};return 
t.d(n,"a",n),n},t.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else 
if("object"===o)for(var c in r)a.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var a={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(993)() [...]
+!function(){"use strict";function n(){for(var 
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof 
r;if("string"===o||"number"===o)e.push(r);else 
if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else 
if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" 
")}var i={}.hasOwnProperty;void 
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return 
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var 
o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
+var 
o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var
 e=new 
String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var
 
t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return
 t[e]}).join(""))return!1;var 
r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn
 [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,7 +16,7 @@ var 
o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof 
Symbol&&Symbol.for,i=a?Symbol.for("react.element"):60103,c=a?Symbol.for("react.portal"):60106,s=a?Symbol.for("react.fragment"):60107,l=a?Symbol.for("react.strict_mode"):60108,u=a?Symbol.for("react.profiler"):60114,f=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,d=a?Symbol.for("react.async_mode"):60111,h=a?Symbol.for("react.concurrent_mode"):60111,m=a?Symbol.for("react.forward_ref"):6011
 [...]
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof 
Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011
 [...]
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -24,7 +24,7 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
a="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,a){"use strict";var 
i="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var
 n={};for(var r in 
e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return 
n},has:function(e,t){return"string"==typeof 
e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return 
e.toLowerCase()},major:function(e){/*!
+!function(o,i){"use strict";var 
a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var
 n={};for(var r in 
e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return 
n},has:function(e,t){return"string"==typeof 
e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return 
e.toLowerCase()},major:function(e){/*!
  * UAParser.js v0.7.20
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
@@ -32,4 +32,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var 
a="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * 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,"")}},h={rgx:function(e,t){for(var
 n,r,o,a,i,c,s=0;s<t.length&&!i;){var 
l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof
 a&&a.length>0?2==a.length?"function"==typeof 
a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof
 a[1]||a[1].exec&&a[1].test?this[a [...]
\ 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,"")}},h={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/user_doc/frontend-deployment.html 
b/en-us/docs/user_doc/frontend-deployment.html
index aa27f75..725db32 100644
--- a/en-us/docs/user_doc/frontend-deployment.html
+++ b/en-us/docs/user_doc/frontend-deployment.html
@@ -16,8 +16,9 @@
 <p>The front-end has three deployment modes: automated deployment, manual 
deployment and compiled source deployment.</p>
 <h2>Preparations</h2>
 <h4>Download the installation package</h4>
-<p>Please download the latest version of the installation package, download 
address: <a 
href="https://github.com/apache/incubator-dolphinscheduler/releases";>github 
download</a></p>
-<p>After downloading dolphinscheduler-ui-x.x.x.tar.gz,decompress<code>tar 
-zxvf dolphinscheduler-ui-x.x.x.tar.gz ./</code>and enter 
the<code>dolphinscheduler-ui</code>directory</p>
+<p>Please download the latest version of the installation package, download 
address: <a 
href="https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler";>download</a></p>
+<p>After downloading 
apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz,
+decompress<code>tar -zxvf 
apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz 
./</code>and enter the<code>dolphinscheduler-ui</code>directory</p>
 <h2>Deployment</h2>
 <p>Automated deployment is recommended for either of the following two ways</p>
 <h3>Automated Deployment</h3>
@@ -34,8 +35,10 @@ esc_proxy_port=&quot;http://192.168.xx.xx:12345&quot;
 </blockquote>
 <p>under this directory, 
execute<code>./install-dolphinscheduler-ui.sh</code></p>
 <h3>Manual Deployment</h3>
-<p>Install epel source <code>yum install epel-release -y</code></p>
-<p>Install Nginx <code>yum install nginx -y</code></p>
+<p>You can choose one of the following two deployment methods, or you can 
choose other deployment methods according to your production environment.</p>
+<h4>nginx deployment</h4>
+<p>Option to install epel source <code>yum install epel-release -y</code></p>
+<p>Install Nginx by yourself, download it from the official website: <a 
href="http://nginx.org/en/download.html";>http://nginx.org/en/download.html</a> 
or <code>yum install nginx -y</code></p>
 <blockquote>
 <h4>Nginx configuration file address</h4>
 </blockquote>
@@ -93,6 +96,14 @@ esc_proxy_port=&quot;http://192.168.xx.xx:12345&quot;
 <p>status <code>systemctl status nginx</code></p>
 </li>
 </ul>
+<h4>jetty deployment</h4>
+<p>Enter the source package <code>dolphinscheduler-ui</code> directory and 
execute</p>
+<pre><code>npm run build:combined
+</code></pre>
+<p>Create the ui directory under the backend binary package directory</p>
+<p>Copy all files in the dolphinscheduler-ui/dist directory to the backend 
binary package ui directory</p>
+<p>Visit the following url, interface address (modify it yourself)
+<a 
href="http://192.168.xx.xx:12345/dolphinscheduler/ui/index.html";>http://192.168.xx.xx:12345/dolphinscheduler/ui/index.html</a></p>
 <h2>FAQ</h2>
 <h4>Upload file size limit</h4>
 <p>Edit the configuration file <code>vi /etc/nginx/nginx.conf</code></p>
diff --git a/en-us/docs/user_doc/frontend-deployment.json 
b/en-us/docs/user_doc/frontend-deployment.json
index cc12b4e..a390cad 100644
--- a/en-us/docs/user_doc/frontend-deployment.json
+++ b/en-us/docs/user_doc/frontend-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "frontend-deployment.md",
-  "__html": "<h1>frontend-deployment</h1>\n<p>The front-end has three 
deployment modes: automated deployment, manual deployment and compiled source 
deployment.</p>\n<h2>Preparations</h2>\n<h4>Download the installation 
package</h4>\n<p>Please download the latest version of the installation 
package, download address: <a 
href=\"https://github.com/apache/incubator-dolphinscheduler/releases\";>github 
download</a></p>\n<p>After downloading 
dolphinscheduler-ui-x.x.x.tar.gz,decompress<code>tar -z [...]
+  "__html": "<h1>frontend-deployment</h1>\n<p>The front-end has three 
deployment modes: automated deployment, manual deployment and compiled source 
deployment.</p>\n<h2>Preparations</h2>\n<h4>Download the installation 
package</h4>\n<p>Please download the latest version of the installation 
package, download address: <a 
href=\"https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler\";>download</a></p>\n<p>After
 downloading apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler- [...]
   "link": "/en-us/docs/user_doc/frontend-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/zh-cn/docs/user_doc/frontend-deployment.html 
b/zh-cn/docs/user_doc/frontend-deployment.html
index 29bd27d..75a897a 100644
--- a/zh-cn/docs/user_doc/frontend-deployment.html
+++ b/zh-cn/docs/user_doc/frontend-deployment.html
@@ -16,8 +16,9 @@
 <p>前端有3种部署方式,分别为自动化部署,手动部署和编译源码部署</p>
 <h2>1、准备工作</h2>
 <h4>下载安装包</h4>
-<p>请下载最新版本的安装包,下载地址: <a 
href="https://github.com/analysys/EasyScheduler/releases";>github下载</a></p>
-<p>下载 dolphinscheduler-ui-x.x.x.tar.gz 后,解压<code>tar -zxvf 
dolphinscheduler-ui-x.x.x.tar.gz 
./</code>后,进入<code>dolphinscheduler-ui</code>目录</p>
+<p>请下载最新版本的安装包,下载地址: <a 
href="https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler";>下载</a></p>
+<p>下载 
apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz 后,
+解压<code>tar -zxvf 
apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.g 
./</code>后,进入<code>dolphinscheduler-ui</code>目录</p>
 <h2>2、部署</h2>
 <p>以下两种方式任选其一部署即可,推荐自动化部署</p>
 <h3>2.1 自动化部署</h3>
@@ -34,8 +35,10 @@ esc_proxy_port=&quot;http://192.168.xx.xx:12345&quot;
 </blockquote>
 <p>在该目录下执行<code>./install-dolphinscheduler-ui.sh</code></p>
 <h3>2.2 手动部署</h3>
-<p>安装epel源 <code>yum install epel-release -y</code></p>
-<p>安装Nginx <code>yum install nginx -y</code></p>
+<p>以下两种部署方式任选其一即可,也可以根据自己生产环境情况自行选择其他方式部署</p>
+<h4>2.2.1 nginx方式部署</h4>
+<p>选装epel源 <code>yum install epel-release -y</code></p>
+<p>自行安装Nginx,去官网下载: <a 
href="http://nginx.org/en/download.html";>http://nginx.org/en/download.html</a>  
或者 <code>yum install nginx -y</code></p>
 <blockquote>
 <h4>nginx配置文件地址</h4>
 </blockquote>
@@ -93,6 +96,14 @@ esc_proxy_port=&quot;http://192.168.xx.xx:12345&quot;
 <p>状态 <code>systemctl status nginx</code></p>
 </li>
 </ul>
+<h4>2.2.2 jetty方式部署</h4>
+<p>在源码包<code>dolphinscheduler-ui</code>目录下执行</p>
+<pre><code>npm run build:combined
+</code></pre>
+<p>在后端二进制包目录下创建ui目录</p>
+<p>拷贝dolphinscheduler-ui/dist目录下所有的文件到后端二进制包ui目录下</p>
+<p>访问以下url,接口地址(自行修改)
+<a 
href="http://192.168.xx.xx:12345/dolphinscheduler/ui/index.html";>http://192.168.xx.xx:12345/dolphinscheduler/ui/index.html</a></p>
 <h2>前端常见问题</h2>
 <h4>1. 上传文件大小限制</h4>
 <p>编辑配置文件 <code>vi /etc/nginx/nginx.conf</code></p>
diff --git a/zh-cn/docs/user_doc/frontend-deployment.json 
b/zh-cn/docs/user_doc/frontend-deployment.json
index 47d88f7..021fe32 100644
--- a/zh-cn/docs/user_doc/frontend-deployment.json
+++ b/zh-cn/docs/user_doc/frontend-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "frontend-deployment.md",
-  "__html": 
"<h1>前端部署文档</h1>\n<p>前端有3种部署方式,分别为自动化部署,手动部署和编译源码部署</p>\n<h2>1、准备工作</h2>\n<h4>下载安装包</h4>\n<p>请下载最新版本的安装包,下载地址:
 <a 
href=\"https://github.com/analysys/EasyScheduler/releases\";>github下载</a></p>\n<p>下载
 dolphinscheduler-ui-x.x.x.tar.gz 后,解压<code>tar -zxvf 
dolphinscheduler-ui-x.x.x.tar.gz 
./</code>后,进入<code>dolphinscheduler-ui</code>目录</p>\n<h2>2、部署</h2>\n<p>以下两种方式任选其一部署即可,推荐自动化部署</p>\n<h3>2.1
 自动化部署</h3>\n<p>在<code>dolphinscheduler-ui</code>目录下编辑安装文件<code>vi 
install-dolphinschedule [...]
+  "__html": 
"<h1>前端部署文档</h1>\n<p>前端有3种部署方式,分别为自动化部署,手动部署和编译源码部署</p>\n<h2>1、准备工作</h2>\n<h4>下载安装包</h4>\n<p>请下载最新版本的安装包,下载地址:
 <a 
href=\"https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler\";>下载</a></p>\n<p>下载
 apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz 
后,\n解压<code>tar -zxvf 
apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.g 
./</code>后,进入<code>dolphinscheduler-ui</code>目录</p>\n<h2>2、部署</h2>\n<p>以下两种方式任选其一部署即可,推荐自动化部署</p>\n<h3
 [...]
   "link": "/zh-cn/docs/user_doc/frontend-deployment.html",
   "meta": {}
 }
\ No newline at end of file

Reply via email to