=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},i=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,p=e.originalType,c=e.parentName,i=o(e,["components","mdxType","originalType","parentName"]),m=s(r),d=a,k=m["".concat(c,".").concat(d)]||m[d]||u[d]||p;return r?n.createElement(k,l(l({ref:t},i),{},{components:r})):n.createElement(k,l({ref:t},i))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var p=r.length,l=new Array(p);l[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>p,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const p={sidebar_position:11},l="\u8bbf\u95ee\u7edf\u8ba1",o={unversionedId:"usage",id:"version-v8/usage",title:"\u8bbf\u95ee\u7edf\u8ba1",description:"\u89c6\u9891\u6559\u7a0b",source:"@site/versioned_docs/version-v8/usage.md",sourceDirName:".",slug:"/usage",permalink:"/docs/docs/usage",draft:!1,editUrl:"https://github.com/cskefu/docs/tree/main/packages/create-docusaurus/templates/shared/versioned_docs/version-v8/usage.md",tags:[],version:"v8",sidebarPosition:11,frontMatter:{sidebar_position:11},sidebar:"tutorialSidebar",previous:{title:"\u4f1a\u8bdd\u5386\u53f2",permalink:"/docs/docs/reports"},next:{title:"\u670d\u52a1\u6c34\u5e73\u534f\u8bae",permalink:"/docs/docs/sla"}},c={},s=[{value:"\u89c6\u9891\u6559\u7a0b",id:"\u89c6\u9891\u6559\u7a0b",level:2},{value:"\u83b7\u5f97\u767e\u5ea6\u7edf\u8ba1 Key",id:"\u83b7\u5f97\u767e\u5ea6\u7edf\u8ba1-key",level:2},{value:"\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf",id:"\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf",level:2},{value:"\u62a5\u544a",id:"\u62a5\u544a",level:2},{value:"\u6ce8\u610f\u4e8b\u9879",id:"\u6ce8\u610f\u4e8b\u9879",level:2}],i={toc:s};function u(e){let{components:t,...p}=e;return(0,a.kt)("wrapper",(0,n.Z)({},i,p,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"\u8bbf\u95ee\u7edf\u8ba1"},"\u8bbf\u95ee\u7edf\u8ba1"),(0,a.kt)("h2",{id:"\u89c6\u9891\u6559\u7a0b"},"\u89c6\u9891\u6559\u7a0b"),(0,a.kt)("p",null,"\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5b8c\u6210\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u73af\u5883\u7684\u642d\u5efa\uff0c",(0,a.kt)("strong",{parentName:"p"},"\u9762\u5411\u4f01\u4e1a/\u5f00\u53d1\u8005\u63d0\u4f9b\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u4e8c\u6b21\u5f00\u53d1\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u4ece\u5165\u95e8\u5230\u638c\u63e1\u5168\u90e8\u5f00\u53d1\u6280\u80fd\u8bf7\u5b66\u4e60",(0,a.kt)("a",{parentName:"strong",href:"https://docs.cskefu.com/docs/osc/training"},"\u300a\u6625\u677e\u5ba2\u670d\u5927\u8bb2\u5802\u300b")),"\u3002"),(0,a.kt)("p",null,"\u9875\u9762\u7edf\u8ba1\u662f\u9488\u5bf9\u5750\u5e2d\u63a7\u5236\u53f0\u7684 Web \u9875\u9762\u7684\u4f7f\u7528\u60c5\u51b5\u8fdb\u884c\u7edf\u8ba1\uff0c\u6309\u7167\u9875\u9762\u6253\u5f00\u6b21\u6570\u3001\u767b\u5f55\u5730\u5740\u548c\u5165\u53e3\u9875\u9762\u7b49\u5185\u5bb9\u8fdb\u884c\u8ba1\u6570\u3002\u76ee\u524d\u53ea\u652f\u6301\u63a5\u5165",(0,a.kt)("a",{parentName:"p",href:"https://tongji.baidu.com/"},"\u767e\u5ea6\u7edf\u8ba1"),"\uff0c\u8bf7\u6ce8\u518c\u767e\u5ea6\u7edf\u8ba1\u5e10\u53f7\u3010\u767e\u5ea6\u7edf\u8ba1-\u7ad9\u957f\u7248\u3011\u4f7f\u7528\u3002"),(0,a.kt)("h2",{id:"\u83b7\u5f97\u767e\u5ea6\u7edf\u8ba1-key"},"\u83b7\u5f97\u767e\u5ea6\u7edf\u8ba1 Key"),(0,a.kt)("p",null,"\u767b\u5f55\uff0c\u65b0\u589e\u7f51\u7ad9\uff0c",(0,a.kt)("a",{parentName:"p",href:"https://tongji.baidu.com/"},"https://tongji.baidu.com/")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u65b0\u589e\u7f51\u7ad9",src:r(12976).Z,width:"867",height:"747"})),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"\u7f51\u7ad9\u57df\u540d\uff1a\u6625\u677e\u5ba2\u670d\u7cfb\u7edf\u57df\u540d\uff0c\u5fc5\u987b\u662f\u4f60\u5b89\u88c5\u7684\u5b9e\u9645\u5730\u5740\uff08\u5047\u8bbe\u4f60\u5b89\u88c5\u5728 cc.example.com\uff0c\u5219\u586b\u5199 cc.example.com\uff09")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"\u7f51\u7ad9\u9996\u9875\uff1a\u6625\u677e\u5ba2\u670d\u9996\u9875 (",(0,a.kt)("a",{parentName:"p",href:"https://cc.example.com"},"https://cc.example.com"),")"))),(0,a.kt)("p",null,"\u62f7\u8d1d ",(0,a.kt)("inlineCode",{parentName:"p"},"YOUR_SITE_KEY"),": ",(0,a.kt)("strong",{parentName:"p"},"\u767b\u5f55 -> \u7ba1\u7406 -> \u65b0\u589e\u7f51\u7ad9 -> \u4ee3\u7801\u83b7\u53d6 -> \u62f7\u8d1d SiteKey"),"\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-\u8bf4\u660e"},'hm.src = "https://hm.baidu.com/hm.js?YOUR_SITE_KEY";\n')),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u7edf\u8ba1\u4ee3\u7801\u83b7\u53d6",src:r(28102).Z,width:"800",height:"654"})),(0,a.kt)("p",null,"\u5f97\u5230",(0,a.kt)("inlineCode",{parentName:"p"},"YOUR_SITE_KEY"),"\u540e\u7ee7\u7eed",(0,a.kt)("inlineCode",{parentName:"p"},"\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf"),"\u3002"),(0,a.kt)("h2",{id:"\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf"},"\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf"),(0,a.kt)("p",null,"\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf ",(0,a.kt)("inlineCode",{parentName:"p"},"TONGJI_BAIDU_SITEKEY"),"\uff0c\u53ef\u4ee5\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},".env")," \u6587\u4ef6\u6216 ",(0,a.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," \u6587\u4ef6\u4e2d\u6dfb\u52a0\uff0c\u53c2\u8003\u90e8\u7f72\u6587\u6863\uff1a"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://docs.chatopera.com/products/cskefu/deploy.html"},"https://docs.chatopera.com/products/cskefu/deploy.html")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-\u73af\u5883\u53d8\u91cf"},"TONGJI_BAIDU_SITEKEY=YOUR_SITE_KEY\n")),(0,a.kt)("p",null,"\u793a\u4f8b"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-\u73af\u5883\u53d8\u91cf"},"TONGJI_BAIDU_SITEKEY=585cbac007x12es81b517031e9ec29c56e\n")),(0,a.kt)("p",null,"\u91cd\u542f\u670d\u52a1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-Bash"},"docker-compose restart contact-center\n")),(0,a.kt)("p",null,"\u91cd\u542f\u5b8c\u6210\u540e\uff0c\u56de\u5230\u767e\u5ea6\u7edf\u8ba1\u7ad9\u70b9\uff0c\u5728\u7f51\u7ad9\u680f\u5185\uff0c\u70b9\u51fb\uff1a",(0,a.kt)("strong",{parentName:"p"},"\u4ee3\u7801\u5b89\u88c5\u68c0\u67e5"),"\uff0c\u4ee3\u7801\u68c0\u67e5\u6210\u529f\u8868\u793a\u5b89\u88c5\u6210\u529f\uff1b\u6ce8\u610f\u7f51\u7ad9\u57df\u540d\u7b49\u4e00\u81f4\uff0c\u6570\u636e\u6536\u96c6\u6709\u5ef6\u8fdf\u3002"),(0,a.kt)("h2",{id:"\u62a5\u544a"},"\u62a5\u544a"),(0,a.kt)("p",null,"\u8fdb\u5165\u767e\u5ea6\u7edf\u8ba1\u4e3b\u9875\uff0c\u9009\u62e9\u7ad9\u70b9\u201c\u67e5\u770b\u62a5\u544a\u201d"),(0,a.kt)("p",null,"\u793a\u4f8b\uff1a"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"\u793a\u4f8b\u4ee3\u7801",src:r(76240).Z,width:"1042",height:"794"})),(0,a.kt)("h2",{id:"\u6ce8\u610f\u4e8b\u9879"},"\u6ce8\u610f\u4e8b\u9879"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"\u8be5\u529f\u80fd\u5f00\u53d1\u8005/\u4f01\u4e1a\u81ea\u884c\u8bbe\u7f6e")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"\u5f00\u6e90\u4ee3\u7801\u4e2d\u6ca1\u6709\u540e\u95e8\u3001\u8ffd\u8e2a\u7a0b\u5e8f\u3001\u7edf\u8ba1\u7b49")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"\u4e0d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u4e0d\u8fdb\u884c\u7edf\u8ba1\uff0c\u8be5\u7edf\u8ba1\u62a5\u544a\u53ea\u5f00\u53d1\u8005/\u4f01\u4e1a\u5728\u767e\u5ea6\u7f51\u7ad9\u5185\u80fd\u67e5\u770b")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"\u5f00\u53d1\u8005/\u4f01\u4e1a\u81ea\u884c\u8861\u91cf\u548c\u4fdd\u62a4\u767e\u5ea6\u7edf\u8ba1\u8d26\u53f7\uff0c\u56e0\u767e\u5ea6\u8d26\u53f7\u6cc4\u6f0f\u7b49\u539f\u56e0\u9020\u6210\u4f01\u4e1a/\u5f00\u53d1\u8005\u8d22\u4ea7\u635f\u5931\uff0c\u6625\u677e\u5ba2\u670d\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\uff0c\u89c1",(0,a.kt)("a",{parentName:"p",href:"https://docs.chatopera.com/products/cskefu/sla.html"},"\u670d\u52a1\u6c34\u5e73\u534f\u8bae"),"\u3002"))))}u.isMDXComponent=!0},12976:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/g23-3fc4c0402cc615cbf22163a400ae2015.jpg"},76240:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/g24-49176c6f5cbefbe1e05f7f7368a78033.jpg"},28102:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/g25-bde15c7ecbb90af09c1ed9594b4f38da.jpg"}}]);
\ No newline at end of file
diff --git a/assets/js/6840706a.27779748.js b/assets/js/6840706a.27779748.js
new file mode 100644
index 00000000..a86ef103
--- /dev/null
+++ b/assets/js/6840706a.27779748.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkcskefu_docs=self.webpackChunkcskefu_docs||[]).push([[5667],{3905:(e,t,n)=>{n.d(t,{Zo:()=>i,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),s=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},i=function(e){var t=s(e.components);return a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,i=p(e,["components","mdxType","originalType","parentName"]),d=s(n),k=r,m=d["".concat(l,".").concat(k)]||d[k]||u[k]||o;return n?a.createElement(m,c(c({ref:t},i),{},{components:n})):a.createElement(m,c({ref:t},i))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=d;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p.mdxType="string"==typeof e?e:r,c[1]=p;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>p,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));const o={sidebar_position:5},c="\u7cfb\u7edf\u7ef4\u62a4",p={unversionedId:"osc/maintainence",id:"version-v8/osc/maintainence",title:"\u7cfb\u7edf\u7ef4\u62a4",description:"\u89c6\u9891\u6559\u7a0b",source:"@site/versioned_docs/version-v8/osc/maintainence.md",sourceDirName:"osc",slug:"/osc/maintainence",permalink:"/docs/docs/osc/maintainence",draft:!1,editUrl:"https://github.com/cskefu/docs/tree/main/packages/create-docusaurus/templates/shared/versioned_docs/version-v8/osc/maintainence.md",tags:[],version:"v8",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"IDE \u4f7f\u7528\u4e4b Visual Studio Code",permalink:"/docs/docs/osc/ide_vscode"},next:{title:"REST APIs",permalink:"/docs/docs/osc/restapi"}},l={},s=[{value:"\u89c6\u9891\u6559\u7a0b",id:"\u89c6\u9891\u6559\u7a0b",level:2},{value:"\u6ce8\u610f\u4e8b\u9879\u53ca\u5b98\u65b9\u58f0\u660e",id:"\u6ce8\u610f\u4e8b\u9879\u53ca\u5b98\u65b9\u58f0\u660e",level:2},{value:"\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u7248\u672c\u53f7",id:"\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u7248\u672c\u53f7",level:2},{value:"\u7cfb\u7edf\u5907\u4efd",id:"\u7cfb\u7edf\u5907\u4efd",level:2},{value:"\u8bbe\u7f6e\u7248\u672c\u53f7\u5230\u914d\u7f6e\u6587\u4ef6",id:"\u8bbe\u7f6e\u7248\u672c\u53f7\u5230\u914d\u7f6e\u6587\u4ef6",level:3},{value:"\u8fd0\u884c\u811a\u672c",id:"\u8fd0\u884c\u811a\u672c",level:3},{value:"\u7cfb\u7edf\u5347\u7ea7",id:"\u7cfb\u7edf\u5347\u7ea7",level:2},{value:"\u7cfb\u7edf\u5907\u4efd",id:"\u7cfb\u7edf\u5907\u4efd-1",level:3},{value:"\u83b7\u53d6\u6700\u65b0\u7684\u6625\u677e\u5ba2\u670d\u7248\u672c",id:"\u83b7\u53d6\u6700\u65b0\u7684\u6625\u677e\u5ba2\u670d\u7248\u672c",level:3},{value:"\u56de\u6eda\u5230\u7cfb\u7edf\u5907\u4efd",id:"\u56de\u6eda\u5230\u7cfb\u7edf\u5907\u4efd",level:2},{value:"\u4e0b\u4e00\u6b65",id:"\u4e0b\u4e00\u6b65",level:2}],i={toc:s};function u(e){let{components:t,...o}=e;return(0,r.kt)("wrapper",(0,a.Z)({},i,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"\u7cfb\u7edf\u7ef4\u62a4"},"\u7cfb\u7edf\u7ef4\u62a4"),(0,r.kt)("h2",{id:"\u89c6\u9891\u6559\u7a0b"},"\u89c6\u9891\u6559\u7a0b"),(0,r.kt)("p",null,"\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5b8c\u6210\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u73af\u5883\u7684\u642d\u5efa\uff0c",(0,r.kt)("strong",{parentName:"p"},"\u9762\u5411\u4f01\u4e1a/\u5f00\u53d1\u8005\u63d0\u4f9b\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u4e8c\u6b21\u5f00\u53d1\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u4ece\u5165\u95e8\u5230\u638c\u63e1\u5168\u90e8\u5f00\u53d1\u6280\u80fd\u8bf7\u5b66\u4e60",(0,r.kt)("a",{parentName:"strong",href:"https://docs.cskefu.com/docs/osc/training"},"\u300a\u6625\u677e\u5ba2\u670d\u5927\u8bb2\u5802\u300b")),"\u3002"),(0,r.kt)("p",null,"\u4ee5\u4e0b\u6587\u6863\u57fa\u4e8e",(0,r.kt)("a",{parentName:"p",href:"https://docs.cskefu.com/docs/deploy/"},"\u300a\u6625\u677e\u5ba2\u670d\u79c1\u6709\u90e8\u7f72\u300b"),"\u6587\u6863\u90e8\u7f72\u7684\u6848\u4f8b\uff0c\u8fdb\u884c\u8fd0\u7ef4\u7ba1\u7406\u3002"),(0,r.kt)("p",null,"\u5047\u8bbe\u6625\u677e\u5ba2\u670d\u90e8\u7f72\u76ee\u5f55\u4e3a\uff1a",(0,r.kt)("em",{parentName:"p"},"ROOT_PATH/cskefu.osc"),"\u3002\u4ee5\u4e0b\u811a\u672c\u5047\u8bbe\u90e8\u7f72\u670d\u52a1\u5668\u4e3a Linux \u6216\u5305\u542b Bash \u73af\u5883\u7684 Windows \u670d\u52a1\u5668\uff0c\u4f7f\u7528 Bash Shell \u8fd0\u884c\u811a\u672c\u3002"),(0,r.kt)("h2",{id:"\u6ce8\u610f\u4e8b\u9879\u53ca\u5b98\u65b9\u58f0\u660e"},"\u6ce8\u610f\u4e8b\u9879\u53ca\u5b98\u65b9\u58f0\u660e"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\uff01\uff01\uff01 \u5982\u679c\u60a8\u5728\u4f7f\u7528\u5176\u5b83\u90e8\u7f72\u65b9\u6848\uff0c\u6216\u8005\u5728\u5b98\u65b9\u57fa\u7840\u4e0a\u66f4\u65b0\u8fc7\u6625\u677e\u5ba2\u670d\u7684\u6e90\u4ee3\u7801\uff0c\u4ee5\u4e0b\u6587\u6863\u5e76\u4e0d\u4e00\u5b9a\u9002\u7528\u3002")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u8fd0\u7ef4\u9700\u8c28\u614e\uff0c\u5c3d\u91cf\u4e86\u89e3\u6bcf\u4e2a\u6b65\u9aa4\u7684\u76ee\u7684\u548c\u7ed3\u679c\uff0c\u5728\u64cd\u4f5c\u524d\uff0c\u5982\u679c\u4f7f\u7528\u865a\u62df\u5316\u73af\u5883\uff0c\u8bf7\u7ed9\u670d\u52a1\u5668\u505a\u5feb\u7167\uff01\uff01\uff01")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u4f5c\u4e3a\u4e00\u4e2a\u7ed9\u5f00\u53d1\u8005\u793e\u533a\u63d0\u4f9b\u7684\u7ef4\u62a4\u6587\u6863\uff0c\u6211\u4eec\u7684\u7ef4\u62a4\u6307\u5357\u4e0d\u627f\u62c5\u6cd5\u5f8b\u8d23\u4efb\uff0c\u4e0d\u627f\u62c5\u7ecf\u6d4e\u8d23\u4efb\u3002\u5982\u9700\u8981\u4e13\u4e1a\u7684\u5546\u4e1a\u652f\u6301\uff0c\u8bf7\u8054\u7cfb",(0,r.kt)("a",{parentName:"strong",href:"https://www.chatopera.com/mail.html"},"\u6625\u677e\u5ba2\u670d\u5b98\u65b9\u56e2\u961f"),"\u3002")),(0,r.kt)("h2",{id:"\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u7248\u672c\u53f7"},"\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u7248\u672c\u53f7"),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"ROOT_PATH/cskefu.osc/.env"),"(\u4ee5\u4e0b\u7b80\u79f0 ",(0,r.kt)("em",{parentName:"p"},".env"),") \u6587\u4ef6\u4f5c\u4e3a\u914d\u7f6e\u6625\u677e\u5ba2\u670d\u7248\u672c\u548c\u73af\u5883\u53d8\u91cf\u7684\u6587\u4ef6\uff0c\u4e5f\u8bb0\u5f55\u7740 Docker \u542f\u52a8\u6625\u677e\u5ba2\u670d\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8be5\u6587\u4ef6\u5728",(0,r.kt)("a",{parentName:"p",href:"/products/cskefu/deploy.html"},"\u90e8\u7f72\u9636\u6bb5"),"\u521b\u5efa\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-\u6587\u672c"},"CC_IMAGE=chatopera/contact-center:develop\n")),(0,r.kt)("p",null,"\u5728\u5f00\u6e90\u7248\u672c\u4e2d\uff0c\u955c\u50cf\u7684\u540d\u5b57\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"chatopera/contact-center"),"\uff0c\u9ed8\u8ba4\u7684\u7248\u672c\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"develop"),"\uff0c\u6240\u6709\u53ef\u9009\u7684\u7248\u672c\u5728 ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/chatopera/cskefu/commits/osc"},"GitHub")," \u4e2d\u53ef\u4ee5\u6d4f\u89c8\u5230\uff1a"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"\u7248\u672c\u7ba1\u7406",src:n(65539).Z,width:"1604",height:"936"})),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/chatopera/cskefu/commits/osc"},"https://github.com/chatopera/cskefu/commits/osc")),(0,r.kt)("p",null,"\u4e3a\u4e86\u65b9\u4fbf\u7ba1\u7406\uff0c\u6625\u677e\u5ba2\u670d Git Commit Short ID \u4e5f\u662f\u6625\u677e\u5ba2\u670d Docker \u955c\u50cf\u7684 Tag\uff0c\u4e5f\u5e38\u7528 Docker \u955c\u50cf\u7248\u672c\u53f7\u6765\u6307\u4ee3\u3002",(0,r.kt)("strong",{parentName:"p"},"\u5728 GitHub")," Commit \u5386\u53f2\u4e2d\uff0c\u6709\u5bf9\u53f7\u7684\u7248\u672c\u5c31\u662f\u5b8c\u6210\u4e86\u5bf9\u5e94\u7684 Docker \u955c\u50cf\u53d1\u5e03\u7684\u7248\u672c\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"develop")," \u6807\u7b7e\u5c31\u662f\u5df2\u7ecf\u53d1\u5e03\u7684\u6700\u8fd1\u7684\u7248\u672c\u3002"),(0,r.kt)("p",null,"\u6bd4\u5982\uff0c\u5728\u4e0a\u56fe\u4e2d\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"chatopera/contact-center:develop")," \u5c31\u4ee3\u8868 ",(0,r.kt)("inlineCode",{parentName:"p"},"chatopera/contact-center:4b70d05"),"\u3002",(0,r.kt)("inlineCode",{parentName:"p"},"chatopera/contact-center:develop")," \u5bf9\u5e94\u7684 Docker \u5bb9\u5668\u4f1a\u53d8\u5316\uff0c\u4f46\u662f\u7528 Commit Short ID \u7684\u7248\u672c\u53f7\u5bf9\u5e94\u7684\u5bb9\u5668\u548c\u4ee3\u7801\u4e00\u4e00\u5bf9\u5e94\uff0c\u662f\u4e0d\u53d8\u7684\u3002"),(0,r.kt)("p",null,"\u5728\u6625\u677e\u5ba2\u670d\u5b9e\u4f8b\u4e2d\uff0c\u4e5f\u53ef\u4ee5\u5f97\u5230\u7248\u672c\u4fe1\u606f\u3002\u4f5c\u4e3a\u6625\u677e\u5ba2\u670d\u7cfb\u7edf\u7528\u6237\u767b\u5f55\uff0c\u5e76\u5728\u53f3\u4e0a\u89d2\u7528\u6237\u540d\u4e0b\u62c9\u83dc\u5355\u4e2d\uff0c\u6253\u5f00\u3010\u5173\u4e8e\u4ea7\u54c1\u3011\u3002"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"\u67e5\u770b\u7248\u672c\u4fe1\u606f",src:n(15166).Z,width:"1414",height:"614"})),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"build")," \u7684\u6700\u540e\u51e0\u4f4d\u5b57\u7b26\u4e32\u5c31\u662f\u7248\u672c\u53f7\u3002"),(0,r.kt)("h2",{id:"\u7cfb\u7edf\u5907\u4efd"},"\u7cfb\u7edf\u5907\u4efd"),(0,r.kt)("h3",{id:"\u8bbe\u7f6e\u7248\u672c\u53f7\u5230\u914d\u7f6e\u6587\u4ef6"},"\u8bbe\u7f6e\u7248\u672c\u53f7\u5230\u914d\u7f6e\u6587\u4ef6"),(0,r.kt)("p",null,"\u8bbe\u7f6e\u6625\u677e\u5ba2\u670d\u5bb9\u5668\u7248\u672c\u5230 .env\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-Bash"},"cd ROOT_PATH/cskefu.osc\nvi .env # \u4f7f\u7528\u6587\u672c\u7f16\u8f91\u5668\u7f16\u8f91\n")),(0,r.kt)("p",null,"\u627e\u5230\u4fee\u6539\u6216\u6dfb\u52a0"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-\u6587\u672c"},"CC_IMAGE=chatopera/contact-center:YOUR_VERSION\n")),(0,r.kt)("p",null,"\u5c06 ",(0,r.kt)("inlineCode",{parentName:"p"},"YOUR_VERSION")," \u66ff\u6362\u4e3a\u6625\u677e\u5ba2\u670d\u7248\u672c\u53f7\uff0c\u6b64\u5904\u4e0d\u8981\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"develop"),"\uff0c\u800c\u5fc5\u987b\u662f Git Commit Short ID\uff0c\u539f\u56e0\u89c1\u4e0a\u6587\u3002"),(0,r.kt)("h3",{id:"\u8fd0\u884c\u811a\u672c"},"\u8fd0\u884c\u811a\u672c"),(0,r.kt)("p",null,"\u4f5c\u4e3a\u5907\u4efd\u7684\u6587\u4ef6\uff0c\u662f\u548c\u6625\u677e\u5ba2\u670d Docker \u5bb9\u5668\u7248\u672c\u7ed1\u5b9a\u7684\uff0c\u5728\u5b8c\u6210\u4e86\u4ee5\u4e0a\u6b65\u9aa4\u540e\uff0c\u6267\u884c\u4e0b\u9762\u7684\u811a\u672c\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-Bash"},"TIMESTAMP=$(date +%Y%m%d_%H%M)\ncd ROOT_PATH/cskefu.osc\ndocker-compose down # \u505c\u6b62\u670d\u52a1\ncd ../ # \u6765\u5230\u7236\u7ea7\u76ee\u5f55\ntar czfp cskefu.osc.$TIMESTAMP.tgz cskefu.osc # \u6253\u5305\u5907\u4efd\n")),(0,r.kt)("p",null,"\u5176\u4e2d\uff0ctar \u547d\u4ee4\u6267\u884c\u4e86\u5c06\u5e94\u7528\u6587\u4ef6\u5939\u5f52\u6863\u4e3a\u3010\u4fdd\u7559\u6587\u4ef6\u8bbf\u95ee\u6743\u9650\u3011\u7684\u538b\u7f29\u5305\u3002"),(0,r.kt)("h2",{id:"\u7cfb\u7edf\u5347\u7ea7"},"\u7cfb\u7edf\u5347\u7ea7"),(0,r.kt)("p",null,"\u57fa\u4e8e Docker \u5bb9\u5668\u7684\u7cfb\u7edf\u5347\u7ea7\uff0c\u8fc7\u7a0b\u4e5f\u5f88\u7b80\u5355\uff0c\u56e0\u4e3a\u6625\u677e\u5ba2\u670d\u53d1\u5e03\u7684\u7248\u672c\u4e2d\uff0c\u6bcf\u6b21\u91cd\u542f\uff0c\u90fd\u4f1a\u6821\u9a8c\u6570\u636e\u5e93\u7684\u7248\u672c\u5339\u914d\uff0c\u81ea\u52a8\u7ef4\u62a4\u6570\u636e\u5e93\u7684\u8868\u7ed3\u6784\uff0c\u6bd4\u5982\u65b0\u7248\u672c\u4e2d\u589e\u52a0\u4e86\u5b57\u6bb5\u3001\u5220\u9664\u4e86\u5b57\u6bb5\u7b49\uff0c\u90fd\u4f1a\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u4e5f\u662f Chatopera \u56e2\u961f\u63a8\u8350\u5f00\u53d1\u8005/\u4f01\u4e1a\u4f7f\u7528\u6625\u677e\u5ba2\u670d\u5b98\u65b9\u955c\u50cf\u7684\u4e3b\u8981\u539f\u56e0\uff1a\u90e8\u7f72\u3001\u8fd0\u7ef4\u66f4\u7b80\u5355\u3002"),(0,r.kt)("h3",{id:"\u7cfb\u7edf\u5907\u4efd-1"},"\u7cfb\u7edf\u5907\u4efd"),(0,r.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u5347\u7ea7\u4e3a\u3010\u5c31\u5730\u5347\u7ea7/ In Place Upgrade\u3011\uff0c\u9996\u5148\u6309\u7167\u7cfb\u7edf\u5907\u4efd\u8fc7\u7a0b\u5907\u4efd\uff0c\u4ee5\u9632\u5347\u7ea7\u540e\u9047\u5230\u95ee\u9898\u65e0\u6cd5\u56de\u9000\u3002"),(0,r.kt)("h3",{id:"\u83b7\u53d6\u6700\u65b0\u7684\u6625\u677e\u5ba2\u670d\u7248\u672c"},"\u83b7\u53d6\u6700\u65b0\u7684\u6625\u677e\u5ba2\u670d\u7248\u672c"),(0,r.kt)("p",null,"\u53c2\u8003\u524d\u6587\u3010\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u7248\u672c\u53f7\u3011\u83b7\u5f97\u6625\u677e\u5ba2\u670d\u6700\u65b0\u7684\u7248\u672c\u4fe1\u606f\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-Bash"},"cd ROOT_PATH/cskefu.osc\ndocker-compose down # \u505c\u6b62\u670d\u52a1\nvi .env # \u6253\u5f00\u914d\u7f6e\u6587\u4ef6\n")),(0,r.kt)("p",null,"\u627e\u5230\u4fee\u6539\u6216\u6dfb\u52a0"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-\u6587\u672c"},"CC_IMAGE=chatopera/contact-center:YOUR_VERSION\n")),(0,r.kt)("p",null,"\u5c06 ",(0,r.kt)("inlineCode",{parentName:"p"},"YOUR_VERSION")," \u66ff\u6362\u4e3a\u6625\u677e\u5ba2\u670d\u65b0\u7684\u7248\u672c\u53f7\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-Bash"},"cd ROOT_PATH/cskefu.osc\ndocker-compose up -d # \u91cd\u542f\u670d\u52a1\uff0c\u6b64\u65f6\uff0cdocker \u4f1a\u81ea\u52a8\u62c9\u53d6\u65b0\u7248\u672c\u7684\u955c\u50cf\n")),(0,r.kt)("h2",{id:"\u56de\u6eda\u5230\u7cfb\u7edf\u5907\u4efd"},"\u56de\u6eda\u5230\u7cfb\u7edf\u5907\u4efd"),(0,r.kt)("p",null,"\u5047\u8bbe\u5907\u4efd\u6587\u4ef6\u538b\u7f29\u5305\u7684\u4f4d\u7f6e\u662f\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"/root/cskefu.osc.202107001.tgz"),"\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-Bash"},"cd ROOT_PATH/cskefu.osc\ndocker-compose down\ncd ..\nmv cskefu.osc cskefu.osc.backup # \u5c06\u5f53\u524d\u7684\u6587\u4ef6\u5b58\u653e\u5728\u4e34\u65f6\u4f4d\u7f6e\uff08\u4e07\u4e00\u8fd8\u4f1a\u7528\u5230\uff0c\u53ea\u662f\u4ee5\u9632\u6709\u53ef\u80fd\u7528\u5230\uff09\ntar xzfp /root/cskefu.osc.202107001.tgz # \u5907\u4efd\u6587\u4ef6\u88ab\u89e3\u538b\u5230 ROOT_PATH/cskefu.osc\ncd ROOT_PATH/cskefu.osc\ndocker-compose up -d # \u542f\u52a8\u670d\u52a1\ndocker-compose logs -f contact-center # \u67e5\u770b\u65e5\u5fd7\n")),(0,r.kt)("p",null,"\u5728\u6625\u677e\u5ba2\u670d\u8fd0\u884c\u540e\uff0c\u5728\u6d4f\u89c8\u5668\u5185\u8bbf\u95ee\u5e76\u9a8c\u8bc1\u670d\u52a1\u6b63\u5e38\u3002\u5347\u7ea7\u5b8c\u6bd5\u3002\n\u5f53\u7cfb\u7edf\u53ef\u4ee5\u7a33\u5b9a\u8fd0\u884c\uff0c\u6bd4\u5982 2 \u4e2a\u6708\uff0c\u518d\u914c\u60c5\u5220\u9664 ",(0,r.kt)("inlineCode",{parentName:"p"},"cskefu.osc.backup"),"\u3002"),(0,r.kt)("h2",{id:"\u4e0b\u4e00\u6b65"},"\u4e0b\u4e00\u6b65"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://ke.qq.com/webcourse/index.html#cid=464050&term_id=100555327&taid=4785516986176690&type=1024&vid=5285890796447482734"},"\u642d\u5efa\u6625\u677e\u5ba2\u670d\u6027\u80fd\u76d1\u63a7\u670d\u52a1\uff08\u4ed8\u8d39\u89c6\u9891\uff09"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"/products/cskefu/osc/engineering.html"},"\u642d\u5efa\u5f00\u53d1\u73af\u5883")))))}u.isMDXComponent=!0},65539:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/screenshot-20210720-135039-f9482067599b2cf51893bcd199cbfeaf.png"},15166:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/screenshot-20210720-135924-01f24426bb2860d242043e830d437b7e.png"}}]);
\ No newline at end of file
diff --git a/assets/js/715c4002.69655d4f.js b/assets/js/715c4002.69655d4f.js
new file mode 100644
index 00000000..6f975357
--- /dev/null
+++ b/assets/js/715c4002.69655d4f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkcskefu_docs=self.webpackChunkcskefu_docs||[]).push([[3681],{3905:(e,t,A)=>{A.d(t,{Zo:()=>p,kt:()=>d});var n=A(67294);function l(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function i(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function r(e){for(var t=1;t=0||(l[A]=e[A]);return l}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(l[A]=e[A])}return l}var a=n.createContext({}),o=function(e){var t=n.useContext(a),A=t;return e&&(A="function"==typeof e?e(t):r(r({},t),e)),A},p=function(e){var t=o(e.components);return n.createElement(a.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var A=e.components,l=e.mdxType,i=e.originalType,a=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),c=o(A),d=l,k=c["".concat(a,".").concat(d)]||c[d]||u[d]||i;return A?n.createElement(k,r(r({ref:t},p),{},{components:A})):n.createElement(k,r({ref:t},p))}));function d(e,t){var A=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var i=A.length,r=new Array(i);r[0]=c;var s={};for(var a in t)hasOwnProperty.call(t,a)&&(s[a]=t[a]);s.originalType=e,s.mdxType="string"==typeof e?e:l,r[1]=s;for(var o=2;o{A.r(t),A.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>o});var n=A(87462),l=(A(67294),A(3905));const i={sidebar_position:3},r="\u63d0\u4ea4\u4ee3\u7801",s={unversionedId:"osc/contribution",id:"version-v8/osc/contribution",title:"\u63d0\u4ea4\u4ee3\u7801",description:"\u672c\u6587\u6863\u7684\u4f5c\u7528\uff1a\u8be6\u7ec6\u7684\u8bf4\u660e\u5982\u4f55\u63d0\u4ea4\u4ee3\u7801\u5230\u6625\u677e\u5ba2\u670d\u3002",source:"@site/versioned_docs/version-v8/osc/contribution.md",sourceDirName:"osc",slug:"/osc/contribution",permalink:"/docs/docs/osc/contribution",draft:!1,editUrl:"https://github.com/cskefu/docs/tree/main/packages/create-docusaurus/templates/shared/versioned_docs/version-v8/osc/contribution.md",tags:[],version:"v8",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"\u5b9a\u5236\u5f00\u53d1\u6559\u7a0b",permalink:"/docs/docs/osc/training"},next:{title:"\u5f00\u53d1\u73af\u5883\u642d\u5efa",permalink:"/docs/docs/osc/engineering"}},a={},o=[{value:"\u6210\u4e3a\u5f00\u53d1\u8005\u6211\u5f97\u5230\u4ec0\u4e48",id:"\u6210\u4e3a\u5f00\u53d1\u8005\u6211\u5f97\u5230\u4ec0\u4e48",level:2},{value:"\u89c6\u9891\u6559\u7a0b",id:"\u89c6\u9891\u6559\u7a0b",level:2},{value:"\u524d\u63d0\u51c6\u5907",id:"\u524d\u63d0\u51c6\u5907",level:2},{value:"Bash \u547d\u4ee4\u884c\u7ec8\u7aef",id:"bash-\u547d\u4ee4\u884c\u7ec8\u7aef",level:3},{value:"Git",id:"git",level:3},{value:"Git Flow",id:"git-flow",level:3},{value:"SSH Keys",id:"ssh-keys",level:3},{value:"GitHub",id:"github",level:3},{value:"\u5feb\u901f\u638c\u63e1",id:"\u5feb\u901f\u638c\u63e1",level:2},{value:"\u6d41\u7a0b\u6982\u8ff0",id:"\u6d41\u7a0b\u6982\u8ff0",level:3},{value:"1/15 Fork code repo",id:"115-fork-code-repo",level:3},{value:"2/15 Clone code repo",id:"215-clone-code-repo",level:3},{value:"3/15 New local branch",id:"315-new-local-branch",level:3},{value:"4/15 Commit sign-off codes",id:"415-commit-sign-off-codes",level:3},{value:"5/15 Git flow publish",id:"515-git-flow-publish",level:3},{value:"6/15 Open new PR",id:"615-open-new-pr",level:3},{value:"7/15 Set PR settings",id:"715-set-pr-settings",level:3},{value:"8/15 Checks on PR",id:"815-checks-on-pr",level:3},{value:"9/15 Code reviews",id:"915-code-reviews",level:3},{value:"10/15 Modify codes",id:"1015-modify-codes",level:3},{value:"11/15 Re-push codes",id:"1115-re-push-codes",level:3},{value:"12/15 Checks on PR",id:"1215-checks-on-pr",level:3},{value:"13/15 Code reviews again",id:"1315-code-reviews-again",level:3},{value:"14/15 PR merged",id:"1415-pr-merged",level:3},{value:"15/15 Pull to local",id:"1515-pull-to-local",level:3},{value:"\u5e38\u89c1\u95ee\u9898",id:"\u5e38\u89c1\u95ee\u9898",level:2},{value:"\u5982\u4f55\u786e\u5b9a\u5de5\u4f5c\u7684 Issue",id:"\u5982\u4f55\u786e\u5b9a\u5de5\u4f5c\u7684-issue",level:3},{value:"\u5982\u4f55\u642d\u5efa\u5f00\u53d1\u73af\u5883",id:"\u5982\u4f55\u642d\u5efa\u5f00\u53d1\u73af\u5883",level:3},{value:"\u5982\u4f55\u5feb\u901f\u5165\u95e8\u5b9a\u5236\u6625\u677e\u5ba2\u670d",id:"\u5982\u4f55\u5feb\u901f\u5165\u95e8\u5b9a\u5236\u6625\u677e\u5ba2\u670d",level:3},{value:"\u5982\u4f55\u5feb\u901f\u638c\u63e1 Git",id:"\u5982\u4f55\u5feb\u901f\u638c\u63e1-git",level:3},{value:"\u5982\u4f55\u6210\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u53d1\u8005",id:"\u5982\u4f55\u6210\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u53d1\u8005",level:3}],p={toc:o};function u(e){let{components:t,...i}=e;return(0,l.kt)("wrapper",(0,n.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"\u63d0\u4ea4\u4ee3\u7801"},"\u63d0\u4ea4\u4ee3\u7801"),(0,l.kt)("p",null,"\u672c\u6587\u6863\u7684\u4f5c\u7528\uff1a\u8be6\u7ec6\u7684\u8bf4\u660e\u5982\u4f55\u63d0\u4ea4\u4ee3\u7801\u5230\u6625\u677e\u5ba2\u670d\u3002"),(0,l.kt)("h2",{id:"\u6210\u4e3a\u5f00\u53d1\u8005\u6211\u5f97\u5230\u4ec0\u4e48"},"\u6210\u4e3a\u5f00\u53d1\u8005\u6211\u5f97\u5230\u4ec0\u4e48"),(0,l.kt)("p",null,"\u624b\u91cc\u6ca1\u6709\u51e0\u767e\u4e07\uff0c\u4f5c\u4e3a\u5f00\u53d1\u8005\uff0c\u60a8\u5982\u4f55\u62e5\u6709\u4e00\u4e2a\u8f6f\u4ef6\u4ea7\u54c1\u5462\uff1f\u53c2\u4e0e\u5f00\u6e90\u9879\u76ee\u534f\u4f5c\u3002\u53c2\u4e0e\u8fed\u4ee3\u6625\u677e\u5ba2\u670d\uff0c\u6210\u4e3a",(0,l.kt)("a",{parentName:"p",href:"https://www.cskefu.com/core-developers/"},"\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005"),"\uff0c\u5c31\u662f\u548c\u4f17\u591a\u6709\u624d\u534e\u7684\u4eba\u4e00\u9053\uff0c\u505a\u597d\u5f00\u6e90\u5ba2\u670d\u7cfb\u7edf\uff0c\u8ba9\u60a8\u7684\u6f5c\u80fd\u81ea\u7531\u7684\u53d1\u6325\uff0c\u5728\u6625\u677e\u5ba2\u670d\u793e\u533a\uff0c\u60a8\u53ef\u4ee5\u83b7\u5f97\u6210\u5c31\u3001\u670b\u53cb\u7b49\u5f88\u591a\u8d22\u5bcc\u3002"),(0,l.kt)("p",null,"\u4f5c\u4e3a\u4e00\u4e2a\u5f00\u53d1\u8005\uff0c\u52a0\u5165\u6625\u677e\u5ba2\u670d\u5f00\u6e90\u793e\u533a\u5c31\u662f\u548c\u5f88\u591a\u70ed\u7231\u8f6f\u4ef6\u7814\u53d1\u7684\u4eba\u4e00\u8d77\u505a\u6709\u7ecf\u6d4e\u4ef7\u503c\u7684\u4f5c\u54c1\uff0c\u6625\u677e\u5ba2\u670d\u662f\u5f00\u653e\u578b\u7ec4\u7ec7\uff0c\u6625\u677e\u5ba2\u670d\u6280\u672f\u59d4\u5458\u4f1a\u4e3b\u5bfc\u793e\u533a\u53d1\u5c55\uff0c\u5e76\u4ee5",(0,l.kt)("a",{parentName:"p",href:"https://www.cskefu.com/profit-sharing-plans/"},"\u5206\u6da6\u7684\u5f62\u5f0f"),"\u5408\u4f5c\u5171\u8d62\uff01\u901a\u8fc7\u793e\u533a\u9ad8\u6548\u7387\u7684\u534f\u4f5c\u4f53\u7cfb\uff0c\u8ba9\u60a8\u5728\u5de5\u4f5c\u4e4b\u4f59\uff0c\u5229\u7528\u7a7a\u95f2\u65f6\u95f4\u4ea7\u751f\u66f4\u5927\u7684\u4ef7\u503c - \u63d0\u4ea4 PR \u5230\u6625\u677e\u5ba2\u670d\uff0c\u5728\u5f00\u6e90\u793e\u533a\u626e\u6f14\u5173\u952e\u89d2\u8272\uff01"),(0,l.kt)("p",null,"\u672c\u6587\u64b0\u5199\u7684\u4e3b\u8981\u76ee\u7684\uff0c\u5c31\u662f\u5e2e\u52a9\u60a8\u5feb\u901f\u7684\u638c\u63e1\u5982\u4f55\u63d0\u4ea4 PR",(0,l.kt)("sup",{parentName:"p",id:"fnref-what-is-pr"},(0,l.kt)("a",{parentName:"sup",href:"#fn-what-is-pr",className:"footnote-ref"},"what-is-pr"))," \u5230\u6625\u677e\u5ba2\u670d\u3002"),(0,l.kt)("h2",{id:"\u89c6\u9891\u6559\u7a0b"},"\u89c6\u9891\u6559\u7a0b"),(0,l.kt)("p",null,"\u4ee5\u4e0b\u5185\u5bb9\u5df2\u7ecf\u53d1\u5e03\u89c6\u9891\uff0c\u89c2\u770b\u5730\u5740\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://www.bilibili.com/video/BV1D8411q73M"},"Bilibili")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=lYCdIgxXUSE"},"YouTube"))),(0,l.kt)("p",null,"\u89c6\u9891\u548c\u4ee5\u4e0b\u6587\u6863\u7ed3\u5408\uff0c\u53ef\u4ee5\u66f4\u5feb\u7684\u638c\u63e1\u63d0\u4ea4\u4ee3\u7801\u7684\u8fc7\u7a0b\uff0c\u5efa\u8bae\u5148\u770b\u89c6\u9891\u540e\u770b\u6587\u6863\u3002"),(0,l.kt)("h2",{id:"\u524d\u63d0\u51c6\u5907"},"\u524d\u63d0\u51c6\u5907"),(0,l.kt)("p",null,"\u6309\u7167\u4ee5\u4e0b\u987a\u5e8f\u5b89\u88c5\u4f9d\u8d56\u5de5\u5177\uff0c\u8fd9\u4e9b\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\uff0cGit Flow \u7684\u5b89\u88c5\u7a0d\u663e\u9ebb\u70e6\uff0c\u4f46\u662f Git Flow \u662f\u5fc5\u8981\u7684\uff0c\u5f53\u60a8\u9047\u5230\u95ee\u9898\uff0c\u53ef\u4ee5\u521b\u5efa ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/issues/new?labels=help-wanted&projects=&template=1_help.md"},"Issue \u6765\u53d6\u5f97\u5e2e\u52a9"),"\u3002"),(0,l.kt)("h3",{id:"bash-\u547d\u4ee4\u884c\u7ec8\u7aef"},"Bash \u547d\u4ee4\u884c\u7ec8\u7aef"),(0,l.kt)("p",null,"\u547d\u4ee4\u884c\u7ec8\u7aef\u63a8\u8350\u5b89\u88c5\u5982\u4e0b\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Windows: ",(0,l.kt)("a",{parentName:"li",href:"https://gitforwindows.org/"},"Git Bash")),(0,l.kt)("li",{parentName:"ul"},"Mac: ",(0,l.kt)("a",{parentName:"li",href:"https://iterm2.com/"},"iTerm2")),(0,l.kt)("li",{parentName:"ul"},"Linux: \u4e0d\u540c Linux \u53d1\u5e03\u7684\u9ed8\u8ba4\u7684\u63a7\u5236\u53f0\u5de5\u5177\u5373\u53ef")),(0,l.kt)("p",null,"\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684 Bash \u7ec8\u7aef\u5176\u547d\u4ee4\u884c\u5de5\u5177\u90fd\u662f\u7c7b\u4f3c\u7684\uff0c\u4e0b\u6587\u4f7f\u7528\u7684\u547d\u4ee4\u4e5f\u662f\u901a\u7528\u7684\uff0c\u4e0b\u6587\u4ee5 Windows Git Bash \u4e3a\u4f8b\u3002"),(0,l.kt)("h3",{id:"git"},"Git"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Windows: ",(0,l.kt)("a",{parentName:"li",href:"https://gitforwindows.org/"},"Git Bash")),(0,l.kt)("li",{parentName:"ul"},"Mac \u548c Linux: ",(0,l.kt)("a",{parentName:"li",href:"https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git"},"\u5b89\u88c5 Git"))),(0,l.kt)("p",null,"\u5b8c\u6210\u4ee5\u4e0a\u5de5\u4f5c\uff0c\u60a8\u5c31\u53ef\u4ee5\u6253\u5f00\u547d\u4ee4\u884c\u7ec8\u7aef\uff0c\u5e76\u6267\u884c\u547d\u4ee4\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(52750).Z,width:"1308",height:"407"})),(0,l.kt)("h3",{id:"git-flow"},"Git Flow"),(0,l.kt)("p",null,"Git Flow \u662f\u4f7f\u7528 Git \u505a\u7814\u53d1\u8f6f\u4ef6\u534f\u4f5c\u7684\u8865\u5145\u5de5\u5177\u96c6\uff0c\u63d0\u4f9b\u5728 Git \u547d\u4ee4\u57fa\u7840\u4e0a\u7684",(0,l.kt)("a",{parentName:"p",href:"https://blog.csdn.net/Xue_zenghui/article/details/95212544"},"\u6700\u4f73\u5b9e\u8df5"),"\u3002\u4e0b\u6587\u5c06\u4f7f\u7528 Git Flow \u7b80\u5355\u9ad8\u6548\u7684\u5b8c\u6210 PR \u63d0\u4ea4\u7684\u6d41\u7a0b\u3002"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Windows: ",(0,l.kt)("a",{parentName:"li",href:"https://www.jianshu.com/p/8a804d8bf08b"},"\u5b89\u88c5 Git Flow")),(0,l.kt)("li",{parentName:"ul"},"macOS: ",(0,l.kt)("a",{parentName:"li",href:"https://juejin.cn/post/7057102433704476708"},"\u5b89\u88c5 Git Flow")),(0,l.kt)("li",{parentName:"ul"},"Linux: ",(0,l.kt)("a",{parentName:"li",href:"https://blog.csdn.net/u012336923/article/details/50425879"},"\u5b89\u88c5 Git Flow"))),(0,l.kt)("p",null,"\u5b89\u88c5\u597d Git Flow \u540e\uff0c\u901a\u8fc7\u547d\u4ee4\u884c ",(0,l.kt)("inlineCode",{parentName:"p"},"git flow")," \u6765\u4f7f\u7528\uff0c\u4e0d\u5f71\u54cd\u5176\u5b83\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"git")," \u547d\u4ee4\u3002"),(0,l.kt)("h3",{id:"ssh-keys"},"SSH Keys"),(0,l.kt)("p",null,"\u751f\u6210 SSH \u5bc6\u94a5\u6587\u4ef6\uff0c\u7528\u4e8e\u52a0\u5bc6\u8ba4\u8bc1\uff0c\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"git")," \u4e0b\u8f7d\u4e0a\u4f20\u4ee3\u7801\u3002\u5982\u679c\u60a8\u5df2\u7ecf\u6709\u4e86 SSH Keys \u672c\u6b65\u9aa4\u53ef\u4ee5\u8df3\u8fc7\uff0c\u5373:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"$HOME/.ssh/id_rsa $HOME/.ssh/id_rsa.pub\n")),(0,l.kt)("p",null,"\u5176\u4e2d\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"$HOME/.ssh/id_rsa ")," \u662f\u79c1\u94a5\u6587\u4ef6\uff0c\u60a8\u81ea\u5df1\u4fdd\u7559\uff0c\u4e0d\u8981\u516c\u5f00\u5171\u4eab\uff1b",(0,l.kt)("inlineCode",{parentName:"p"},"$HOME/.ssh/id_rsa.pub")," \u662f\u516c\u94a5\uff0c\u53ef\u4ee5\u516c\u5f00\u5171\u4eab\u3002"),(0,l.kt)("p",null,"\u751f\u6210 SSH Keys \u6267\u884c\u547d\u4ee4\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"ssh-keygen -t rsa # \u5f39\u51fa\u9009\u9879\u90fd\u6309 Enter\n")),(0,l.kt)("p",null,"\u786e\u8ba4\uff0c\u7cfb\u7edf\u8def\u5f84\u5b58\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"$HOME/.ssh/id_rsa.pub"),"\uff0c\u6267\u884c\u547d\u4ee4\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"cat $HOME/.ssh/id_rsa.pub\n")),(0,l.kt)("h3",{id:"github"},"GitHub"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u6ce8\u518c GitHub \u8d26\u53f7\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/"},"https://github.com/")),(0,l.kt)("li",{parentName:"ul"},"\u6dfb\u52a0 SSH Keys: \u6ce8\u518c\u5b8c\u6210\u540e\uff0c\u6253\u5f00 URL ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/settings/keys"},"https://github.com/settings/keys"),"\uff0c\u70b9\u51fb ",(0,l.kt)("inlineCode",{parentName:"li"},"New SSH Key"))),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(21039).Z,width:"965",height:"428"})),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u6dfb\u52a0 Title \u548c Key\uff0c\u5373 SSH \u516c\u94a5\u3002")),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(57775).Z,width:"1327",height:"708"})),(0,l.kt)("h2",{id:"\u5feb\u901f\u638c\u63e1"},"\u5feb\u901f\u638c\u63e1"),(0,l.kt)("h3",{id:"\u6d41\u7a0b\u6982\u8ff0"},"\u6d41\u7a0b\u6982\u8ff0"),(0,l.kt)("p",null,"\u6574\u4e2a\u63d0\u4ea4 PR \u7684\u8fc7\u7a0b\u53ef\u4ee5\u7528\u4ee5\u4e0b\u65f6\u5e8f\u56fe\u8bf4\u660e\uff0c\u6211\u4eec\u5c06\u8fd9\u4e2a\u8fc7\u7a0b\u7ec6\u5316\u4e3a\u5341\u4e94\u6b65\uff0c\u5b9e\u9645\u4e0a\u5f88\u7b80\u5355\uff0c\u53ea\u9700\u8981\u6309\u7167\u63cf\u8ff0\u5b8c\u6210\u4e00\u6b21\uff0c\u5c31\u53ef\u4ee5\u638c\u63e1\uff0c\u800c\u4e14\u9664\u4e86\u7b2c\u4e00\u4e2a PR\uff0c\u540e\u9762\u7684 PR \u53ea\u9700\u8981\u91cd\u590d\u7b2c 3-15 \u6b65\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"\u63d0\u4ea4 PR \u6d41\u7a0b\u6982\u8ff0",src:A(61612).Z,width:"1700",height:"1743"})),(0,l.kt)("p",null,"\u4e0a\u56fe\u4e2d\uff0c\u6709\u4e09\u4e2a\u4ed3\u5e93\u5730\u5740\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"GitHub Upstream"),", \u5373\u4ed3\u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/cskefu/cskefu"},"https://github.com/cskefu/cskefu")," \uff0c\u7b80\u79f0 Upstream Repo"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"GitHub Origin"),", \u5373 ",(0,l.kt)("inlineCode",{parentName:"li"},"https://github.com/${\u4e2a\u4eba forked repo}$/cskefu"),"\uff0c\u7b80\u79f0 Origin Repo"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"Localhost Repo"),"\uff0c\u5373\u60a8\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"git clone git@github.com:${\u4e2a\u4eba forked repo}/cskefu.git"),", \u7b80\u79f0 Local Repo")),(0,l.kt)("p",null,"\u4ee5\u4e0a\u4e09\u4e2a\u4ed3\u5e93\u5728\u4e0b\u9762\u6709\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u4e3b\u8981\u539f\u5219\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5de5\u4f5c\u524d\u5148\u6709 Issue \u53f7\uff0c\u6bd4\u5982 ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/cskefu/cskefu/issues/897"},"https://github.com/cskefu/cskefu/issues/897")," \u7684 Issue \u53f7\u5c31\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"879"),"\uff0c\u4ee5\u4e0b\u4e5f\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"#879")," \u6307\u4ee3 Issue 879;"),(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u6700\u7ec8\u8fdb\u5165 Upstream/develop \u5206\u652f\u5373\u5c5e\u4e8e\u8fdb\u5165\u6625\u677e\u5ba2\u670d\uff0c\u4e0d\u8981\u76f4\u63a5\u66f4\u6539Local/develop \u548c Origin/develop \u5206\u652f\uff0c\u8fd9\u4e24\u4e2a Repo \u7684 develop \u5206\u652f\u7684\u66f4\u65b0\u662f\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"git pull upstream develop")," \u6765\u5b8c\u6210\u7684\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u662f\u7531",(0,l.kt)("a",{parentName:"li",href:"https://github.com/cskefu/cskefu/issues/758"},"\u6625\u677e\u5ba2\u670d\u7684 CodeOwners")," \u5408\u5e76\u8fdb\u5165 Upstream/develop \u5206\u652f\u7684\u3002")),(0,l.kt)("h3",{id:"115-fork-code-repo"},"1/15 Fork code repo"),(0,l.kt)("p",null,"\u9996\u5148\uff0c\u6253\u5f00 Upstream \u7f51\u5740 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu"},"https://github.com/cskefu/cskefu"),"\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"Fork"),"\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(38511).Z,width:"1486",height:"582"})),(0,l.kt)("p",null,"\u9009\u62e9\u514b\u9686\u5230\u7a7a\u95f4\uff0c\u53d6\u6d88",(0,l.kt)("inlineCode",{parentName:"p"},"Copy the develop branch only")," \u9009\u62e9\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(78518).Z,width:"1746",height:"952"})),(0,l.kt)("p",null,"\u70b9\u51fb ",(0,l.kt)("inlineCode",{parentName:"p"},"Create fork"),"\uff0c\u8fd9\u65f6\u6d4f\u89c8\u5668\u4f1a\u8df3\u8f6c\u5230 Origin Repo, \u5373\u60a8\u521a\u521a\u9009\u62e9\u7684\u7a7a\u95f4\u4e0b\u7684 Repo \u5730\u5740\u3002"),(0,l.kt)("h3",{id:"215-clone-code-repo"},"2/15 Clone code repo"),(0,l.kt)("p",null,"\u4f7f\u7528 Bash \u547d\u4ee4\u884c\u7ec8\u7aef\uff0c\u521b\u5efa Local repo\uff0c\u9996\u5148\u5728\u6d4f\u89c8\u5668\u4e2d\uff0c\u83b7\u5f97 Origin Repo \u7684\u5730\u5740"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(33084).Z,width:"2230",height:"1153"})),(0,l.kt)("p",null,"\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"mkdir ~/cskefu\ncd ~/cskefu\ngit clone git@github.com:${\u4e2a\u4eba forked repo}/cskefu.git # \u4ece\u6d4f\u89c8\u5668\u4e2d\u590d\u5236\u7684\u5730\u5740\n")),(0,l.kt)("p",null,"\u7136\u540e\uff0c\u8fdb\u5165\u6625\u677e\u5ba2\u670d Local Repo\uff0c\u8bbe\u7f6e Sign-off\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},'cd ~/cskefu/cskefu # \u4ee5\u4e0b\u79f0\u6b64\u8def\u5f84\u4e3a CSKEFU_ROOT\ngit config alias.ci "commit -s"\ngit config user.name "\u60a8\u7684\u540d\u5b57"\ngit config user.email "\u60a8\u7684\u90ae\u7bb1"\n')),(0,l.kt)("p",null,"\u8be5\u547d\u4ee4\u7684\u4f5c\u7528\u662f\uff0c\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"CSKEFU_ROOT")," \u4e0b\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"p"},'git ci -m "xxx"')," \u4ee5\u5b8c\u6210\u7b7e\u7f72 DCO",(0,l.kt)("sup",{parentName:"p",id:"fnref-what-is-dco"},(0,l.kt)("a",{parentName:"sup",href:"#fn-what-is-dco",className:"footnote-ref"},"what-is-dco")),"\u3002"),(0,l.kt)("p",null,"\u63a5\u4e0b\u6765\uff0c\u914d\u7f6e upstream\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"cd ~/cskefu/cskefu\ngit remote add upstream https://github.com/cskefu/cskefu.git\n")),(0,l.kt)("p",null,"\u6700\u540e\uff0c\u521d\u59cb\u5316 ",(0,l.kt)("inlineCode",{parentName:"p"},"Git Flow"),"\uff0c\u6267\u884c"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"cd ~/cskefu/cskefu\ngit flow init\n")),(0,l.kt)("p",null,"\u8be5\u547d\u4ee4\u4f1a\u542f\u52a8\u4e00\u4e2a\u4ea4\u4e92\u95ee\u7b54\uff0c\u6309\u7167\u5982\u4e0b\u8bbe\u7f6e\uff0c\u4f7f\u7528 Enter \u8fdb\u5165\u4e0b\u4e00\u4e2a\u76f4\u81f3\u5b8c\u6210\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(52252).Z,width:"1691",height:"813"})),(0,l.kt)("p",null,"\u4fee\u6539\uff0c\u5982\u679c\u8bbe\u7f6e\u9519\u8bef\uff0c\u53ef\u4ee5\u5728\u8fd0\u884c\u4e86\u4e0a\u8ff0\u547d\u4ee4\u540e\uff0c\u7f16\u8f91 ",(0,l.kt)("inlineCode",{parentName:"p"},".git/config")," \u6587\u4ef6\u3002\u4e0a\u9762\u7684\u4e3b\u8981\u6b65\u9aa4\uff0c\u56f4\u7ed5 ",(0,l.kt)("inlineCode",{parentName:"p"},"CSKEFU_ROOT/.git/config")," \u6587\u4ef6\uff0c\u6267\u884c\u540e\u770b\u8d77\u6765\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},'[core]\n repositoryformatversion = 0\n filemode = false\n bare = false\n logallrefupdates = true\n ignorecase = true\n[remote "origin"]\n url = git@github.com:${\u4e2a\u4eba forked repo}/cskefu.git\n fetch = +refs/heads/*:refs/remotes/origin/*\n[branch "develop"]\n remote = origin\n merge = refs/heads/develop\n[remote "upstream"]\n url = https://github.com/cskefu/cskefu.git\n fetch = +refs/heads/*:refs/remotes/upstream/*\n[branch "master"]\n remote = origin\n merge = refs/heads/master\n[gitflow "branch"]\n master = master\n develop = develop\n[gitflow "prefix"]\n feature = feature/\n bugfix = bugfix/\n release = release/\n hotfix = hotfix/\n support = support/\n versiontag =\n[gitflow "path"]\n hooks = C:/Users/Administrator/git/cskefu/.git/hooks\n[alias]\n ci = commit -s\n[user]\n name = Zhang San\n email = zhangsan@xyz.com\n')),(0,l.kt)("h3",{id:"315-new-local-branch"},"3/15 New local branch"),(0,l.kt)("p",null,"\u5bf9\u4e8e\u63d0\u4ea4\u7684\u4ee3\u7801\uff0c\u662f\u4ee5 ",(0,l.kt)("inlineCode",{parentName:"p"},"Git Commits")," \u4e3a\u5355\u4f4d\u7684\uff0c\u6bcf\u4e2a ",(0,l.kt)("inlineCode",{parentName:"p"},"Git Commit")," \u9700\u8981\u5173\u8054\u4e00\u4e2a GitHub Isssue \u53f7\uff0c\u6240\u4ee5\uff0c\u5148\u627e\u5230\u5de5\u4f5c\u7684 Issues\uff1a"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/issues"},"https://github.com/cskefu/cskefu/issues")),(0,l.kt)("p",null,"\u5047\u8bbe\uff0c\u6211\u4eec\u6709\u4e86\u4e00\u4e2a GitHub Issue ",(0,l.kt)("inlineCode",{parentName:"p"},"#NUMBER"),"\uff0c\u6bd4\u5982 ",(0,l.kt)("inlineCode",{parentName:"p"},"#879"),"\uff0c\u8fd9\u4e2a Issue \u662f\u4e00\u4e2a\u65b0\u529f\u80fd\uff0c\u90a3\u4e48\uff0c\u6211\u4eec\u8fd9\u6837\u5f00\u59cb\u5de5\u4f5c\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"# \u5efa\u7acb\u65b0\u7684\u5206\u652f\ncd ~/cskefu/cskefu\ngit flow feature start 879 # \u6267\u884c\uff0c\u7136\u540e\u5f97\u5230\u4e0b\u9762\u7684\u63d0\u793a\u4fe1\u606f\nSwitched to a new branch 'feature/879'\n\nSummary of actions:\n- A new branch 'feature/879' was created, based on 'develop'\n- You are now on branch 'feature/879'\n\nNow, start committing on your feature. When done, use:\n\n git flow feature finish 879\n")),(0,l.kt)("p",null,"\u5982\u4e0a\u4ecb\u7ecd\uff0c\u73b0\u5728 Git \u81ea\u52a8\u5207\u6362\u4e86\u65b0\u7684\u5206\u652f\uff0c\u6211\u4eec\u5c31\u5728\u8fd9\u4e2a\u5206\u652f\u4e0b\u8c03\u6574\u4ee3\u7801\u3002\n\u663e\u793a\u4e86\u5de5\u4f5c\u4e2d\u7684\u5206\u652f\uff0c\u60a8\u53ef\u4ee5\u7528\u547d\u4ee4 ",(0,l.kt)("inlineCode",{parentName:"p"},"git branch")," \u67e5\u770b\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(47533).Z,width:"1160",height:"696"})),(0,l.kt)("h3",{id:"415-commit-sign-off-codes"},"4/15 Commit sign-off codes"),(0,l.kt)("p",null,"\u5047\u8bbe\uff0c\u6211\u4eec\u5df2\u7ecf\u8c03\u6574\u5b8c\u6210\u4e86\u4ee3\u7801\uff0c\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"git status")," \u67e5\u770b\u53d8\u66f4\u7684\u72b6\u6001\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(17443).Z,width:"2061",height:"344"})),(0,l.kt)("p",null,"\u73b0\u5728\u6211\u4eec\u5c31\u53ef\u4ee5\u63d0\u4ea4\u4ee3\u7801\u4e86\uff0c\u6267\u884c\u4ee5\u4e0b\u7684\u547d\u4ee4\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},'cd ~/cskefu/cskefu\ngit add --all\ngit ci -m "#879 \u8c03\u6574\u4e86 XXX" # \u7b80\u8981\u63cf\u8ff0\n')),(0,l.kt)("p",null,"\u6ce8\u610f\uff0c\u6b64\u5904\u4f7f\u7528\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"git ci"),"\uff0c\u5373\u662f\u524d\u6587\u4ecb\u7ecd\u7684 DCO \u7b7e\u540d\uff0c\u6ca1\u6709\u7b7e\u540d\u7684 commit \u7684 PR \u662f\u4e0d\u88ab\u63a5\u53d7\u7684\u3002"),(0,l.kt)("h3",{id:"515-git-flow-publish"},"5/15 Git flow publish"),(0,l.kt)("p",null,"\u4e0b\u4e00\u6b65\uff0c\u5c06 Local Repo \u7684 Commit \u53d1\u5e03\u5230 Origin Repo \u4e2d\uff0c\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"cd ~/cskefu/cskefu\ngit flow feature publish\n")),(0,l.kt)("p",null,"\u5728\u6267\u884c\u4e86\u4e0a\u8ff0\u547d\u4ee4\u540e\uff0c\u5f97\u5230\u63d0\u793a\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(72384).Z,width:"2281",height:"1168"})),(0,l.kt)("p",null,"\u900f\u9732\u7684\u4fe1\u606f\u662f\uff1a1\uff09Origin repo \u7684 'feature/879' \u5206\u652f\u88ab\u65b0\u5efa\u6216\u66f4\u65b0\u4e86\uff0c2\uff09Local repo \u7684 'feature/879' \u5206\u652f\u7528\u6765\u8ddf\u8e2a Origin/feature/879 \u7684\u53d8\u5316\u3002"),(0,l.kt)("h3",{id:"615-open-new-pr"},"6/15 Open new PR"),(0,l.kt)("p",null,"\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u4e0a\u4e00\u6b65\u7684\u63d0\u793a\u6d88\u606f\u4e2d\uff0c\u6709\u4e00\u4e2a URL \u5730\u5740\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"https://github.com/${\u4e2a\u4eba forked repo}/cskefu/pull/new/feature/879\n")),(0,l.kt)("p",null,"\u590d\u5236\u8fd9\u4e2a\u5730\u5740\uff0c\u5e76\u5728\u6d4f\u89c8\u5668\u4e2d\u6253\u5f00\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(44586).Z,width:"2665",height:"1708"})),(0,l.kt)("p",null,"\u8fd9\u4e2a\u5c31\u662f\u521b\u5efa PR \u7684\u754c\u9762\uff0c\u901a\u8fc7\u8c03\u6574\u6807\u9898\uff0c\u6b63\u6587\uff0c\u66f4\u597d\u7684\u63cf\u8ff0\u672c\u6b21\u53d8\u66f4\u7684\u539f\u56e0\u3002\u7136\u540e\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684 \u3010Create pull request\u3011\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(88940).Z,width:"674",height:"244"})),(0,l.kt)("h3",{id:"715-set-pr-settings"},"7/15 Set PR settings"),(0,l.kt)("p",null,"\u63d0\u4ea4\u540e\uff0c\u6d4f\u89c8\u5668\u81ea\u52a8\u8df3\u8f6c\u5230\u65b0\u5efa\u7acb\u7684 PR \u9875\u9762\uff0c\u6bd4\u5982 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/pull/900"},"https://github.com/cskefu/cskefu/pull/900"),"\u3002"),(0,l.kt)("p",null,"\u5728\u8fd9\u4e2a\u9875\u9762\uff0c\u53ef\u4ee5\u5f97\u5230\u548c\u6dfb\u52a0\u66f4\u591a\u7684\u4fe1\u606f\uff0c\u6bd4\u5982\u67e5\u770b\u5ba1\u6838\u8005(Reviewers)\uff0c\u53ea\u6709\u8fbe\u5230\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Code \u5ba1\u6838\u901a\u8fc7\u7684\u4eba\u6570\u8d85\u8fc7\u8bbe\u5b9a\uff08\u76ee\u524d\u4e3a 1 \u4eba\uff09\uff0c\u76ee\u524d\uff0c\u5ba1\u6838\u8005\u662f\u81ea\u52a8\u8bbe\u7f6e\u7684\uff0c\u8be6\u7ec6\u7684\u89c4\u5219\u67e5\u770b\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/cskefu/cskefu/issues/758"},"\u6625\u677e\u5ba2\u670d\u7684 CodeOwners")),(0,l.kt)("li",{parentName:"ul"},"Code Review \u6ca1\u6709\u8ba8\u8bba\u4e2d\u7684\u4f1a\u8bdd"),(0,l.kt)("li",{parentName:"ul"},"PR \u7684\u81ea\u52a8\u68c0\u67e5\u901a\u8fc7")),(0,l.kt)("p",null,"PR \u624d\u53ef\u4ee5\u7531 CodeOwners \u8fdb\u884c\u5408\u5e76\uff0c\u5206\u522b\u5bf9\u5e94 PR \u9875\u9762\u4e2d\u7684\u4e0b\u56fe\u90e8\u5206\u7684\u72b6\u6001\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(11461).Z,width:"1854",height:"696"})),(0,l.kt)("h3",{id:"815-checks-on-pr"},"8/15 Checks on PR"),(0,l.kt)("p",null,"\u5728 PR \u9875\u9762\uff0c\u60a8\u4f1a\u770b\u5230\u7c7b\u4f3c\u7684\u4fe1\u606f\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(12150).Z,width:"2079",height:"1017"})),(0,l.kt)("p",null,"\u4ee3\u8868\u5f53\u524d\u7684 PR \u81ea\u52a8\u68c0\u67e5\u901a\u8fc7\uff0c\u4f46\u662f\u4e5f\u53ef\u80fd\u53d1\u751f\u4e0d\u901a\u8fc7\u7684\u60c5\u51b5\uff0c\u6b64\u65f6\u8fdb\u5165\u7b2c 10/15 \u6b65\u89e3\u51b3\u3002"),(0,l.kt)("h3",{id:"915-code-reviews"},"9/15 Code reviews"),(0,l.kt)("p",null,"\u5728 PR \u9875\u9762\uff0c\u60a8\u4f1a\u770b\u5230\u7c7b\u4f3c\u7684\u4fe1\u606f\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(98069).Z,width:"2006",height:"1197"})),(0,l.kt)("p",null,"\u4ee3\u8868\u5f53\u524d\u8fd8\u9700\u8981\u5b8c\u6210 Code Review \u5de5\u4f5c\uff0c\u8be5 PR \u624d\u80fd\u88ab\u5408\u5e76\u3002"),(0,l.kt)("p",null,"\u6b64\u65f6\uff0cCode Reviewer \u4f1a\u6536\u5230\u901a\u77e5\uff0cCode Reviewer \u4f1a\u5728 PR \u7684\u4e0b\u9762\u9875\u9762\u7ed9\u4e0e\u53cd\u9988\uff1a1\uff09Comment/Request Changes - \u4ee3\u7801\u8fd8\u9700\u8981\u505a\u4e00\u4e9b\u8c03\u6574\uff0c\u8fdb\u5165 10/15 \u6b65\uff1b2) Approve - \u901a\u8fc7\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(56508).Z,width:"3020",height:"1520"})),(0,l.kt)("p",null,"\u901a\u8fc7 Checks \u548c Review\uff0c\u4ee3\u7801\u4f1a\u81ea\u52a8\u8fdb\u5165 ",(0,l.kt)("inlineCode",{parentName:"p"},"upstream/develop")," \u5206\u652f\u3002 "),(0,l.kt)("h3",{id:"1015-modify-codes"},"10/15 Modify codes"),(0,l.kt)("p",null,"\u7531\u4e8e PR Checks \u6216 Review \u6ca1\u6709\u901a\u8fc7\uff0c\u90a3\u4e48\u6839\u636e\u53cd\u9988\u9700\u8981\u66f4\u6539\u4ee3\u7801\uff0c\u8fdb\u884c\u5982\u4e0b\u64cd\u4f5c\u3002"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"cd ~/cskefu/cskefu")),(0,l.kt)("li",{parentName:"ul"},"\u786e\u8ba4 Local repo \u6240\u5728\u5206\u652f\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"feature/879"),"\uff1b\u5982\u679c\u5f53\u524d\u4e0d\u5728\u8fd9\u4e2a\u5206\u652f\uff0c\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"git checkout feature/879")," \u5207\u6362\u56de\u8fd9\u4e2a\u5206\u652f"),(0,l.kt)("li",{parentName:"ul"},"\u8c03\u6574\u4ee3\u7801\uff0c\u76f4\u5230\u53ef\u4ee5\u518d\u6b21\u63d0\u4ea4")),(0,l.kt)("h3",{id:"1115-re-push-codes"},"11/15 Re-push codes"),(0,l.kt)("p",null,"\u6267\u884c\u547d\u4ee4\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},'cd ~/cskefu/cskefu\ngit add --all\ngit ci -m "#879 \u518d\u6b21\u8c03\u6574 XXX"\ngit push origin feature/879\n')),(0,l.kt)("h3",{id:"1215-checks-on-pr"},"12/15 Checks on PR"),(0,l.kt)("p",null,"\u56de\u5230\u524d\u6b21\u521b\u5efa\u7684 PR \u9875\u9762\uff0c\u5728 Commits \u9875\u9762\uff0c\u6211\u4eec\u770b\u5230\uff0c\u5df2\u7ecf\u6709\u4e86\u7b2c\u4e8c\u6b21\u7684\u63d0\u4ea4\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(21198).Z,width:"2749",height:"1148"})),(0,l.kt)("p",null,"\u6b64\u65f6\uff0c\u518d\u6b21\u6267\u884c\u4e86 Checks\u3002"),(0,l.kt)("h3",{id:"1315-code-reviews-again"},"13/15 Code reviews again"),(0,l.kt)("p",null,"\u8fd9\u65f6\u5019\uff0cCode Reviewer \u518d\u6b21\u6536\u5230\u63d0\u793a\uff0c\u8fdb\u884c\u4ee3\u7801 Reviews\u3002\u60a8\u4e5f\u53ef\u4ee5\u5728 PR \u4e0a\u4e0e Reviewers \u4ea4\u4e92\uff0c\u5982\u4e0b\u56fe\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(90659).Z,width:"1939",height:"574"})),(0,l.kt)("h3",{id:"1415-pr-merged"},"14/15 PR merged"),(0,l.kt)("p",null,"\u5047\u8bbe\uff0c\u8fd9\u6b21 Checks \u548c Reviews \u901a\u8fc7\uff0c\u6ee1\u8db3\u4e86\u5408\u5e76\u7684\u9700\u6c42\uff0c\u56e0\u4e3a\u524d\u6587\u6211\u4eec\u8bbe\u7f6e\u4e86\u3010Auto-merge\u3011\uff0c\u73b0\u5728\u4ee3\u7801\u5c31\u4f1a\u76f4\u63a5\u8fdb\u5165 ",(0,l.kt)("inlineCode",{parentName:"p"},"upstream/develop")," \u5206\u652f\u3002"),(0,l.kt)("p",null,"\u60a8\u4e5f\u53ef\u4ee5\u5728 develop \u5206\u652f\u786e\u8ba4\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{src:A(40183).Z,width:"2100",height:"913"})),(0,l.kt)("p",null,"\u70b9\u51fb ",(0,l.kt)("inlineCode",{parentName:"p"},"commits"),"\u3002"),(0,l.kt)("h3",{id:"1515-pull-to-local"},"15/15 Pull to local"),(0,l.kt)("p",null,"\u73b0\u5728\uff0c\u60a8\u7684 PR \u63d0\u4ea4\u5b8c\u6210\u4e86\uff0c\u4f46\u662f\u60a8\u7684 Origin \u548c Local Repo \u7684 develop \u5206\u652f\uff0c\u8fd8\u548c Upstream develop \u4e0d\u540c\u6b65\uff0c\u7ee7\u7eed\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"cd ~/cskefu/cskefu\ngit checkout develop\ngit pull upstream develop\ngit push origin develop\n")),(0,l.kt)("p",null,"\u4f5c\u4e3a\u5019\u9009\uff0c\u60a8\u53ef\u4ee5\u5220\u9664\u672c\u5730\u7684 feature \u5206\u652f\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"git branch -d feature/879\n")),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u662f\u6700\u6d41\u884c\u7684\u5f00\u6e90\u5ba2\u670d\u7cfb\u7edf\uff0c\u73b0\u5728\u5df2\u7ecf\u5728\u4f01\u4e1a\u90e8\u7f72\u8d85\u8fc7 19,000 \u6b21\uff0c\u4e3a\u6570\u767e\u653f\u5e9c\u673a\u6784\u3001\u4e8b\u4e1a\u5355\u4f4d\u548c\u4f01\u4e1a\u4e0a\u7ebf\u667a\u80fd\u5ba2\u670d\u7cfb\u7edf\uff0c\u73b0\u5728\u60a8\u662f\u6625\u677e\u5ba2\u670d\u7684\u5f00\u53d1\u8005\u4e00\u5458\u4e86\uff01"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u4f1a\u5c3d\u5feb\u7684\u5c06\u60a8\u6dfb\u52a0\u5230",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu#%E8%B4%A1%E7%8C%AE%E8%80%85%E5%88%97%E8%A1%A8-"},"\u8d21\u732e\u8005\u5217\u8868"),"!"),(0,l.kt)("h2",{id:"\u5e38\u89c1\u95ee\u9898"},"\u5e38\u89c1\u95ee\u9898"),(0,l.kt)("h3",{id:"\u5982\u4f55\u786e\u5b9a\u5de5\u4f5c\u7684-issue"},"\u5982\u4f55\u786e\u5b9a\u5de5\u4f5c\u7684 Issue"),(0,l.kt)("p",null,"Issue \u5373\u5de5\u4f5c\u7684\u5185\u5bb9\uff0c\u8bb0\u5f55\u5728\u6625\u677e\u5ba2\u670d\u7684",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/issues"},"\u5de5\u5355(Issue)"),"\u4e2d\uff0c\u53ef\u4ee5\u521b\u5efa\u6839\u636e\u60a8\u81ea\u5df1\u7684\u9700\u8981\u521b\u5efa\u5de5\u5355\uff0c\u6216\u8005\u9009\u62e9\u4e00\u4e2a\u5df2\u6709\u7684\u5de5\u5355\u3002"),(0,l.kt)("h3",{id:"\u5982\u4f55\u642d\u5efa\u5f00\u53d1\u73af\u5883"},"\u5982\u4f55\u642d\u5efa\u5f00\u53d1\u73af\u5883"),(0,l.kt)("p",null,"\u5f00\u53d1\u73af\u5883\u642d\u5efa\uff0c\u5305\u62ec\u4e0b\u8f7d\u6e90\u7801\u3001\u5b89\u88c5 IDE\u3001\u542f\u52a8\u6570\u636e\u5e93\u548c\u914d\u7f6e\u9879\u76ee\u7b49\u3002"),(0,l.kt)("p",null,"\u8be6\u7ec6\u5185\u5bb9\uff0c\u53c2\u8003\u6587\u6863",(0,l.kt)("a",{parentName:"p",href:"https://docs.cskefu.com/docs/osc/engineering"},"\u5f00\u53d1\u73af\u5883\u642d\u5efa"),"\u3002"),(0,l.kt)("h3",{id:"\u5982\u4f55\u5feb\u901f\u5165\u95e8\u5b9a\u5236\u6625\u677e\u5ba2\u670d"},"\u5982\u4f55\u5feb\u901f\u5165\u95e8\u5b9a\u5236\u6625\u677e\u5ba2\u670d"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u793e\u533a\u53d1\u5e03\u4e86",(0,l.kt)("a",{parentName:"p",href:"https://docs.cskefu.com/docs/osc/training"},"\u300a\u6625\u677e\u5ba2\u670d\u5927\u8bb2\u5802\u300b"),"\uff0c\u5feb\u901f\u7684\u5165\u95e8\u4ee5\u53ca\u719f\u6089\u5f00\u53d1\u6280\u80fd\u3002"),(0,l.kt)("p",null,"\u5728\u300a\u6625\u677e\u5ba2\u670d\u5927\u8bb2\u5802\u300b\u4e2d\uff0c\u6709\u5f88\u591a\u77e5\u8bc6\u5185\u5bb9\uff0c\u800c\u5355\u5143\u6d4b\u8bd5\u3001AOP \u53d8\u6210\u3001\u81ea\u52a8\u5316\u6d4b\u8bd5\u7b49\u4e5f\u6d89\u53ca\uff0c\u5185\u5bb9\u4e30\u5bcc\u3002"),(0,l.kt)("h3",{id:"\u5982\u4f55\u5feb\u901f\u638c\u63e1-git"},"\u5982\u4f55\u5feb\u901f\u638c\u63e1 Git"),(0,l.kt)("p",null,"Git \u7528\u4e8e\u7248\u672c\u7ba1\u7406\uff0c\u4f7f\u7528 Git \u65f6\uff0c\u4e00\u4e2a\u6587\u4ef6\u6709\u4e09\u4e2a\u53ef\u80fd\u5b58\u5728\u7684\u5730\u65b9\uff1aindexed\uff08\u7d22\u5f15\u533a\uff09\uff0cstaged\uff08\u6682\u5b58\u533a\uff09 \u548c workarea\uff08\u5de5\u4f5c\u533a\uff09\u3002indexed \u6587\u4ef6\u5c31\u662f\u88ab\u7d22\u5f15\u4e86\uff08\u63d0\u4ea4\u4e86\uff09\uff1bstaged \u5c31\u662f\u88ab\u4e34\u65f6\u7684\u4fdd\u5b58\u4e86\uff08\u6682\u672a\u63d0\u4ea4\uff0c\u4fdd\u62a4\u4e00\u4e0b\uff09\uff1bworkarea\uff0c\u5728\u7f16\u8f91\u5668\u4e2d\u6253\u5f00\u7684\u8fd9\u4efd\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"Git \u4f7f\u7528\u6982\u8ff0",src:A(35245).Z,width:"314",height:"160"})),(0,l.kt)("p",null,"\u4e0a\u56fe\u4e2d master \u6240\u5728\u533a\u5c31\u662f indexed\u3002"),(0,l.kt)("p",null,"Git \u7684\u7248\u672c\u7ba1\u7406\uff0c\u5c31\u662f\u6307\u8fd9\u4e09\u4e2a\u5c42\u9762\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u5dee\u5f02\u3002"),(0,l.kt)("p",null,"Git add: \u4ece workarea \u6dfb\u52a0\u5230 staged"),(0,l.kt)("p",null,"Git commit: \u4ece staged \u5230 indexed"),(0,l.kt)("p",null,"\u5f53\u7136\u8fd8\u6709\u4e0d\u540c\u7684\u65b9\u5411\uff0c\u8fd9\u6784\u6210\u4e86 git checkout, git stash, git restore, git reset, git clean \u7b49\u547d\u4ee4\u3002"),(0,l.kt)("p",null,"\u5f53\u672c\u5730\u7684 Git \u5e93\u548c\u5b83\u7684\u8fdc\u7a0b\u7684 Git \u5e93\u540c\u6b65\u65f6\uff0c\u5c31\u6d89\u53ca\u4f7f\u7528 git push \u548c git pull\u3002"),(0,l.kt)("p",null,"\u4ee5\u4e0a\u662f\u5bf9 Git \u7684\u7b80\u8981\u4ecb\u7ecd\uff0c\u5feb\u901f\u5165\u95e8 Git\uff0c\u9996\u5148\u719f\u6089\u5b83\u7684\u8fdc\u79bb\uff0c\u6bd4\u5982\u4ee5\u4e0a\uff1b\u5176\u6b21\uff0c\u505a\u4e00\u4e9b\u7ec3\u4e60\uff0c\u6bd4\u5982\u4f7f\u7528 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/grayghostvisuals/practice-git"},"practice-git"),"\u3002"),(0,l.kt)("h3",{id:"\u5982\u4f55\u6210\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u53d1\u8005"},"\u5982\u4f55\u6210\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u53d1\u8005"),(0,l.kt)("p",null,"\u8981\u4ece\u5de5\u4f5c\u4e2d\u83b7\u5f97\u66f4\u591a\u5feb\u4e50\uff0c\u540c\u65f6\u4e5f\u4e3a\u4e86\u4e0d\u65ad\u6da8\u85aa\uff0c\u5c31\u9700\u8981\u4e0d\u65ad\u7684\u524d\u8fdb\uff0c\u4f9d\u8d56\u4e8e\u5fc3\u6001\u3002"),(0,l.kt)("p",null,"\u8fd9\u662f\u4e00\u4e2a\u6bd4\u63d0\u5347\u6280\u80fd\u66f4\u9700\u8981\u65f6\u95f4\u548c\u91cd\u89c6\u7684\u90e8\u5206\uff0c\u4e00\u4e2a\u597d\u7684\u5f00\u53d1\u8005\u7684\u5fc3\u6001\uff0c\u53ef\u4ee5\u548c\u4e00\u4e2a\u89c9\u609f\u8005\u76f8\u63d0\u5e76\u8bba\u4e86\uff0c\u90a3\u4e9b\u4e2a\u770b\u4e0d\u5230\u3001\u6478\u4e0d\u7740\u7684\u5b57\u8282\uff0c\u5b8c\u6210\u4f60\u7684\u590d\u6742\u7684\u903b\u8f91\uff0c\u9700\u8981\u4f60\u4fdd\u6301\u7a33\u5b9a\u548c\u7406\u6027\u7684\u72b6\u6001\u3002"),(0,l.kt)("p",null,"\u8fd9\u65b9\u9762\u6709\u5f88\u591a\u597d\u7684\u8bfb\u7269\uff0c\u6bd4\u5982",(0,l.kt)("a",{parentName:"p",href:"https://item.jd.com/10393278.html"},"\u300a\u7a0b\u5e8f\u5458\u4fee\u70bc\u4e4b\u9053\uff1a\u4ece\u5c0f\u5de5\u5230\u4e13\u5bb6\u300b"),"\u3001",(0,l.kt)("a",{parentName:"p",href:"https://item.jd.com/12058554.html"},"\u300a\u51a5\u60f3\u300b"),"\u548c",(0,l.kt)("a",{parentName:"p",href:"https://item.jd.com/10024708744202.html"},"\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u2014\u2014\u94fe\u63a5\u3001\u88c5\u8f7d\u4e0e\u5e93\u300b"),"\u3002\u8fd9\u51e0\u672c\u4e66\uff0c\u503c\u5f97\u5e38\u770b\uff0c\u5e38\u770b\u53ef\u4ee5\u5e38\u65b0\u3002\u5c24\u5176\u662f\u300a\u51a5\u60f3\u300b\uff0c\u6bcf\u5929\u65e9\u665a\u5404\u5341\u5206\u949f\u51a5\u60f3\uff0c\u575a\u6301 90 \u5929\uff0c\u4fdd\u8bc1\u4f60\u6210\u4e3a\u7a0b\u5e8f\u5458\u4e2d\u7684\u5927\u5e08\uff01"),(0,l.kt)("div",{className:"footnotes"},(0,l.kt)("hr",{parentName:"div"}),(0,l.kt)("ol",{parentName:"div"},(0,l.kt)("li",{parentName:"ol",id:"fn-what-is-pr"},"\u4ec0\u4e48\u662f PR\uff1f\u5373 PullRequest\uff0c\u662f\u5408\u5e76\u4ee3\u7801\u7684\u7533\u8bf7\uff0c\u6625\u677e\u5ba2\u670d\u7684 PR \u5217\u8868\u89c1 ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/cskefu/cskefu/pulls"},"https://github.com/cskefu/cskefu/pulls"),(0,l.kt)("a",{parentName:"li",href:"#fnref-what-is-pr",className:"footnote-backref"},"\u21a9")),(0,l.kt)("li",{parentName:"ol",id:"fn-what-is-dco"},"\u4ec0\u4e48\u662f DCO\uff1fDCO \u662f\u4e00\u79cd\u8d21\u732e\u8005\u534f\u8bae\uff0c\u4ee3\u8868\u60a8\u6709\u6743\u529b\u5c06\u4ee3\u7801\u8d21\u732e\u81f3\u5f00\u6e90\u793e\u533a\uff0c\u6625\u677e\u5ba2\u670d\u5408\u5e76\u7684\u4ee3\u7801\u5fc5\u987b\u6709 DCO \u6216 CLA \u534f\u8bae\uff0c\u8be6\u7ec6\u4ecb\u7ecd ",(0,l.kt)("a",{parentName:"li",href:"https://www.cskefu.com/2022/10/19/vote-cla-dco-result/"},"https://www.cskefu.com/2022/10/19/vote-cla-dco-result/"),(0,l.kt)("a",{parentName:"li",href:"#fnref-what-is-dco",className:"footnote-backref"},"\u21a9")))))}u.isMDXComponent=!0},61612:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/cskefu-pr-workflow-3c7b67afe5eda0962fbc871933c9a955.png"},52750:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819144222-0a5c30b13d9f2b30841a94c7e87dc073.png"},21039:(e,t,A)=>{A.d(t,{Z:()=>n});const n="data:image/png;base64,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"},57775:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819150059-5e3326d126bbf5e97b5caeea5f694a2b.png"},38511:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819154050-2d137798a1f11be8981b439eaee81efa.png"},78518:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819154121-e1cb12b4246e82b3022b57993c194be9.png"},33084:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819154635-de937cd27c3de3a15ad24f0f1507fe66.png"},52252:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819170111-fdbef6538d9cd1d37fb0f36923132c2a.png"},47533:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819171137-8a2b8326dacdc517e6b6b844d9543d77.png"},17443:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819171254-8e4266b176a66cb068ae9a379b68e521.png"},72384:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819172301-2a2c58b2705cec61413a91a35db5866f.png"},44586:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819172636-f48e17bba2af5efbd891998b62bbd537.png"},88940:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819172750-b3cf243e5f1744dcf33e5d35bc141642.png"},98069:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819173250-72420506e5185a8c5a0c580c66160b61.png"},12150:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819173357-981832576196d967ac12b09bd46dadf9.png"},56508:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819173544-260706de594d5889d16453b847d00896.png"},21198:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819174201-3678cdf3186f57a60adaadab40dbd9ef.png"},90659:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819174401-960332cb6dc3f3ddd536632dc202e7bd.png"},40183:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230819174514-641d54479c3be63155c0c0db0ee6599d.png"},11461:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/screenshot_20230828081950-0359d8b46cf971131363c6434ef3bf85.png"},35245:(e,t,A)=>{A.d(t,{Z:()=>n});const n="data:image/png;base64,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"}}]);
\ No newline at end of file
diff --git a/assets/js/72610070.452c1ea9.js b/assets/js/72610070.452c1ea9.js
new file mode 100644
index 00000000..e3df7261
--- /dev/null
+++ b/assets/js/72610070.452c1ea9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkcskefu_docs=self.webpackChunkcskefu_docs||[]).push([[8693],{3905:(t,e,n)=>{n.d(e,{Zo:()=>c,kt:()=>m});var a=n(67294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function o(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var p=a.createContext({}),s=function(t){var e=a.useContext(p),n=e;return t&&(n="function"==typeof t?t(e):o(o({},e),t)),n},c=function(t){var e=s(t.components);return a.createElement(p.Provider,{value:e},t.children)},u={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},d=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,l=t.originalType,p=t.parentName,c=i(t,["components","mdxType","originalType","parentName"]),d=s(n),m=r,k=d["".concat(p,".").concat(m)]||d[m]||u[m]||l;return n?a.createElement(k,o(o({ref:e},c),{},{components:n})):a.createElement(k,o({ref:e},c))}));function m(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=n.length,o=new Array(l);o[0]=d;var i={};for(var p in e)hasOwnProperty.call(e,p)&&(i[p]=e[p]);i.originalType=t,i.mdxType="string"==typeof t?t:r,o[1]=i;for(var s=2;s{n.r(e),n.d(e,{assets:()=>p,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));const l={sidebar_position:2},o="\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005",i={unversionedId:"osc/devonboard",id:"version-v8/osc/devonboard",title:"\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005",description:"\u5f53\u60a8\u6709\u8f6f\u4ef6\u5f00\u53d1\u6280\u80fd\uff0c\u5728\u60a8\u52a0\u5165\u6625\u677e\u5ba2\u670d\u98de\u4e66\u7fa4\u540e\uff0c\u63a5\u4e0b\u6765\u600e\u4e48\u53c2\u4e0e\u6625\u677e\u5ba2\u670d\u793e\u533a\u5efa\u8bbe\u5462\uff1f\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005\uff01",source:"@site/versioned_docs/version-v8/osc/devonboard.md",sourceDirName:"osc",slug:"/osc/devonboard",permalink:"/docs/docs/osc/devonboard",draft:!1,editUrl:"https://github.com/cskefu/docs/tree/main/packages/create-docusaurus/templates/shared/versioned_docs/version-v8/osc/devonboard.md",tags:[],version:"v8",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"\u5f00\u6e90\u8bb8\u53ef\u534f\u8bae",permalink:"/docs/docs/osc/license"},next:{title:"\u5b9a\u5236\u5f00\u53d1\u6559\u7a0b",permalink:"/docs/docs/osc/training"}},p={},s=[{value:"\u6210\u4e3a\u5f00\u53d1\u8005\uff0c\u6211\u80fd\u5f97\u5230\u4ec0\u4e48",id:"\u6210\u4e3a\u5f00\u53d1\u8005\u6211\u80fd\u5f97\u5230\u4ec0\u4e48",level:2},{value:"\u5982\u4f55\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u7684\u5f00\u53d1\u8005\u5462\uff1f",id:"\u5982\u4f55\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u7684\u5f00\u53d1\u8005\u5462",level:2},{value:"Step 1. \u5b8c\u6210\u7b2c\u4e00\u4e2a PR",id:"step-1-\u5b8c\u6210\u7b2c\u4e00\u4e2a-pr",level:3},{value:"Step 2. \u9886\u53d6\u5f00\u53d1\u4efb\u52a1",id:"step-2-\u9886\u53d6\u5f00\u53d1\u4efb\u52a1",level:3},{value:"Step 3. \u63d0\u4ea4 PR",id:"step-3-\u63d0\u4ea4-pr",level:3},{value:"\u6210\u4e3a\u6838\u5fc3\u5f00\u53d1\u8005",id:"\u6210\u4e3a\u6838\u5fc3\u5f00\u53d1\u8005",level:2},{value:"\u4eba\u5458\u8054\u7cfb\u65b9\u5f0f",id:"\u4eba\u5458\u8054\u7cfb\u65b9\u5f0f",level:2}],c={toc:s};function u(t){let{components:e,...l}=t;return(0,r.kt)("wrapper",(0,a.Z)({},c,l,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005"},"\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005"),(0,r.kt)("p",null,"\u5f53\u60a8\u6709\u8f6f\u4ef6\u5f00\u53d1\u6280\u80fd\uff0c\u5728\u60a8\u52a0\u5165\u6625\u677e\u5ba2\u670d\u98de\u4e66\u7fa4\u540e\uff0c\u63a5\u4e0b\u6765\u600e\u4e48\u53c2\u4e0e\u6625\u677e\u5ba2\u670d\u793e\u533a\u5efa\u8bbe\u5462\uff1f\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005\uff01"),(0,r.kt)("h2",{id:"\u6210\u4e3a\u5f00\u53d1\u8005\u6211\u80fd\u5f97\u5230\u4ec0\u4e48"},"\u6210\u4e3a\u5f00\u53d1\u8005\uff0c\u6211\u80fd\u5f97\u5230\u4ec0\u4e48"),(0,r.kt)("p",null,"\u5f00\u53d1\u8f6f\u4ef6\u5e76\u6ee1\u8db3\u7528\u6237\u7684\u9700\u6c42\uff0c\u5bf9\u4e8e\u6625\u677e\u5ba2\u670d\u800c\u8a00\u662f\u4e00\u4ef6\u4e25\u8083\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u6625\u677e\u5ba2\u670d\u7684\u7528\u6237\u662f\u4f01\u4e1a\u7684\u5ba2\u670d\u90e8\u95e8\uff0c\u5ba2\u6237\u670d\u52a1\u5bf9\u4e8e\u4f01\u4e1a\u7684\u91cd\u8981\u6027\u6beb\u65e0\u7591\u95ee\uff1a\u975e\u5e38\u91cd\u8981\u3002\u6625\u677e\u5ba2\u670d\u627f\u8bfa\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u9ad8\u54c1\u8d28\u7684\u5f00\u6e90\u5ba2\u670d\u7cfb\u7edf\uff01"),(0,r.kt)("p",null,"\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005\u540e\uff0c\u901a\u8fc7\u8d21\u732e\u4ee3\u7801\uff0c\u53d6\u5f97\u8ba4\u53ef\uff0c\u53ef\u8fdb\u4e00\u6b65\u7684\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u6838\u5fc3\u5f00\u53d1\u8005\u3002"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u5982\u4f55\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u6838\u5fc3\u5f00\u53d1\u8005\uff1a",(0,r.kt)("a",{parentName:"li",href:"https://www.cskefu.com/core-developers/"},"https://www.cskefu.com/core-developers/")),(0,r.kt)("li",{parentName:"ul"},"\u6210\u4e3a\u6838\u5fc3\u5f00\u53d1\u8005\uff0c\u53c2\u4e0e\u6625\u677e\u5ba2\u670d\u5546\u4e1a\u5316\u53d6\u5f97\u7684\u5229\u6da6\u5206\u914d\uff1a",(0,r.kt)("a",{parentName:"li",href:"https://www.cskefu.com/profit-sharing-plans/"},"https://www.cskefu.com/profit-sharing-plans/"))),(0,r.kt)("h2",{id:"\u5982\u4f55\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u7684\u5f00\u53d1\u8005\u5462"},"\u5982\u4f55\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u7684\u5f00\u53d1\u8005\u5462\uff1f"),(0,r.kt)("p",null,"\u867d\u7136\u60a8\u53ef\u80fd\u521a\u521a\u5de5\u4f5c\uff0c\u5bf9\u8f6f\u4ef6\u5f00\u53d1\u5de5\u4f5c\u8fd8\u4e0d\u719f\u6089\uff0c\u4f46\u662f\u5728\u6625\u677e\u5ba2\u670d\u793e\u533a\u7684\u5e2e\u52a9\u4e0b\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5f88\u5feb\u7684\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005\uff0c\u8fd9\u662f\u56e0\u4e3a\u9762\u5bf9\u521a\u521a\u52a0\u5165\u7684\u5f00\u53d1\u8005\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5982\u4e0b\u7684\u652f\u6301\u5e2e\u52a9\u60a8\u5feb\u901f\u878d\u5165\u6625\u677e\u5ba2\u670d\u5f00\u6e90\u793e\u533a\uff1a\u6211\u4eec\u79f0\u8fd9\u4e2a\u6d41\u7a0b\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005 Onboard \u6d41\u7a0b\uff08\u7b80\u79f0 Dev Onboard\uff09\u3002"),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(88638).Z,width:"794",height:"577"})),(0,r.kt)("h3",{id:"step-1-\u5b8c\u6210\u7b2c\u4e00\u4e2a-pr"},"Step 1. \u5b8c\u6210\u7b2c\u4e00\u4e2a PR"),(0,r.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u793e\u533a\u5df2\u7ecf\u6709\u4e86\u975e\u5e38\u8be6\u7ec6\u7684\u63cf\u8ff0\u5982\u4f55\u63d0\u4ea4 PR \u5230\u6625\u677e\u5ba2\u670d\u7684\u6587\u6863\uff0c"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://docs.cskefu.com/docs/osc/contribution"},"https://docs.cskefu.com/docs/osc/contribution")),(0,r.kt)("p",null,"\u4f46\u662f\uff0c\u4f5c\u4e3a\u6bcf\u4e2a\u65b0\u52a0\u5165\u7684\u5f00\u53d1\u8005\u7684\u7b2c\u4e00\u4e2a PR\uff0c\u6211\u4eec\u4f1a\u5c3d\u53ef\u80fd\u7684\u4e13\u6ce8\u4e8e\u5e2e\u52a9\u60a8\u638c\u63e1\u3010\u63d0\u4ea4 PR \u7684\u5de5\u5177\u94fe\u3011\u7684\u4f7f\u7528\uff0c\u964d\u4f4e\u5177\u4f53\u7684\u6e90\u7801\u6539\u52a8\u7684\u96be\u5ea6\u3002\u540c\u65f6\uff0c\u8fd9\u4e00\u6b65\u9aa4\uff0c\u4f1a\u7531\u6625\u677e\u5ba2\u670d\u6280\u672f\u4e13\u5bb6\uff08\u8054\u7cfb\u65b9\u5f0f\u89c1\u540e\u6587\uff1a\u4eba\u5458\u8054\u7cfb\u65b9\u5f0f\uff09\u534f\u52a9\u60a8\u5b8c\u6210\u3002\u7b2c\u4e00\u4e2a PR \u7684\u5177\u4f53\u5de5\u4f5c\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u9996\u5148\uff0c\u6625\u677e\u5ba2\u670d\u6280\u672f\u4e13\u5bb6\u4f1a\u521b\u5efa\u4e00\u4e2a Issue\uff0c\u6807\u9898\uff1a\u67d0\u67d0\u67d0\u7684\u7b2c\u4e00\u4e2a PR\uff1b\u5185\u5bb9\uff1a\u4fee\u6539\u6587\u4ef6 ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/cskefu/cskefu/blob/develop/public/pr1st.md"},"pr1st.md"),"\uff0c\u6dfb\u52a0\u4e00\u884c ",(0,r.kt)("inlineCode",{parentName:"li"},"\u67d0\u67d0\u67d0 @ \u65e5\u671f"),"\u3002\u5e76\u59d4\u6d3e\u7ed9\u60a8\uff0c\u8fd9\u9700\u8981\u60a8\u4e8b\u5148\u51c6\u5907 GitHub \u8d26\u53f7\uff0c\u6b64\u65f6\u60a8\u5f97\u5230\u4e86\u4e00\u4e2a Issue \u53ca\u5176 Issue \u53f7\u3002\n"),(0,r.kt)("li",{parentName:"ul"},"\u7136\u540e\uff0c\u6839\u636e\u6587\u6863",(0,r.kt)("a",{parentName:"li",href:"https://cskefu.gitee.io/cskefu-docs/docs/osc/contribution"},"\u300a\u5982\u4f55\u63d0\u4ea4 PR \u5230\u6625\u677e\u5ba2\u670d\u300b"),"\uff0c \u60a8\u63d0\u4ea4 PR\uff0c\u5728\u8fd9\u671f\u95f4\u9047\u5230\u4efb\u4f55\u56f0\u96be\uff0c\u4efb\u4f55\u56f0\u96be\uff0c\u8bf7\u627e\u6625\u677e\u5ba2\u670d\u6280\u672f\u4e13\u5bb6\u53d6\u5f97\u5e2e\u52a9\uff0c\u53ef\u4ee5\u5728 GitHub Issue\u3001\u98de\u4e66\u3001\u5fae\u4fe1\u7b49\u6e20\u9053\uff0c\u53d6\u5f97\u4e00\u5bf9\u4e00\u7684\u5e2e\u52a9\u3002\n"),(0,r.kt)("li",{parentName:"ul"},"\u8fd9\u4e00\u6b65\u7684\u5b8c\u6210\uff0c\u662f\u8be5\u8c03\u6574\u6700\u7ec8\u5408\u5e76\u5230\u4e86 github.com/cskefu/cskefu:develop \u5206\u652f\u4e0a\uff0c\u7136\u540e\u60a8\u5173\u95ed Issue\uff0c\u5173\u95ed\u6309\u94ae\u5982\u4e0b\u3002")),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(57873).Z,width:"1280",height:"699"})),(0,r.kt)("h3",{id:"step-2-\u9886\u53d6\u5f00\u53d1\u4efb\u52a1"},"Step 2. \u9886\u53d6\u5f00\u53d1\u4efb\u52a1"),(0,r.kt)("p",null,"\u5728 Step 1 \u4e2d\uff0c\u60a8\u8fd8\u6ca1\u6709\u5bf9\u6625\u677e\u5ba2\u670d\u4ea7\u54c1\u505a\u4efb\u4f55\u6539\u52a8\uff0c\u5728\u5b8c\u6210\u4e86 Step 1 \u540e\uff0c\u60a8\u548c\u6625\u677e\u5ba2\u670d\u4ea7\u54c1\u7ecf\u7406\u8054\u7cfb\uff08\u8054\u7cfb\u65b9\u5f0f\u89c1\u540e\u6587\uff1a\u4eba\u5458\u8054\u7cfb\u65b9\u5f0f\uff09\uff0c\u4f60\u4eec\u4e00\u8d77\u6765\u5546\u5b9a\u5177\u4f53\u7684\u5f00\u53d1\u4efb\u52a1\uff0c\u4e5f\u662f\u67d0\u4e2a Issue\u3002\u6625\u677e\u5ba2\u670d\u4ea7\u54c1\u7ecf\u7406\u6839\u636e\u7528\u6237\u9700\u6c42\u8bbe\u8ba1\u6625\u677e\u5ba2\u670d\u7684\u754c\u9762\u3001\u529f\u80fd\u548c\u63a5\u53e3\u5b9a\u4e49\u7b49\uff0c\u8fd9\u4e9b\u548c\u4e1a\u52a1\u5173\u7cfb\u7d27\u5bc6\u7684\u5de5\u4f5c\u7edf\u79f0\u4e3a\u8bbe\u8ba1\u5de5\u4f5c\uff0c\u60a8\u7684\u4efb\u52a1\u548c\u5177\u4f53\u7684\u6625\u677e\u5ba2\u670d\u529f\u80fd\u5bf9\u5e94\u65f6\uff0c\u7531\u4ea7\u54c1\u7ecf\u7406\u5e2e\u52a9\u60a8\u7406\u89e3\u8bbe\u8ba1\u548c\u80cc\u666f\uff0c\u53ef\u80fd\u67d0\u4e9b\u66f4\u7ec6\u8282\u7684\u8bbe\u8ba1\u4e5f\u9700\u8981\u5728\u5b9e\u73b0\u9636\u6bb5\u7ee7\u7eed\u7684\u63a2\u8ba8\u3002\u6240\u4ee5\uff0c\u6625\u677e\u5ba2\u670d\u7684\u7814\u53d1\u5de5\u4f5c\uff0c\u5c31\u662f\u3010\u8ba1\u5212-\u8bbe\u8ba1-\u5b9e\u73b0-\u6d4b\u8bd5-\u7528\u6237\u53cd\u9988-\u8ba1\u5212\u3011\u7684\u5faa\u73af\u7684\u6d41\u6c34\u7ebf\uff0c\u73b0\u5728\u60a8\u548c\u6625\u677e\u5ba2\u670d\u4ea7\u54c1\u7ecf\u7406\u7684\u534f\u4f5c\u5904\u4e8e\u8bbe\u8ba1\u9636\u6bb5\u3002"),(0,r.kt)("p",null,"\u7b49\u60a8\u6709\u4e86\u4e00\u4e2a\u5f00\u53d1\u4efb\u52a1\uff0c\u5c31\u8fdb\u5165\u5230\u4e86\u5b9e\u73b0\u9636\u6bb5\uff0c\u5728\u5b9e\u73b0\u9636\u6bb5\uff0c\u60a8\u4f1a\u7ee7\u7eed\u53d6\u5f97\u6765\u81ea\u793e\u533a\u7684\u652f\u6301\uff0c\u6211\u4eec\u90fd\u4e3b\u8981\u4ee5 GitHub Issue \u548c PR \u7684\u65b9\u5f0f\u8fdb\u884c\u534f\u4f5c\uff0c\u56e0\u4e3a\u516c\u5f00\u7684\u65b9\u5f0f\u53ef\u4ee5\u63d0\u5347\u96c6\u4f53\u534f\u4f5c\u7684\u6548\u7387\uff0c\u5f53\u60a8\u53d1\u5e03\u4e86\u95ee\u9898\u540e\uff0c\u60a8\u53ef\u4ee5\u4e3b\u52a8\u7684\u8054\u7cfb\u76f8\u5173\u7684\u4eba\uff0c\u5f53\u60a8\u4e0d\u77e5\u9053\u8054\u7cfb\u8c01\u7684\u65f6\u5019\uff0c\u60a8\u53ef\u4ee5\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u9700\u6c42\u3001\u8bbe\u8ba1\u3001\u91cc\u7a0b\u7891\u65b9\u9762\u7684\u95ee\u9898\uff0c\u627e\u6625\u677e\u5ba2\u670d\u4ea7\u54c1\u7ecf\u7406\n"),(0,r.kt)("li",{parentName:"ul"},"\u5b9e\u73b0\u3001\u6280\u672f\u95ee\u9898\u3001\u5f00\u53d1\u73af\u5883\u642d\u5efa\u3001PR Review \u7b49\uff0c\u627e\u6625\u677e\u5ba2\u670d\u6280\u672f\u4e13\u5bb6\n"),(0,r.kt)("li",{parentName:"ul"},"\u5176\u5b83\u95ee\u9898\uff0c\u627e\u6625\u677e\u5ba2\u670d\u603b\u5de5\u7a0b\u5e08\n")),(0,r.kt)("h3",{id:"step-3-\u63d0\u4ea4-pr"},"Step 3. \u63d0\u4ea4 PR"),(0,r.kt)("p",null,"\u5b8c\u6210\u4e86 Step 1 \u548c Step 2 \u540e\uff0c\u60a8\u5c31\u53ef\u4ee5\u72ec\u7acb\u7684\u5b9e\u73b0\u67d0\u4e2a\u4efb\u52a1\u4e86\uff0c\u8bb0\u4f4f\uff0c\u60a8\u662f\u72ec\u7acb\u7684\uff0c\u4f46\u662f\u5e76\u4e0d\u5b64\u72ec\uff0c\u9700\u8981\u5e2e\u52a9\u7684\u65f6\u5019\uff0c\u968f\u65f6\u5411\u793e\u533a\u63d0\u51fa\uff01"),(0,r.kt)("p",null,"\u5f53\u60a8\u63d0\u4ea4\u4e86\u7b2c\u4e00\u4e2a\u548c\u5f00\u53d1\u4efb\u52a1\u76f8\u5173\u7684 PR\uff0c\u8be5 PR \u8fdb\u5165 Code Review \u72b6\u6001\uff0c\u60a8\u5c31\u5b8c\u6210\u4e86\u7b2c\u4e09\u6b65\u3002"),(0,r.kt)("p",null,"\u606d\u559c\u5e76\u611f\u8c22\u60a8\uff0c\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u8005\uff01"),(0,r.kt)("h2",{id:"\u6210\u4e3a\u6838\u5fc3\u5f00\u53d1\u8005"},"\u6210\u4e3a\u6838\u5fc3\u5f00\u53d1\u8005"),(0,r.kt)("p",null,"\u5728\u60a8\u5b8c\u6210 Dev Onboard \u6d41\u7a0b 1 \u4e2a\u6708\u540e\uff0c\u5373\u7b2c\u4e09\u6b65\u4e2d\u63d0\u4ea4\u7b2c\u4e00\u4e2a\u548c\u7b2c\u4e8c\u6b65\u5f00\u53d1\u4efb\u52a1\u76f8\u5173\u7684 PR \u540e\uff0c\u6625\u677e\u5ba2\u670d\u6280\u672f\u59d4\u5458\u4f1a\u8fdb\u884c\u6295\u7968\uff0c\u51b3\u5b9a\u662f\u5426\u63a5\u53d7\u60a8\u6210\u4e3a\u6625\u677e\u5ba2\u670d\u6838\u5fc3\u5f00\u53d1\u8005\u3002\u5982\u679c\u8fd9\u6b21\u6295\u7968\u6ca1\u6709\u901a\u8fc7\uff0c\u90a3\u4e48\u60a8\u53ef\u4ee5\u7ee7\u7eed\u7684\u505a\u8d21\u732e\uff0c\u5c06\u6765\u8fd8\u6709\u7b2c\u4e8c\u6b21\u6295\u7968\u65f6\u673a\uff0c\u56e0\u4e3a\u6625\u677e\u5ba2\u670d\u9700\u8981\u5f88\u591a\u6838\u5fc3\u5f00\u53d1\u8005\uff0c\u6625\u677e\u5ba2\u670d\u6280\u672f\u59d4\u5458\u4f1a\u4f1a\u5c3d\u53ef\u80fd\u591a\u7684\u63d0\u540d\u6838\u5fc3\u5f00\u53d1\u8005\uff0c\u9ad8\u9891\u7387\u7684\u6295\u7968\uff08\u6bd4\u5982\u6bcf\u4e2a\u6708\u4e00\u6b21\uff09\u3002"),(0,r.kt)("h2",{id:"\u4eba\u5458\u8054\u7cfb\u65b9\u5f0f"},"\u4eba\u5458\u8054\u7cfb\u65b9\u5f0f"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null}))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"\u793e\u533a\u89d2\u8272"),(0,r.kt)("td",{parentName:"tr",align:null},"\u6635\u79f0"),(0,r.kt)("td",{parentName:"tr",align:null},"\u90ae\u7bb1"),(0,r.kt)("td",{parentName:"tr",align:null},"Profile")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"\u4ea7\u54c1\u7ecf\u7406"),(0,r.kt)("td",{parentName:"tr",align:null},"Kaifuny"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"mailto:kaifanzhang@cskefu.com"},"kaifanzhang@cskefu.com")),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/kaifuny"},"https://github.com/kaifuny"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"\u6280\u672f\u4e13\u5bb6"),(0,r.kt)("td",{parentName:"tr",align:null},"\u5218\u52c7"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"mailto:ly@cskefu.com"},"ly@cskefu.com")),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/lecjy"},"https://github.com/lecjy"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"\u6625\u677e\u5ba2\u670d\u603b\u5de5\u7a0b\u5e08"),(0,r.kt)("td",{parentName:"tr",align:null},"Hai Liang W."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"mailto:h@cskefu.com"},"h@cskefu.com")),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/hailiang-wang"},"https://github.com/hailiang-wang"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"\u6625\u677e\u5ba2\u670d\u6280\u672f\u59d4\u5458\u4f1a"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"mailto:tc@cskefu.com"},"tc@cskefu.com")),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://www.cskefu.com/2023/09/13/tc-coord/"},"\u6625\u677e\u5ba2\u670d\u6280\u672f\u59d4\u5458\u4f1a\u534f\u4f5c\u4f53\u7cfb"))))))}u.isMDXComponent=!0},88638:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/Pasted image 20230913134502-44d5145a001aa48136c9cc30a617f888.png"},57873:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/Pasted image 20230913134529-f824d57d1f87b28a9ea7a8f7aea9fef7.png"}}]);
\ No newline at end of file
diff --git a/assets/js/731ef631.7f7f4ceb.js b/assets/js/731ef631.7f7f4ceb.js
new file mode 100644
index 00000000..8a0cf8e6
--- /dev/null
+++ b/assets/js/731ef631.7f7f4ceb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkcskefu_docs=self.webpackChunkcskefu_docs||[]).push([[8898],{3905:(e,t,l)=>{l.d(t,{Zo:()=>o,kt:()=>g});var n=l(67294);function i(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function s(e){for(var t=1;t=0||(i[l]=e[l]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(i[l]=e[l])}return i}var r=n.createContext({}),p=function(e){var t=n.useContext(r),l=t;return e&&(l="function"==typeof e?e(t):s(s({},t),e)),l},o=function(e){var t=p(e.components);return n.createElement(r.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var l=e.components,i=e.mdxType,a=e.originalType,r=e.parentName,o=c(e,["components","mdxType","originalType","parentName"]),u=p(l),g=i,k=u["".concat(r,".").concat(g)]||u[g]||d[g]||a;return l?n.createElement(k,s(s({ref:t},o),{},{components:l})):n.createElement(k,s({ref:t},o))}));function g(e,t){var l=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=l.length,s=new Array(a);s[0]=u;var c={};for(var r in t)hasOwnProperty.call(t,r)&&(c[r]=t[r]);c.originalType=e,c.mdxType="string"==typeof e?e:i,s[1]=c;for(var p=2;p{l.r(t),l.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>p});var n=l(87462),i=(l(67294),l(3905));const a={sidebar_position:3},s="IDE \u4f7f\u7528\u4e4b Eclipse IDE",c={unversionedId:"osc/ide_eclipse",id:"version-v7/osc/ide_eclipse",title:"IDE \u4f7f\u7528\u4e4b Eclipse IDE",description:"\u5b89\u88c5\u548c\u4e0b\u8f7d Eclipse",source:"@site/versioned_docs/version-v7/osc/ide_eclipse.md",sourceDirName:"osc",slug:"/osc/ide_eclipse",permalink:"/docs/docs/v7/osc/ide_eclipse",draft:!1,editUrl:"https://github.com/cskefu/docs/tree/main/packages/create-docusaurus/templates/shared/versioned_docs/version-v7/osc/ide_eclipse.md",tags:[],version:"v7",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"\u5f00\u53d1\u73af\u5883\u642d\u5efa",permalink:"/docs/docs/v7/osc/engineering"},next:{title:"IDE \u4f7f\u7528\u4e4b IntelliJ IDEA",permalink:"/docs/docs/v7/osc/ide_intelij_idea"}},r={},p=[{value:"\u5b89\u88c5\u548c\u4e0b\u8f7d Eclipse",id:"\u5b89\u88c5\u548c\u4e0b\u8f7d-eclipse",level:2},{value:"\u4e0b\u8f7d\u5b89\u88c5\u5305",id:"\u4e0b\u8f7d\u5b89\u88c5\u5305",level:3},{value:"\u5b89\u88c5 Eclipse",id:"\u5b89\u88c5-eclipse",level:3},{value:"\u5b89\u88c5 STS",id:"\u5b89\u88c5-sts",level:3},{value:"\u5bfc\u5165\u9879\u76ee",id:"\u5bfc\u5165\u9879\u76ee",level:2},{value:"\u521d\u59cb\u5316 Contact Center \u9879\u76ee\u63cf\u8ff0\u6587\u4ef6",id:"\u521d\u59cb\u5316-contact-center-\u9879\u76ee\u63cf\u8ff0\u6587\u4ef6",level:3},{value:"\u5bfc\u5165\u5230 Eclipse",id:"\u5bfc\u5165\u5230-eclipse",level:3},{value:"\u542f\u52a8\u548c\u8c03\u8bd5",id:"\u542f\u52a8\u548c\u8c03\u8bd5",level:2},{value:"\u8bbe\u7f6e JDK \u4e3a Corretto 8 \u6216 11",id:"\u8bbe\u7f6e-jdk-\u4e3a-corretto-8-\u6216-11",level:3},{value:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",level:3},{value:"\u521b\u5efa\u9879\u76ee debug \u8c03\u8bd5",id:"\u521b\u5efa\u9879\u76ee-debug-\u8c03\u8bd5",level:3},{value:"\u8c03\u8bd5\u9879\u76ee",id:"\u8c03\u8bd5\u9879\u76ee",level:3},{value:"\u65ad\u70b9\u8c03\u8bd5\u7684\u57fa\u672c\u77e5\u8bc6",id:"\u65ad\u70b9\u8c03\u8bd5\u7684\u57fa\u672c\u77e5\u8bc6",level:4},{value:"\u66f4\u591a\u76f8\u5173\u5185\u5bb9\u53c2\u8003\u7f51\u7edc\u6587\u7ae0",id:"\u66f4\u591a\u76f8\u5173\u5185\u5bb9\u53c2\u8003\u7f51\u7edc\u6587\u7ae0",level:4},{value:"Trouble Shooting",id:"trouble-shooting",level:2},{value:"\u62a5\u9519\uff1acom.sun.net.ssl.internal.ssl.Provider",id:"\u62a5\u9519comsunnetsslinternalsslprovider",level:3},{value:"\u4fee\u6b63\u4e2d\u6587\u663e\u793a",id:"\u4fee\u6b63\u4e2d\u6587\u663e\u793a",level:3},{value:"\u4e0b\u4e00\u6b65",id:"\u4e0b\u4e00\u6b65",level:2}],o={toc:p};function d(e){let{components:t,...a}=e;return(0,i.kt)("wrapper",(0,n.Z)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"ide-\u4f7f\u7528\u4e4b-eclipse-ide"},"IDE \u4f7f\u7528\u4e4b Eclipse IDE"),(0,i.kt)("p",null,"<< \u56de\u5230",(0,i.kt)("a",{parentName:"p",href:"/docs/docs/v7/osc/engineering#%E5%88%9D%E5%A7%8B%E5%8C%96%E7%B3%BB%E7%BB%9F"},"\u4e0a\u4e00\u6b65\uff1a\u5f00\u53d1\u73af\u5883\u642d\u5efa")," "),(0,i.kt)("h2",{id:"\u5b89\u88c5\u548c\u4e0b\u8f7d-eclipse"},"\u5b89\u88c5\u548c\u4e0b\u8f7d Eclipse"),(0,i.kt)("h3",{id:"\u4e0b\u8f7d\u5b89\u88c5\u5305"},"\u4e0b\u8f7d\u5b89\u88c5\u5305"),(0,i.kt)("p",null,"\u5b89\u88c5 Eclipse\uff1a",(0,i.kt)("a",{parentName:"p",href:"https://www.eclipse.org/downloads/"},"https://www.eclipse.org/downloads/"),"\n\u672c\u6587\u4e0b\u8f7d\u65f6\uff0c\u7248\u672c\u4e3a\uff1aEclipse IDE 2021\u201109"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u4e0b\u8f7d Eclipse",src:l(25834).Z,width:"731",height:"313"})),(0,i.kt)("p",null,"\u4e0b\u8f7d\u8fc7\u7a0b\u5927\u7ea6\u9700\u8981 10 mins\u3002"),(0,i.kt)("h3",{id:"\u5b89\u88c5-eclipse"},"\u5b89\u88c5 Eclipse"),(0,i.kt)("p",null,"\u53cc\u51fb\u5b89\u88c5\u5305\uff0c\u6309\u7167\u63d0\u793a\u8fdb\u884c\u5b89\u88c5\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u5b89\u88c5 Eclipse",src:l(42830).Z,width:"533",height:"573"})),(0,i.kt)("h3",{id:"\u5b89\u88c5-sts"},"\u5b89\u88c5 STS"),(0,i.kt)("p",null,"STS \u6700\u7b80\u5355\u7684\u5b89\u88c5\u65b9\u5f0f\uff0c\u5c31\u662f\u542f\u52a8 Eclipse \u540e\uff0c\u5728 Eclipse Marketplace \u4e2d\u5b89\u88c5\u3002"),(0,i.kt)("p",null,"\u6253\u5f00 Marketplace\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Marketplace\u3002",src:l(96908).Z,width:"1010",height:"761"})),(0,i.kt)("p",null,"\u641c\u7d22\uff0cSpring Tool Suite\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Spring Tool Suite",src:l(50880).Z,width:"560",height:"365"})),(0,i.kt)("p",null,"\u70b9\u51fb\u3010Install\u3011\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Install",src:l(73888).Z,width:"612",height:"351"})),(0,i.kt)("p",null,"\u81f3\u5c11\u9009\u62e9\u4ee5\u4e0a\u51e0\u9879\uff0c\u5728\u6388\u6743\u58f0\u660e\u9875\u9762\uff0c\u9009\u62e9 \u3010I accept\u3011\uff0c\u70b9\u51fb\u3010Finish\u3011\u3002\n\u5b89\u88c5\u8fc7\u7a0b\u53ef\u80fd\u4f1a\u6301\u7eed\u534a\u4e2a\u5c0f\u65f6\uff0c\u89c6\u7f51\u7edc\u60c5\u51b5\u3002"),(0,i.kt)("p",null,"STS \u5b89\u88c5\u5b8c\u6210\uff0c\u4e0b\u4e00\u6b65\u5bfc\u5165\u9879\u76ee\u3002"),(0,i.kt)("h2",{id:"\u5bfc\u5165\u9879\u76ee"},"\u5bfc\u5165\u9879\u76ee"),(0,i.kt)("h3",{id:"\u521d\u59cb\u5316-contact-center-\u9879\u76ee\u63cf\u8ff0\u6587\u4ef6"},"\u521d\u59cb\u5316 Contact Center \u9879\u76ee\u63cf\u8ff0\u6587\u4ef6"),(0,i.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u63d0\u4f9b\u521d\u59cb\u5316\u811a\u672c\uff0c\u5728\u547d\u4ee4\u884c\u6267\u884c\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"cd cskefu.osc/contact-center\n./admin/gen-eclipse.sh\n")),(0,i.kt)("p",null,"\u5b8c\u6210\u540e\u6709\u5982\u4e0b\u63d0\u793a\uff1a"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u5bfc\u5165\u9879\u76ee",src:l(87499).Z,width:"831",height:"262"})),(0,i.kt)("p",null,"\u8be5\u547d\u4ee4\u751f\u6210\u4e86\u88ab Eclipse \u8bc6\u522b\u7684\u9879\u76ee\u5bfc\u5165\u6587\u4ef6\u3002"),(0,i.kt)("h3",{id:"\u5bfc\u5165\u5230-eclipse"},"\u5bfc\u5165\u5230 Eclipse"),(0,i.kt)("p",null,"\u6253\u5f00 Eclipse\uff0c\u9009\u62e9 File - Import, \u5bfc\u822a\u5230 cskefu.osc/contact-center/app\uff0c\u70b9\u51fb \u3010Select Folder\u3011\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u5bfc\u5165\u5230 Eclipse",src:l(34790).Z,width:"511",height:"543"})),(0,i.kt)("p",null,"\u5728\u63d0\u793a\u754c\u9762\uff0c\u9009\u62e9 Projects: contact-center."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u9009\u62e9\u9879\u76ee",src:l(38111).Z,width:"576",height:"524"})),(0,i.kt)("p",null,"\u5bfc\u5165\u5b8c\u6210\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u5bfc\u5165\u5b8c\u6210",src:l(80896).Z,width:"1190",height:"765"})),(0,i.kt)("h2",{id:"\u542f\u52a8\u548c\u8c03\u8bd5"},"\u542f\u52a8\u548c\u8c03\u8bd5"),(0,i.kt)("h3",{id:"\u8bbe\u7f6e-jdk-\u4e3a-corretto-8-\u6216-11"},"\u8bbe\u7f6e JDK \u4e3a Corretto 8 \u6216 11"),(0,i.kt)("p",null,"\u5728\u4e0a\u4e00\u7bc7",(0,i.kt)("a",{parentName:"p",href:"/docs/docs/v7/osc/engineering"},"\u300a\u5f00\u53d1\u73af\u5883\u642d\u5efa\u300b"),"\u6587\u6863\u4e2d\uff0c\u4ecb\u7ecd\u5b89\u88c5 Corretto 8 \u6216 11\uff0c\u6b64\u65f6\uff0c\u9700\u8981\u5c06\u8be5 JDK \u8bbe\u7f6e\u4e3a Eclipse \u4e2d contact-center \u9879\u76ee\u4f9d\u8d56\u7684 JDK\uff0c\u65b9\u6cd5\u5982\u4e0b\uff1a"),(0,i.kt)("p",null,"\u9996\u5148\uff0c\u5728\u5de6\u4fa7 contact-center \u53f3\u952e\uff0c\u9009\u62e9 Build path, configure Build Path ..."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u8bbe\u7f6e Build path",src:l(87541).Z,width:"875",height:"676"})),(0,i.kt)("p",null,"\u7136\u540e\uff0c\u9009\u62e9 Add Library, JRE System Library\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Add Library",src:l(99680).Z,width:"1118",height:"826"})),(0,i.kt)("p",null,"\u7136\u540e\uff0c\u6dfb\u52a0 JDK 8 \u8def\u5f84\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u8bbe\u7f6e\u8def\u5f84",src:l(72951).Z,width:"511",height:"514"})),(0,i.kt)("p",null,"\u70b9\u51fb \u3010Finish\u3011\u3002\u786e\u8ba4\u4f9d\u8d56 JDK\u3002"),(0,i.kt)("p",null,"\u6dfb\u52a0\u5b8c\u6210\uff0c\u56de\u5230 Java Build Path \u914d\u7f6e\u9875\u9762\uff0c\u786e\u8ba4 Libraries \u4e2d\uff0c\u4f9d\u8d56\u4e86 Corretto JDK\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u786e\u8ba4 SDK",src:l(41808).Z,width:"943",height:"545"})),(0,i.kt)("h3",{id:"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"},"\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"),(0,i.kt)("p",null,"\u5728\u76ee\u5f55\u4e2d\u6dfb\u52a0 application-dev.properties \u6587\u4ef6"),(0,i.kt)("p",null,"\u5177\u4f53\u64cd\u4f5c\uff0c\u590d\u5236 contact-center/src/main/resources/application.properties \u4e3a /contact-center/src/main/resources/application-dev.properties\u3002"),(0,i.kt)("p",null,"\u6839\u636e\u6570\u636e\u5e93\u4fe1\u606f\uff0c\u6216\u5176\u5b83\u4fe1\u606f\u8fdb\u884c\u5fc5\u8981\u7684\u66f4\u6539\u3002"),(0,i.kt)("p",null,"\u53c2\u8003\u4e0a\u4e00\u7bc7",(0,i.kt)("a",{parentName:"p",href:"/docs/docs/v7/osc/engineering"},"\u300a\u5f00\u53d1\u73af\u5883\u642d\u5efa\u300b"),"\u91cc\u7684\u5185\u5bb9\u3002"),(0,i.kt)("h3",{id:"\u521b\u5efa\u9879\u76ee-debug-\u8c03\u8bd5"},"\u521b\u5efa\u9879\u76ee debug \u8c03\u8bd5"),(0,i.kt)("p",null,"\u70b9\u51fb Debug \u542f\u52a8\u6309\u94ae\u4e0b\u62c9\u4e2d\u7684 Debug Configurations, \u5728\u5de6\u4fa7\u627e\u5230 Spring Boot App\uff0c\u53f3\u952e\uff0c\u9009\u62e9\u65b0\u5efa\u914d\u7f6e\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u542f\u52a8 Debug",src:l(58904).Z,width:"565",height:"189"})),(0,i.kt)("p",null,"\u5728\u914d\u7f6e\u9875\u9762\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\uff1acontact-center - Application\uff0cproject \u9009\u62e9 contact-center, Main Type \u9009\u62e9 com.chatopera.cc.Application\u3002"),(0,i.kt)("p",null,"\u7136\u540e\u70b9\u51fb Environment\uff0c\u70b9\u51fb Add \u6dfb\u52a0\uff1aName - SPRING_PROFILES_ACTIVE\uff0c Value - dev\uff0c\u5b57\u7b26\u4e32\u65e0\u7a7a\u683c\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf",src:l(82354).Z,width:"1175",height:"834"})),(0,i.kt)("p",null,"\u70b9\u51fb\u3010Apply\u3011\u3002\u7136\u540e\u70b9\u51fb\u3010Debug\u3011\u3002"),(0,i.kt)("p",null,"\u6b64\u65f6\uff0c\u6eda\u52a8\u51fa\u5927\u91cf\u7684\u65e5\u5fd7\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u67e5\u770b\u65e5\u5fd7",src:l(5549).Z,width:"1320",height:"739"})),(0,i.kt)("h3",{id:"\u8c03\u8bd5\u9879\u76ee"},"\u8c03\u8bd5\u9879\u76ee"),(0,i.kt)("p",null,"\u5728\u9879\u76ee\u63d0\u793a\uff1a c.c.socketio.SocketIOServer - SocketIO server started at port\uff0c\u4ee3\u8868\u9879\u76ee\u542f\u52a8\u6210\u529f\u3002"),(0,i.kt)("h4",{id:"\u65ad\u70b9\u8c03\u8bd5\u7684\u57fa\u672c\u77e5\u8bc6"},"\u65ad\u70b9\u8c03\u8bd5\u7684\u57fa\u672c\u77e5\u8bc6"),(0,i.kt)("p",null,"\u7b2c\u4e00\u6b65\uff1a \u8bbe\u7f6e\u65ad\u70b9\uff1a\u5728\u8be5\u884c\u6700\u524d\u9762\u8fb9\u6846\u53cc\u51fb \u6216\u5feb\u6377\u952e\uff1aCtrl + Shift + B "),(0,i.kt)("p",null,"\u7b2c\u4e8c\u6b65\uff1a Debug \u8fd0\u884c\u542f\u52a8 "),(0,i.kt)("p",null,"\u7b2c\u4e09\u90e8\uff1a \u8fd0\u884c\u5230\u65ad\u70b9\u540e\uff0c\u4f7f\u7528\u5feb\u6377\u952eF5\uff0cF6\uff0cF7\u5355\u6b65\u6267\u884c\u3002"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"F5 - Step into/\u8df3\u5165\u65b9\u6cd5/\u8fdb\u5165\u8be5\u884c\u7684\u51fd\u6570\u5185\u90e8\uff1b"),(0,i.kt)("li",{parentName:"ul"},"F6 - Step over/\u5411\u4e0b\u9010\u884c\u8c03\u8bd5/\u4e00\u884c\u4e00\u884c\u6267\u884c\uff1b"),(0,i.kt)("li",{parentName:"ul"},"F7 - Step return/\u8df3\u51fa\u65b9\u6cd5/\u9000\u51fa\u5f53\u524d\u7684\u51fd\u6570\uff1b"),(0,i.kt)("li",{parentName:"ul"},"F8 - \u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u4e2a\u65ad\u70b9\u3002")),(0,i.kt)("h4",{id:"\u66f4\u591a\u76f8\u5173\u5185\u5bb9\u53c2\u8003\u7f51\u7edc\u6587\u7ae0"},"\u66f4\u591a\u76f8\u5173\u5185\u5bb9\u53c2\u8003\u7f51\u7edc\u6587\u7ae0"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://jingyan.baidu.com/article/647f0115d666b27f2148a8b1.html"},"Eclipse \u65ad\u70b9\u8c03\u8bd5\uff08debug\uff09\u5b9e\u7528\u6280\u5de7\u2014\u2014\u57fa\u7840\u7bc7")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://blog.csdn.net/u011781521/article/details/55000066"},"Eclipse \u7684 Debug \u8c03\u8bd5\u6280\u5de7\u5927\u5168"))),(0,i.kt)("h2",{id:"trouble-shooting"},"Trouble Shooting"),(0,i.kt)("h3",{id:"\u62a5\u9519comsunnetsslinternalsslprovider"},"\u62a5\u9519\uff1acom.sun.net.ssl.internal.ssl.Provider"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u65e5\u5fd7",src:l(91062).Z,width:"1073",height:"489"})),(0,i.kt)("p",null,"\u89e3\u51b3\u529e\u6cd5\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u4fee\u6539 Compiler \u9a8c\u8bc1\u63d0\u793a\uff0c",(0,i.kt)("a",{parentName:"li",href:"https://blog.csdn.net/tower888/article/details/106220494"},"\u8be6\u7ec6\u4ecb\u7ecd"))),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u65e5\u5fd7",src:l(95600).Z,width:"757",height:"379"})),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u4fee\u6539 Project JRE \u4e3a\u524d\u9762\u5b89\u88c5\u7684 Java8 JRE")),(0,i.kt)("h3",{id:"\u4fee\u6b63\u4e2d\u6587\u663e\u793a"},"\u4fee\u6b63\u4e2d\u6587\u663e\u793a"),(0,i.kt)("p",null,"\u89e3\u51b3\u529e\u6cd5",(0,i.kt)("a",{parentName:"p",href:"https://blog.csdn.net/timo1160139211/article/details/74908266"},"\u8be6\u7ec6\u4ecb\u7ecd"),"\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"\u663e\u793a\u4e2d\u6587",src:l(59135).Z,width:"300",height:"268"})),(0,i.kt)("h2",{id:"\u4e0b\u4e00\u6b65"},"\u4e0b\u4e00\u6b65"),(0,i.kt)("p",null,"\u56de\u5230",(0,i.kt)("a",{parentName:"p",href:"/docs/docs/v7/osc/engineering#%E5%88%9D%E5%A7%8B%E5%8C%96%E7%B3%BB%E7%BB%9F"},"\u4e0a\u4e00\u6b65\uff1a\u5f00\u53d1\u73af\u5883\u642d\u5efa"),"\u5b8c\u6210\u540e\u7eed\u6b65\u9aa4\u3002"))}d.isMDXComponent=!0},25834:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2021-12-4_14-59-23-7ec9df3594e5a50f83a2a155ea24e8b6.png"},91062:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2021-12-4_16-20-49-bfcd88c14696d57316d726bc30c71980.png"},95600:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2021-12-4_16-21-52-09d946d6f2d41111b8454e07a6df3ad7.png"},59135:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2021-12-4_16-36-7-44eed75743fd1d4b367feef4cb70cce1.png"},87499:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2021-12-4_16-6-25-bfa5b71a161a99da0365cd1015fb36d9.png"},42830:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_15-53-32-bfc76a8ac0636cb098cb0a7d62f8ee57.png"},96908:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_15-54-15-f313a8177ad8e4c48f6c54e1526ac923.png"},50880:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_15-55-16-5caca706bfb42330402c164d91f5a1b2.png"},73888:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_15-56-34-9ea74bd677a379664f06cb26c20149f2.png"},34790:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-0-40-84f702018458e59a0e974fc2372423e7.png"},72951:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-10-31-cdc05ef287a011c01c70be464c033c2f.png"},99680:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-12-56-f6c7cdc408bcdb8a5e06e2d831688f2f.png"},87541:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-14-16-4b85fd090cccbdbb5bd7d75abb33d1f7.png"},41808:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-16-43-b449d758b8dfc9983d4d7000fa3e9001.png"},82354:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-23-28-0b5c725c5bfabfe64ccfe1ec9e26d877.png"},58904:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-25-4-ba72383a10f589b7c95ffcac935776d4.png"},5549:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-28-16-1c2c9ffa6e1034bef3800a75099fbe42.png"},80896:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-6-21-d68f322e0b2349d37168bbee4a7ba2e5.png"},38111:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/image2022-3-26_16-7-20-315878fe40f38194852a42ef2d2807f7.png"}}]);
\ No newline at end of file
diff --git a/assets/js/73e12729.260e8975.js b/assets/js/73e12729.260e8975.js
new file mode 100644
index 00000000..b1b110da
--- /dev/null
+++ b/assets/js/73e12729.260e8975.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkcskefu_docs=self.webpackChunkcskefu_docs||[]).push([[2919],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>m});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function p(e){for(var t=1;t=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var s=n.createContext({}),o=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):p(p({},t),e)),a},c=function(e){var t=o(e.components);return n.createElement(s.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),u=o(a),m=l,d=u["".concat(s,".").concat(m)]||u[m]||k[m]||r;return a?n.createElement(d,p(p({ref:t},c),{},{components:a})):n.createElement(d,p({ref:t},c))}));function m(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,p=new Array(r);p[0]=u;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:l,p[1]=i;for(var o=2;o{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>p,default:()=>k,frontMatter:()=>r,metadata:()=>i,toc:()=>o});var n=a(87462),l=(a(67294),a(3905));const r={sidebar_position:3},p="\u5f00\u53d1\u73af\u5883\u642d\u5efa",i={unversionedId:"osc/engineering",id:"version-v7/osc/engineering",title:"\u5f00\u53d1\u73af\u5883\u642d\u5efa",description:"\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5b8c\u6210\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u73af\u5883\u7684\u642d\u5efa\uff0c\u9762\u5411\u4f01\u4e1a/\u5f00\u53d1\u8005\u63d0\u4f9b\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u4e8c\u6b21\u5f00\u53d1\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u4ece\u5165\u95e8\u5230\u638c\u63e1\u5168\u90e8\u5f00\u53d1\u6280\u80fd\u8bf7\u5b66\u4e60\u300a\u6625\u677e\u5ba2\u670d\u5927\u8bb2\u5802\u300b\u3002",source:"@site/versioned_docs/version-v7/osc/engineering.md",sourceDirName:"osc",slug:"/osc/engineering",permalink:"/docs/docs/v7/osc/engineering",draft:!1,editUrl:"https://github.com/cskefu/docs/tree/main/packages/create-docusaurus/templates/shared/versioned_docs/version-v7/osc/engineering.md",tags:[],version:"v7",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"\u6625\u677e\u5ba2\u670d\u5927\u8bb2\u5802",permalink:"/docs/docs/v7/osc/training"},next:{title:"IDE \u4f7f\u7528\u4e4b Eclipse IDE",permalink:"/docs/docs/v7/osc/ide_eclipse"}},s={},o=[{value:"\u4f9d\u8d56",id:"\u4f9d\u8d56",level:2},{value:"\u5b89\u88c5 Java SDK",id:"\u5b89\u88c5-java-sdk",level:2},{value:"\u914d\u7f6e Maven",id:"\u914d\u7f6e-maven",level:2},{value:"\u514b\u9686\u9879\u76ee",id:"\u514b\u9686\u9879\u76ee",level:2},{value:"\u51c6\u5907 GitHub \u8d26\u53f7",id:"\u51c6\u5907-github-\u8d26\u53f7",level:3},{value:"Fork \u6e90\u7801",id:"fork-\u6e90\u7801",level:3},{value:"\u4e0b\u8f7d\u6e90\u7801",id:"\u4e0b\u8f7d\u6e90\u7801",level:3},{value:"\u6dfb\u52a0 Upstream",id:"\u6dfb\u52a0-upstream",level:3},{value:"\u6587\u4ef6\u76ee\u5f55\u4ecb\u7ecd",id:"\u6587\u4ef6\u76ee\u5f55\u4ecb\u7ecd",level:2},{value:"\u914d\u7f6e\u542f\u52a8\u53c2\u6570",id:"\u914d\u7f6e\u542f\u52a8\u53c2\u6570",level:2},{value:"\u4f7f\u7528 Profile \u6587\u4ef6",id:"\u4f7f\u7528-profile-\u6587\u4ef6",level:3},{value:"\u73af\u5883\u53d8\u91cf",id:"\u73af\u5883\u53d8\u91cf",level:3},{value:"\u6570\u636e\u5e93\u642d\u5efa",id:"\u6570\u636e\u5e93\u642d\u5efa",level:2},{value:"Elasticsearch",id:"elasticsearch",level:3},{value:"ActiveMQ",id:"activemq",level:3},{value:"MySQL",id:"mysql",level:3},{value:"\u8fde\u63a5 MySQL \u670d\u52a1",id:"\u8fde\u63a5-mysql-\u670d\u52a1",level:4},{value:"MySQL \u6570\u636e\u5b57\u5178",id:"mysql-\u6570\u636e\u5b57\u5178",level:4},{value:"SQL \u5feb\u901f\u5165\u95e8",id:"sql-\u5feb\u901f\u5165\u95e8",level:4},{value:"Redis",id:"redis",level:3},{value:"\u5b89\u88c5\u6625\u677e\u5ba2\u670d\u63d2\u4ef6",id:"\u5b89\u88c5\u6625\u677e\u5ba2\u670d\u63d2\u4ef6",level:2},{value:"\u914d\u7f6e IDE",id:"\u914d\u7f6e-ide",level:2},{value:"\u521d\u59cb\u5316\u7cfb\u7edf",id:"\u521d\u59cb\u5316\u7cfb\u7edf",level:2},{value:"\u6625\u677e\u5ba2\u670d\u4ee3\u7801\u89c4\u8303",id:"\u6625\u677e\u5ba2\u670d\u4ee3\u7801\u89c4\u8303",level:2},{value:"\u6a21\u62df\u8bbf\u5ba2\u7aef\u6d4b\u8bd5",id:"\u6a21\u62df\u8bbf\u5ba2\u7aef\u6d4b\u8bd5",level:2},{value:"\u521b\u5efa\u7f51\u7ad9\u6e20\u9053",id:"\u521b\u5efa\u7f51\u7ad9\u6e20\u9053",level:3},{value:"\u8bbe\u8ba1\u7f51\u9875\u7aef\u6837\u5f0f",id:"\u8bbe\u8ba1\u7f51\u9875\u7aef\u6837\u5f0f",level:3},{value:"\u8bbf\u95ee\u6d4b\u8bd5\u7a0b\u5e8f",id:"\u8bbf\u95ee\u6d4b\u8bd5\u7a0b\u5e8f",level:3},{value:"\u7f51\u7ad9\u7559\u8a00",id:"\u7f51\u7ad9\u7559\u8a00",level:3},{value:"\u5d4c\u5165\u4ee3\u7801\u5230\u7f51\u7ad9\u4e2d",id:"\u5d4c\u5165\u4ee3\u7801\u5230\u7f51\u7ad9\u4e2d",level:3},{value:"\u63a5\u4e0b\u6765",id:"\u63a5\u4e0b\u6765",level:2}],c={toc:o};function k(e){let{components:t,...r}=e;return(0,l.kt)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"\u5f00\u53d1\u73af\u5883\u642d\u5efa"},"\u5f00\u53d1\u73af\u5883\u642d\u5efa"),(0,l.kt)("p",null,"\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5b8c\u6210\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u73af\u5883\u7684\u642d\u5efa\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u9762\u5411\u4f01\u4e1a/\u5f00\u53d1\u8005\u63d0\u4f9b\u5173\u4e8e\u6625\u677e\u5ba2\u670d\u4e8c\u6b21\u5f00\u53d1\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u4ece\u5165\u95e8\u5230\u638c\u63e1\u5168\u90e8\u5f00\u53d1\u6280\u80fd\u8bf7\u5b66\u4e60",(0,l.kt)("a",{parentName:"strong",href:"/docs/osc/training"},"\u300a\u6625\u677e\u5ba2\u670d\u5927\u8bb2\u5802\u300b")),"\u3002"),(0,l.kt)("p",null,"\u672c\u6587\u6863\u9488\u5bf9\u6625\u677e\u5ba2\u670d v7 \u7248\u672c\uff0c\u8be5\u7248\u672c\u5bf9\u5e94\u7684\u4ee3\u7801\u53c2\u8003",(0,l.kt)("a",{parentName:"p",href:"/docs/deploy#%E5%85%8B%E9%9A%86%E4%BB%A3%E7%A0%81"},"\u94fe\u63a5"),"\u3002"),(0,l.kt)("h2",{id:"\u4f9d\u8d56"},"\u4f9d\u8d56"),(0,l.kt)("p",null,"\u5f00\u53d1\u73af\u5883\u4f9d\u8d56\uff0c\u63d0\u524d\u51c6\u5907\u597d\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u64cd\u4f5c\u7cfb\u7edf Windows \u6216 Mac OS"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://git-scm.com/"},"Git")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/what-is-corretto-11.html"},"Java 11+")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://maven.apache.org/"},"Maven 3+")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://www.docker.com/"},"Docker 18+")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://docs.docker.com/compose/install/"},"Docker compose 1.22+"))),(0,l.kt)("p",null,"\u4ee5\u4e0a\u5b89\u88c5\uff0c\u4e5f\u6d89\u53ca\u73af\u5883\u53d8\u91cf PATH \u914d\u7f6e\uff0c\u6bd4\u5982 ",(0,l.kt)("inlineCode",{parentName:"p"},"java"),", ",(0,l.kt)("inlineCode",{parentName:"p"},"mvn")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"git")," \u7b49\u5728\u547d\u4ee4\u884c\u7ec8\u7aef\u4e2d\u53ef\u4ee5\u4f7f\u7528\uff0c\u5728\u4e0d\u540c\u7684\u4f9d\u8d56\u5b89\u88c5\u6587\u6863\u4e2d\u4e5f\u6709\u3002\n\u5728 Windows \u4e0a\uff0c\u547d\u4ee4\u884c\u7ec8\u7aef\u4f7f\u7528 Git Bash\uff0c\u5b89\u88c5 Git \u65f6\u4f1a\u9ed8\u8ba4\u5305\u62ec\u3002"),(0,l.kt)("p",null,"\u63d0\u793a\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Docker \u6216 Docker compose \u53ef\u4ee5\u5b89\u88c5\u5230 Linux/Windows/Mac \u4e0a\uff0cDocker \u5728\u5f00\u53d1\u9636\u6bb5\u7528\u6765\u542f\u52a8\u6570\u636e\u5e93\u3001\u4e2d\u95f4\u4ef6\u3002")),(0,l.kt)("h2",{id:"\u5b89\u88c5-java-sdk"},"\u5b89\u88c5 Java SDK"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u4f7f\u7528",(0,l.kt)("a",{parentName:"p",href:"https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/what-is-corretto-11.html"},"Amazon Corretto SDK 11"),"\uff0c\u539f\u56e0\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u517c\u5bb9 OpenJDK \u6807\u51c6"),(0,l.kt)("li",{parentName:"ul"},"\u826f\u597d\u7684\u5f00\u6e90\u793e\u533a\uff0c\u53ef\u957f\u671f\u5546\u4e1a\u53cb\u597d\u7684\u4f7f\u7528\uff0cAmazon \u53d1\u5e03\uff0cJames Gosling \u9886\u5bfc"),(0,l.kt)("li",{parentName:"ul"},"\u9002\u5e94\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf")),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u4e0d\u4f7f\u7528\u5176\u5b83\u7248\u672c\u7684 JDK\uff0c\u5982\u6709\u5176\u5b83 JDK \u8bc9\u6c42\u81ea\u884c\u6d4b\u8bd5\uff1a\u7406\u8bba\u4e0a\uff0c\u6240\u6709 OpenJDK 11 \u7684 JVM \u90fd\u662f\u53ef\u4ee5\u8fd0\u884c\u6625\u677e\u5ba2\u670d\u7684\u3002"),(0,l.kt)("h2",{id:"\u914d\u7f6e-maven"},"\u914d\u7f6e Maven"),(0,l.kt)("p",null,"\u786e\u4fdd\u5728 pom.xml \u4e2d\u5b58\u5728\u5982\u4e0b\u7684 maven \u5e93\uff0c",(0,l.kt)("a",{parentName:"p",href:"https://nexus.chatopera.com/"},"Chatopera Nexus"),"\u662f\u4ee3\u7406 Maven Central\uff0cAlibaba Maven Repo \u7b49\u8282\u70b9\u7684\u6df7\u5408 Maven Repository\uff0c\u4f7f\u7528 Chatopera Nexus \u4e0d\u4f1a\u5f71\u54cd\u9879\u76ee\u4f7f\u7528\u5176\u5b83\u516c\u5171\u5305\uff08Artifacts\uff09\u3002"),(0,l.kt)("p",null,"\u5728",(0,l.kt)("inlineCode",{parentName:"p"},""),"\u5185\u5b58\u5728\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-XML"}," \n \n chatopera\n Chatopera Inc.\n https://nexus.chatopera.com/repository/maven-public\n \n true\n \n \n true\n \n \n \n")),(0,l.kt)("p",null,"\u914d\u7f6e\u6587\u4ef6\u7684\u793a\u4f8b\u89c1 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/blob/osc/contact-center/app/pom.xml"},"pom.xml"),"\u3002"),(0,l.kt)("p",null,"\u5982\u914d\u7f6e\u540e\u4e0d\u80fd\u4e0b\u8f7d\uff0c\u8bf7\u53c2\u8003",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/issues/137"},"\u914d\u7f6e\u6587\u4ef6"),"\u3002"),(0,l.kt)("h2",{id:"\u514b\u9686\u9879\u76ee"},"\u514b\u9686\u9879\u76ee"),(0,l.kt)("h3",{id:"\u51c6\u5907-github-\u8d26\u53f7"},"\u51c6\u5907 GitHub \u8d26\u53f7"),(0,l.kt)("p",null,"\u6ce8\u518c",(0,l.kt)("a",{parentName:"p",href:"https://github.com/signup?user_email=&source=form-home-signup"},"\u5730\u5740"),"\uff0c\u8be5\u6ce8\u518c\u4f9d\u8d56\u4e8e\u90ae\u7bb1\u3002\u6ce8\u518c\u5b8c\u6210\u540e\uff0c\u8fdb\u884c\u767b\u5f55\u3002"),(0,l.kt)("p",null,"\u6dfb\u52a0 SSH Key:"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u5728 Terminal \u547d\u4ee4\u884c\u7ec8\u7aef\uff08Git Bash, Windows\uff09\u6267\u884c\u547d\u4ee4 ",(0,l.kt)("inlineCode",{parentName:"p"},"ssh-keygen"),"\uff0c\u5f97\u5230\u6587\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"p"},"~/.ssh/id_rsa.pub")," \u5e76\u590d\u5236\u5176\u6587\u672c\u5185\u5bb9\u5230\u7c98\u8d34\u677f\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u6253\u5f00 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/settings/keys"},"SSH Keys \u7ba1\u7406\u5730\u5740"),"\uff0c\u70b9\u51fb\u3010New SSH Key\u3011\uff0c\u4f7f\u7528\u7c98\u8d34\u677f\u5185\u5bb9\u521b\u5efa\u4e00\u4e2a SSH KEY\u3002"))),(0,l.kt)("h3",{id:"fork-\u6e90\u7801"},"Fork \u6e90\u7801"),(0,l.kt)("p",null,"\u5728\u6d4f\u89c8\u5668\u4e2d\uff0c\u6253\u5f00",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu"},"\u6625\u677e\u5ba2\u670d\u9879\u76ee\u5730\u5740"),"\uff0c\u5728\u53f3\u4e0a\u89d2\uff0c\u627e\u5230\u3010Fork\u3011\u6309\u94ae\uff0c\u70b9\u51fb\u3010Fork\u3011\uff0c\u6839\u636e\u63d0\u793a\u9009\u62e9\u7a7a\u95f4\uff0c\u8be5\u9879\u76ee\u6e90\u7801\u5c06\u88ab\u590d\u5236\u5230\u8be5\u7a7a\u95f4\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"Fork \u6e90\u7801",src:a(30836).Z,width:"759",height:"368"})),(0,l.kt)("p",null,"\u514b\u9686\u540e\uff0c\u65b0\u7684\u9879\u76ee\u5730\u5740\u7c7b\u4f3c\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-Bash"},"https://github.com/${YOUR_SPACE}/cskefu # ${YOUR_SPACE} \u4ee3\u8868\u60a8\u7684\u7a7a\u95f4\u540d\u79f0\n")),(0,l.kt)("h3",{id:"\u4e0b\u8f7d\u6e90\u7801"},"\u4e0b\u8f7d\u6e90\u7801"),(0,l.kt)("p",null,"\u514b\u9686\u9879\u76ee\uff0c\u5c31\u662f\u5c06\u4e0a\u9762\u65b0\u5efa\u7684\u9879\u76ee\u7684\u6e90\u7801\uff0c\u4e0b\u8f7d\u5230\u8ba1\u7b97\u673a\uff0c\u4f7f\u7528\u547d\u4ee4\u884c\u7ec8\u7aef\u6267\u884c\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-Bash"},"git clone https://github.com/${YOUR_SPACE}/cskefu.git cskefu\n# \u9ed8\u8ba4\u4e3a develop \u5206\u652f, develop \u5206\u652f\u4e3a\u5f53\u524d\u53d1\u884c\u7248\u672c\u7684\u7ef4\u62a4\u5206\u652f\uff1bmaster \u5206\u652f\u4e3a\u53d1\u884c\u7248\u672c\u7684\u7a33\u5b9a\u5206\u652f\uff1bnext \u4e3a\u4e0b\u4e00\u4e2a\u7248\u672c\u7684\u7814\u53d1\u5206\u652f\n# \u4ee5\u4e0b\uff0c\u4f7f\u7528 cskefu \u4ee3\u8868\u6e90\u7801\u6240\u5728\u8def\u5f84\n")),(0,l.kt)("h3",{id:"\u6dfb\u52a0-upstream"},"\u6dfb\u52a0 Upstream"),(0,l.kt)("p",null,"Upstream \u6307\u6625\u677e\u5ba2\u670d GitHub Repo\uff08",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu%EF%BC%89%EF%BC%8C%E5%B0%B1%E6%98%AF%E6%98%A5%E6%9D%BE%E5%AE%A2%E6%9C%8D%E7%9A%84%E9%A1%B9%E7%9B%AE%E5%BA%93%E6%A0%B8%E5%BF%83%E5%88%86%E6%94%AF%E3%80%82%E6%B7%BB%E5%8A%A0"},"https://github.com/cskefu/cskefu\uff09\uff0c\u5c31\u662f\u6625\u677e\u5ba2\u670d\u7684\u9879\u76ee\u5e93\u6838\u5fc3\u5206\u652f\u3002\u6dfb\u52a0")," Upstream \u7684\u76ee\u7684\uff0c\u662f\u4e4b\u540e\u4ece\u6625\u677e\u5ba2\u670d\u9879\u76ee\u62c9\u53d6\u66f4\u65b0\u4ee3\u7801\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-Bash"},"cd cskefu\ngit remote add upstream git@github.com:cskefu/cskefu.git\n")),(0,l.kt)("p",null,"\u5b8c\u6210\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u514b\u9686\u9879\u76ee\u5b8c\u6bd5\u3002\u4e5f\u8bf7\u7ed9\u6625\u677e\u5ba2\u670d\u70b9\u8d5e\uff0c\u4f7f\u7528\u3010Fork\u3011\u65c1\u8fb9\u7684\u3010Star\u3011\u6309\u94ae\u3002"),(0,l.kt)("p",null,"![\u7ed9\u6625\u677e\u5ba2\u670d\u70b9\u8d5e]","(../images/products/cosin/g4.jpg] "),(0,l.kt)("h2",{id:"\u6587\u4ef6\u76ee\u5f55\u4ecb\u7ecd"},"\u6587\u4ef6\u76ee\u5f55\u4ecb\u7ecd"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"\u6587\u4ef6\u76ee\u5f55\u4ecb\u7ecd",src:a(52761).Z,width:"284",height:"224"})),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"\u76ee\u5f55"),(0,l.kt)("th",{parentName:"tr",align:null},"\u8bf4\u660e"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("inlineCode",{parentName:"td"},"_m2")),(0,l.kt)("td",{parentName:"tr",align:null},"\u7528\u4e8e Dockerfile \u4e2d\uff0c\u6784\u5efa\u955c\u50cf")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("inlineCode",{parentName:"td"},"admin")),(0,l.kt)("td",{parentName:"tr",align:null},"\u5404\u79cd\u811a\u672c")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("inlineCode",{parentName:"td"},"app")),(0,l.kt)("td",{parentName:"tr",align:null},"\u6e90\u4ee3\u7801")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("inlineCode",{parentName:"td"},"config")),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u5e93\u6587\u4ef6")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("inlineCode",{parentName:"td"},"data")),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u5e93\u6570\u636e")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("inlineCode",{parentName:"td"},"logs")),(0,l.kt)("td",{parentName:"tr",align:null},"\u65e5\u5fd7")))),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u662f\u57fa\u4e8e Java \u5f00\u53d1\u5230\uff0c\u4f7f\u7528 Maven \u7ef4\u62a4\u9879\u76ee\u58f0\u660e\u5468\u671f\u3002\u4f7f\u7528 Maven \u547d\u4ee4\uff0c\u751f\u6210\u9879\u76ee\uff0c\u65b9\u4fbf\u5bfc\u5165\u5230 IDE \u4e2d\u3002"),(0,l.kt)("h2",{id:"\u914d\u7f6e\u542f\u52a8\u53c2\u6570"},"\u914d\u7f6e\u542f\u52a8\u53c2\u6570"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u662f\u57fa\u4e8e ",(0,l.kt)("a",{parentName:"p",href:"https://mvnrepository.com/artifact/org.springframework.boot/spring-boot/1.5.22.RELEASE"},"Spring Boot Release 1.5.22.RELEASE")," \u5f00\u53d1\uff0c\u914d\u7f6e\u6587\u4ef6\u662f"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-\u8def\u5f84"},"cskefu/contact-center/app/src/main/resources/application.properties\n")),(0,l.kt)("p",null,"\u6570\u636e\u5e93\uff08\u540e\u6587\u4ecb\u7ecd\u642d\u5efa\u6570\u636e\u5e93\uff09\u8fde\u63a5\u7b49\u5176\u4ed6\u4fe1\u606f\uff0c\u53c2\u8003\u8be5\u6587\u4ef6\u3002\u4f7f\u7528\u81ea\u5b9a\u4e49\u503c\u8986\u76d6\u9ed8\u8ba4\u503c\uff0c\u6709\u4ee5\u4e0b\u4e24\u4e2a\u65b9\u5f0f\uff1a"),(0,l.kt)("p",null,"1\uff09\u4f7f\u7528 application-dev.properties\uff1b"),(0,l.kt)("p",null,"2\uff09\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u3002"),(0,l.kt)("h3",{id:"\u4f7f\u7528-profile-\u6587\u4ef6"},"\u4f7f\u7528 Profile \u6587\u4ef6"),(0,l.kt)("p",null,"\u4f7f\u7528 application-dev.properties \u8986\u76d6\u9ed8\u8ba4\u914d\u7f6e\u3002"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-\u73af\u5883\u53d8\u91cf"},"SPRING_PROFILES_ACTIVE=dev\n")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u521b\u5efa application-dev.properties")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-Bash"},"touch contact-center/app/src/main/resources/application-dev.properties\n")),(0,l.kt)("p",null,"\u5185\u5bb9\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-\u6587\u672c"},"# MySQL\nspring.datasource.url=jdbc:mysql://192.168.2.217:7111/cosinee?useUnicode=true&characterEncoding=UTF-8\nspring.datasource.username=root\nspring.datasource.password=123456\n\n# Redis\u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3\nspring.redis.host=localhost\nspring.redis.port=6379\n# Redis\u670d\u52a1\u5668\u8fde\u63a5\u5bc6\u7801\uff08\u9ed8\u8ba4\u4e3a\u7a7a\uff09\nspring.redis.password=\n\n# ActiveMQ\nspring.activemq.broker-url=tcp://192.168.2.217:9007\nspring.activemq.user=admin\nspring.activemq.password=123456\n\n# Elasticsearch\nspring.data.elasticsearch.cluster-nodes=192.168.2.217:7201\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u6b64\u5904\u53ef\u4ee5\u8986\u76d6 application.properties \u4e2d\u7684\u4efb\u4f55\u503c\u3002")),(0,l.kt)("h3",{id:"\u73af\u5883\u53d8\u91cf"},"\u73af\u5883\u53d8\u91cf"),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"application.properties")," \u4e2d\u7684\u6bcf\u4e00\u9879\u90fd\u53ef\u4ee5\u7528\u73af\u5883\u53d8\u91cf\u914d\u7f6e\uff0c\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u65b9\u5f0f\u6620\u5c04\u914d\u7f6e\u4fe1\u606f\uff0c\u5b9e\u73b0\u8986\u76d6 ",(0,l.kt)("inlineCode",{parentName:"p"},"application.properties")," \u4e2d\u7b49\u914d\u7f6e\uff0c\u5176\u6620\u5c04\u65b9\u5f0f\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"propery")," \u7684\u952e\u8f6c\u4e3a\u5927\u5199\u540c\u65f6",(0,l.kt)("inlineCode",{parentName:"p"},"."),"\u548c",(0,l.kt)("inlineCode",{parentName:"p"},"-"),"\u8f6c\u4e3a",(0,l.kt)("inlineCode",{parentName:"p"},"_"),"\u3002\u90e8\u5206\u73af\u5883\u53d8\u91cf\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-\u73af\u5883\u53d8\u91cf"},"SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/contactcenter?useUnicode=true&characterEncoding=UTF-8\nSPRING_DATASOURCE_USERNAME=root\nSPRING_DATASOURCE_PASSWORD=123456\n")),(0,l.kt)("p",null,"\u6bd4\u5982\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"SPRING_DATASOURCE_URL")," \u5c31\u662f\u5bf9\u5e94\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"properties")," \u6587\u4ef6\u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"spring.datasource.url"),"\u3002\u540c\u65f6\uff0c\u73af\u5883\u53d8\u91cf\u7684\u503c\u4f18\u5148\u7ea7\u9ad8\u4e8e ",(0,l.kt)("inlineCode",{parentName:"p"},"properties")," \u6587\u4ef6\u3002"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u63d0\u793a\uff1a\u5728\u751f\u4ea7\u73af\u5883\u90e8\u7f72\uff0c\u5efa\u8bae\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u65b9\u5f0f\u914d\u7f6e\u3002")),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d Docker \u5bb9\u5668\u7684\u914d\u7f6e\uff0c\u4f7f\u7528\u4e86\u73af\u5883\u53d8\u91cf\u7684\u65b9\u5f0f\uff0c\u53c2\u8003\u6587\u4ef6",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/blob/osc/docker-compose.yml"},"docker-compose.yml"),"\u3002"),(0,l.kt)("h2",{id:"\u6570\u636e\u5e93\u642d\u5efa"},"\u6570\u636e\u5e93\u642d\u5efa"),(0,l.kt)("p",null,"\u5728\u6e90\u7801\u4e2d\uff0c\u9ed8\u8ba4\u4f7f\u7528 docker-compose \u542f\u52a8\u670d\u52a1\u7684\u63cf\u8ff0\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/blob/develop/docker-compose.yml"},"docker-compose.yml"),"\uff0c\u7528\u4e8e\u5feb\u901f\u51c6\u5907\u5f00\u53d1\u73af\u5883\u3002"),(0,l.kt)("p",null,"\u4e3a\u4e86\u51cf\u5c11\u5f00\u53d1\u73af\u5883\u642d\u5efa\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898\uff0c\u4f7f\u7528 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/blob/develop/docker-compose.yml"},"docker-compose.yml")," \u4e2d\u7684 docker \u955c\u50cf\u542f\u52a8\u4ee5\u4e0b\u670d\u52a1\uff0c\u5c24\u5176\u662f\u6625\u677e\u5ba2\u670d\u5bf9\u4e8e\u4e00\u4e9b\u8f6f\u4ef6\u7684\u7248\u672c\u6709\u8981\u6c42\uff0c\u6211\u4eec\u5f3a\u70c8\u5efa\u8bae\u5f00\u53d1\u8005\u5728\u5165\u95e8\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u7684\u9636\u6bb5\uff0c\u5b89\u88c5 docker \u548c docker-compose\uff0c\u5e76\u6309\u7167\u4e0b\u9762\u7684\u6b65\u9aa4\u914d\u7f6e\u5f00\u53d1\u73af\u5883\u3002"),(0,l.kt)("p",null,"\u8fd9\u51e0\u4e2a\u6570\u636e\u5e93\uff0c\u53ef\u4ee5\u7528\u4e00\u884c\u547d\u4ee4\u542f\u52a8\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"cd cskefu\ndocker-compose up -d mysql elasticsearch activemq redis\n")),(0,l.kt)("p",null,"\u53e6\u5916\uff0c\u4ee5\u4e0b\u51e0\u4e2a\u6570\u636e\u5e93\u670d\u52a1\u53ef\u4ee5\u8fd0\u884c\u5728\u4e0d\u540c\u7684\u8ba1\u7b97\u673a\uff0c\u4ee5\u8282\u7701\u5f00\u53d1\u673a\u5668\u7684\u8d44\u6e90\uff1b\u5982\u679c\u4f7f\u7528\u4e86\u4e0d\u540c\u7684\u8ba1\u7b97\u673a\u8fd0\u884c\u3002\u4ee5\u4e0b\u4e5f\u7ed9\u51fa\u5982\u4f55\u9010\u4e2a\u542f\u52a8\uff0c\u5982\u4f55\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\u3002"),(0,l.kt)("h3",{id:"elasticsearch"},"Elasticsearch"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u4f9d\u8d56 Elasticsearch \u670d\u52a1\uff0c\u7528\u4e0b\u9762\u7684\u65b9\u5f0f\u521b\u5efa\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-Bash"},"cd cskefu\ndocker-compose up -d elasticsearch\n")),(0,l.kt)("p",null,"Elasticsearch \u7684\u914d\u7f6e\u9879\u5728 application.properties \u662f"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-\u6587\u672c"},"spring.data.elasticsearch.cluster-name=elasticsearch\nspring.data.elasticsearch.cluster-nodes=127.0.0.1:9300\n")),(0,l.kt)("p",null,'\u5c06 cluster-nodes \u914d\u7f6e\u4e3a\u5f00\u53d1\u670d\u52a1\u5730\u5740\uff0c\u9ed8\u8ba4\u4e3a"YOUR_IP:9300"\u3002'),(0,l.kt)("p",null,"Elasticsearch \u7684\u6570\u636e\u6d4f\u89c8\u548c\u7ba1\u7406\uff0c\u4f7f\u7528 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/mobz/elasticsearch-head"},"elasticsearch-head"),"\u3002"),(0,l.kt)("h3",{id:"activemq"},"ActiveMQ"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u4f9d\u8d56 ActiveMQ \u670d\u52a1\uff0c\u5982\u679c\u6ca1\u6709 ActiveMQ \u670d\u52a1\uff0c\u53ef\u4ee5\u7528\u4e0b\u9762\u7684\u65b9\u5f0f\u521b\u5efa\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-Bash"},"cd cskefu\ndocker-compose up -d activemq\n")),(0,l.kt)("p",null,"ActiveMQ \u7684\u914d\u7f6e\u9879\u5728 application.properties \u662f"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-\u6587\u672c"},"spring.activemq.broker-url=tcp://localhost:61616\nspring.activemq.user=admin\nspring.activemq.password=admin\nspring.activemq.pool.enabled=true\nspring.activemq.pool.max-connections=50\n")),(0,l.kt)("p",null,"\u5c06\u4ee5\u4e0a\u503c\u4fee\u6539\u4e3a ActiveMQ \u7684\u5b9e\u9645\u5730\u5740\u548c\u5bc6\u7801\u3002"),(0,l.kt)("p",null,"ActiveMQ \u7ba1\u7406\u5de5\u5177\uff0c\u4f7f\u7528\u6d4f\u89c8\u5668\u6253\u5f00\uff0c",(0,l.kt)("a",{parentName:"p",href:"http://YOUR_ACTIVEMQ_IP:PORT%E3%80%82PORT"},"http://YOUR_ACTIVEMQ_IP:PORT\u3002PORT")," \u9ed8\u8ba4\u662f ",(0,l.kt)("inlineCode",{parentName:"p"},"8051"),"\uff0c\u5373",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/blob/osc/docker-compose.yml"},"\u73af\u5883\u53d8\u91cf")," ",(0,l.kt)("inlineCode",{parentName:"p"},"ACTIVEMQ_PORT1"),"\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"ActiveMQ \u7ba1\u7406\u5de5\u5177",src:a(1114).Z,width:"825",height:"404"})),(0,l.kt)("p",null,"\u70b9\u51fb\u3010Manage ActiveMQ broker\u3011,\u7528\u6237\u540d admin, \u5bc6\u7801 admin\u3002"),(0,l.kt)("h3",{id:"mysql"},"MySQL"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u4f9d\u8d56 MySQL \u670d\u52a1\uff0c\u5982\u679c\u6ca1\u6709 MySQL \u670d\u52a1\uff0c\u53ef\u4ee5\u7528\u4e0b\u9762\u7684\u65b9\u5f0f\u521b\u5efa\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-Bash"},"cd cskefu\ndocker-compose up -d mysql\n")),(0,l.kt)("p",null,"MySQL \u5bb9\u5668\u542f\u52a8\u540e\uff0c\u8fd8\u9700\u8981\u521b\u5efa\u6625\u677e\u5ba2\u670d\u6570\u636e\u5e93\uff0c\u8be5\u8fc7\u7a0b\u662f\u5728\u6570\u636e\u5e93\u4e0a\u6267\u884c SQL \u6587\u4ef6(",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/blob/osc/contact-center/config/sql/cosinee-MySQL-slim.sql"},(0,l.kt)("inlineCode",{parentName:"a"},"contact-center/config/sql/cosinee-MySQL-slim.sql")),")\u5b8c\u6210\u7684\u3002"),(0,l.kt)("h4",{id:"\u8fde\u63a5-mysql-\u670d\u52a1"},"\u8fde\u63a5 MySQL \u670d\u52a1"),(0,l.kt)("p",null,"\u5b89\u88c5 DBMS \u7ba1\u7406\u5de5\u5177 MySQL Workbench\uff0c\u4e0b\u8f7d\u5730\u5740\uff1a"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://dev.mysql.com/downloads/workbench/"},"https://dev.mysql.com/downloads/workbench/")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"MySQL Workbench \u4e0b\u8f7d",src:a(37118).Z,width:"606",height:"450"})),(0,l.kt)("p",null,"\u5728 Windows \u4e0a\uff0cMySQL Workbench \u4f9d\u8d56 ",(0,l.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170"},"Visual C++ Redistributable"),"\uff0c\u9700\u8981\u63d0\u524d\u5b89\u88c5\u3002"),(0,l.kt)("p",null,"\u4f7f\u7528",(0,l.kt)("inlineCode",{parentName:"p"},"docker-compose"),"\u542f\u52a8\u7684 MySQL \u670d\u52a1\uff0c\u5176\u8fde\u63a5\u8ba4\u8bc1\u4fe1\u606f\u5982\u4e0b\uff1a"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"IP"),(0,l.kt)("th",{parentName:"tr",align:null},"\u7528\u6237\u540d"),(0,l.kt)("th",{parentName:"tr",align:null},"\u5bc6\u7801"),(0,l.kt)("th",{parentName:"tr",align:null},"\u7aef\u53e3"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"localhost"),(0,l.kt)("td",{parentName:"tr",align:null},"root"),(0,l.kt)("td",{parentName:"tr",align:null},"123456"),(0,l.kt)("td",{parentName:"tr",align:null},"8037")))),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"MySQL Workbench \u5b89\u88c5",src:a(37118).Z,width:"606",height:"450"})),(0,l.kt)("h4",{id:"mysql-\u6570\u636e\u5b57\u5178"},"MySQL \u6570\u636e\u5b57\u5178"),(0,l.kt)("p",null,"\u5728\u7ebf\u6d4f\u89c8",(0,l.kt)("a",{parentName:"p",href:"https://chatopera.github.io/cskefu/"},"\u6570\u636e\u5b57\u5178")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"\u6625\u677e\u5ba2\u670d\u6570\u636e\u5b57\u5178",src:a(42867).Z,width:"1734",height:"954"})),(0,l.kt)("h4",{id:"sql-\u5feb\u901f\u5165\u95e8"},"SQL \u5feb\u901f\u5165\u95e8"),(0,l.kt)("p",null,"\u53c2\u8003\u300a\u6625\u677e\u5ba2\u670d\u5927\u8bb2\u5802\u300b\u4e4b",(0,l.kt)("a",{parentName:"p",href:"https://www.bilibili.com/video/BV1ah411s7ak?p=1"},"\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u57fa\u7840\u77e5\u8bc6 SQL \u5feb\u901f\u5165\u95e8"),"\u3002"),(0,l.kt)("h3",{id:"redis"},"Redis"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u4f9d\u8d56 Redis \u670d\u52a1\uff0c\u5982\u679c\u6ca1\u6709 Redis \u670d\u52a1\uff0c\u53ef\u4ee5\u7528\u4e0b\u9762\u7684\u65b9\u5f0f\u521b\u5efa\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-Bash"},"docker-compose up -d redis\n")),(0,l.kt)("p",null,"Redis \u542f\u52a8\u540e\u5c31\u53ef\u4ee5\uff0c\u4e0d\u9700\u8981\u5176\u4ed6\u64cd\u4f5c\u3002"),(0,l.kt)("p",null,"Redis \u7ba1\u7406\u5de5\u5177\uff0c\u63a8\u8350 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/qishibo/AnotherRedisDesktopManager/releases"},"AnotherRedisDesktopManager for Windows"),", ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/luin/medis/releases"},"medis for macOS"),"\u3002"),(0,l.kt)("h2",{id:"\u5b89\u88c5\u6625\u677e\u5ba2\u670d\u63d2\u4ef6"},"\u5b89\u88c5\u6625\u677e\u5ba2\u670d\u63d2\u4ef6"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u7684\u4e00\u4e9b\u5b9a\u5236\u5316\u9700\u6c42\u662f\u901a\u8fc7\u63d2\u4ef6\u7684\u5f62\u5f0f\u53d1\u5e03\u7684\uff0c\u63d2\u4ef6\u8ba9\u975e\u901a\u7528\u9700\u6c42\u548c\u5b9a\u5236\u5316\u5f00\u53d1\u7684\u529f\u80fd\u7684\u6e90\u7801\u4e0e\u57fa\u7840\u4ee3\u7801\u5206\u79bb\u3002\u4e00\u4e9b\u63d2\u4ef6\u662f\u4ed8\u8d39\u7684\uff0c\u4e00\u4e9b\u63d2\u4ef6\u662f\u514d\u8d39\u7684\uff0c\u6bd4\u5982",(0,l.kt)("strong",{parentName:"p"},"\u673a\u5668\u4eba\u5ba2\u670d\u63d2\u4ef6"),"\u5c31\u662f\u514d\u8d39\u5f00\u6e90\u7684\u3002"),(0,l.kt)("p",null,"\u63d2\u4ef6\u7684\u5b89\u88c5\u548c\u6e90\u7801\u53c2\u8003\uff1a",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/tree/osc/public/plugins"},"https://github.com/cskefu/cskefu/tree/osc/public/plugins")),(0,l.kt)("h2",{id:"\u914d\u7f6e-ide"},"\u914d\u7f6e IDE"),(0,l.kt)("p",null,"\u6625\u677e\u5ba2\u670d\u5f00\u53d1\u652f\u6301\u7684 IDE\uff0c\u5305\u62ec\u6240\u6709\u7684\u652f\u6301 Spring Boot \u7684 IDE\uff0c\u4ee5\u4e0b\u4ec5\u63d0\u4f9b\u90e8\u5206\u5de5\u5177\u7684\u6587\u6863\u3002"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/docs/docs/v7/osc/ide_intelij_idea"},"Intelij IDEA")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/docs/docs/v7/osc/ide_eclipse"},"Eclipse IDE"))),(0,l.kt)("p",null,"\u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u9700\u8981\u7ee7\u7eed\u5b8c\u6210\u4ee5\u4e0b\u5185\u5bb9\u3002"),(0,l.kt)("h2",{id:"\u521d\u59cb\u5316\u7cfb\u7edf"},"\u521d\u59cb\u5316\u7cfb\u7edf"),(0,l.kt)("p",null,"\u542f\u52a8\u8c03\u8bd5\u670d\u52a1\uff0c\u5982\u679c\u8981\u5b9a\u5236\u5316\u5ba2\u670d\u63a5\u5f85\u8bbf\u5ba2\u7684\u4ee3\u7801\uff0c\u9700\u8981\u6309\u7167",(0,l.kt)("a",{parentName:"p",href:"/products/cskefu/initialization.html"},"\u7cfb\u7edf\u521d\u59cb\u5316"),"\u6587\u6863\u505a\u66f4\u591a\u914d\u7f6e\u3002"),(0,l.kt)("h2",{id:"\u6625\u677e\u5ba2\u670d\u4ee3\u7801\u89c4\u8303"},"\u6625\u677e\u5ba2\u670d\u4ee3\u7801\u89c4\u8303"),(0,l.kt)("p",null,"\u4e3a\u63d0\u5347\u5408\u4f5c\u548c\u53ef\u7ef4\u62a4\u6027\uff0c\u5171\u540c\u505a\u597d\u5f00\u6e90\u5ba2\u670d\u7cfb\u7edf\uff0c\u4fee\u6539\u6625\u677e\u5ba2\u670d\u4ee3\u7801\uff0c\u9700\u8981\u7b26\u5408\u4e00\u5b9a\u89c4\u8303\uff0c\u8fd9\u662f\u5bf9\u6625\u677e\u5ba2\u670d\u5f00\u6e90\u793e\u533a\u5f00\u53d1\u8005\u7684\u4e00\u81f4\u8981\u6c42\u3002"),(0,l.kt)("p",null,"\u914d\u7f6e\u597d\u5f00\u53d1\u73af\u5883\u540e\uff0c\u9605\u8bfb",(0,l.kt)("a",{parentName:"p",href:"https://github.com/cskefu/cskefu/blob/osc/CODE_OF_CONDUCT.md"},"\u300a\u6625\u677e\u5ba2\u670d\u4ee3\u7801\u89c4\u8303\u300b"),"\u3002"),(0,l.kt)("h2",{id:"\u6a21\u62df\u8bbf\u5ba2\u7aef\u6d4b\u8bd5"},"\u6a21\u62df\u8bbf\u5ba2\u7aef\u6d4b\u8bd5"),(0,l.kt)("p",null,"\u4ecb\u7ecd\u5982\u4f55\u6d4b\u8bd5\u7f51\u9875\u7aef\u8bbf\u5ba2\u7a0b\u5e8f\uff0c\u5047\u8bbe\u670d\u52a1\u662f\u81ea\u52a8\u5728\u672c\u5730 ",(0,l.kt)("inlineCode",{parentName:"p"},"http://localhost:8035")," \u7aef\u53e3\u3002"),(0,l.kt)("h3",{id:"\u521b\u5efa\u7f51\u7ad9\u6e20\u9053"},"\u521b\u5efa\u7f51\u7ad9\u6e20\u9053"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-\u6587\u672c"},"http://localhost:8035/\n\u7528\u6237\u540d\uff1aadmin\n\u5bc6\u7801\uff1aadmin1234\n")),(0,l.kt)("p",null,"\u4fdd\u8bc1\u6709\u4e0b\u9762\u7684\u4e00\u6761\u7f51\u7ad9\u6e20\u9053\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"\u7f51\u7ad9\u6e20\u9053",src:a(879).Z,width:"1270",height:"568"})),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u6ce8\u610f"),"\uff1a\u7f51\u7ad9\u5730\u5740\u4e3a ",(0,l.kt)("em",{parentName:"p"},"localhost")),(0,l.kt)("h3",{id:"\u8bbe\u8ba1\u7f51\u9875\u7aef\u6837\u5f0f"},"\u8bbe\u8ba1\u7f51\u9875\u7aef\u6837\u5f0f"),(0,l.kt)("p",null,"\u5728\u7f51\u7ad9\u5217\u8868\u4e2d\uff0c\u4ece\u53f3\u4fa7\u64cd\u4f5c\u4e2d\u70b9\u51fb\u201c\u8bbe\u8ba1\u201d\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"\u8bbe\u8ba1\u7f51\u9875",src:a(85600).Z,width:"921",height:"207"})),(0,l.kt)("p",null,"\u6309\u7167\u9700\u6c42\u914d\u7f6e\u5404\u79cd\u5c5e\u6027\u3002"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"\u914d\u7f6e",src:a(20529).Z,width:"912",height:"920"})),(0,l.kt)("h3",{id:"\u8bbf\u95ee\u6d4b\u8bd5\u7a0b\u5e8f"},"\u8bbf\u95ee\u6d4b\u8bd5\u7a0b\u5e8f"),(0,l.kt)("p",null,"\u6d4f\u89c8\u5668\u6253\u5f00"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-URL"},"http://localhost:8035/testclient.html\n")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"\u6d4b\u8bd5",src:a(87445).Z,width:"850",height:"600"})),(0,l.kt)("h3",{id:"\u7f51\u7ad9\u7559\u8a00"},"\u7f51\u7ad9\u7559\u8a00"),(0,l.kt)("p",null,'\u5982\u679c\u5f53\u524d\u7cfb\u7edf\u4e2d\u6ca1\u6709"\u5728\u7ebf"\u5e76\u4e14"\u5c31\u7eea"\u7684\u5ba2\u670d\u4eba\u5458\uff0c\u5219\u8fdb\u5165\u7559\u8a00\u3002'),(0,l.kt)("h3",{id:"\u5d4c\u5165\u4ee3\u7801\u5230\u7f51\u7ad9\u4e2d"},"\u5d4c\u5165\u4ee3\u7801\u5230\u7f51\u7ad9\u4e2d"),(0,l.kt)("p",null,"\u5728\u76ee\u6807\u63a5\u5165\u8bbf\u5ba2\u804a\u5929\u63a7\u4ef6\u7684\u7f51\u7ad9\u4e2d\uff0c\u7f51\u9875 HTML \u7684 header \u4e2d\u52a0\u5165\u4e00\u884c\u4ee3\u7801\uff0c\u5c31\u53ef\u4ee5\u8bbf\u95ee\u4e86\uff0c\u4ee3\u7801\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-HTML"},'
+
版本:v8账号和权限
视频教程
本文介绍如何完成春松客服开发环境的搭建,面向企业/开发者提供关于春松客服二次开发的相关知识,从入门到掌握全部开发技能请学习《春松客服大讲堂》。
系统管理员
在春松客服里,系统管理员是具备管理所辖组织内坐席、权限、角色、联系人和坐席监控等资源的管理员,系统管理员分为两种类型:超级管理员和普通管理员,普通管理员也简称“管理员”。
超级管理员为春松客服系统设置的,初始化一个春松客服实例后,默认超级管理员用户名为 admin
,密码为 admin1234
,并且有且只有一个,IT 人员在初始化搭建的春松客服实例的第一件事就是更改超级管理员账号的密码,以确保系统安全。超级管理员具备更新系统所有属性的能力,读写数据,是春松客服内权限最大的用户。
安装启动系统,进入春松客服后台界面,输入初始化的超级管理员账号密码(用户名: admin
, 密码: admin1234
),点击立即登录。
超级管理员同时维护者春松客服的组织机构的高层级,组织机构是树形结构,默认情况下没有组织机构信息,春松客服搭建完成后,由超级管理员设定根节点,比如总公司、总公司下属子公司,维护这样的一个层级结构,再创建其他管理员账号,普通管理员账号可以创建多个,不同管理员隶属于不同组织机构,该管理员只有管理其所在组织机构及该组织机构附属组织机构的权限。
系统管理员切换不同的组织机构,可以查看不同组织机构的数据。
权限设计
春松客服权限体系包括:组织机构,角色,账号。
权限的管理
角色可以自定义,设置对一系列资源的读写。角色的创建和删除,修改资源授权,只有超级管理员可以操作,,普通【管理员】只具备角色的使用权:添加或删除权限里的系统账号。
系统账号读写资源与角色的关系
将账号添加到角色后,因为账号也同时隶属于不同的组织机构,那么账号所具有的权限就是其所在组织机构以及附属组织机构的角色对应的资源的读写。
根据角色和坐席所在组织机构进行权限检查:
- 超级管理员可以管理系统所有资源
- 管理员可以创建部门人员
- 组织机构支持层级的树状结构
- 角色包含对不同资源的读写权限
- 资源如联系人,客户等是根据组织机构进行隔离的
- 网站渠道必须启用技能组,不同网站渠道接入的访客根据网站渠道设置分配给不同的技能组
- 系统数据根据坐席当前所在的组织机构进行展示
- 坐席可以看到自己所在组织机构以及附属组织机构的数据
假设组织机构如下:
- 李四所能看到的联系人全集是 A 部门及其附属部门所创建的全部联系人
- 李四看不到 B 部门的联系人,张三看不到 A 部门的联系人
- 李四能看到刘一创建的联系人,刘一看不到李四创建的联系人
组织机构管理
创建部门
系统 -> 系统概况 -> 用户和组 -> 组织机构 -> 创建部门,并且可以启用或关闭技能组
部门 需要创建的部门名称
上级机构 选择上级部门
启用技能组 这里启用与否,技能是接待同一个渠道的坐席人员群组,春松客服支持配置自动分配策略,连接访客与坐席,简称 ACD 模块
更新、删除部门
进入部门列表
系统 -> 系统概况 -> 用户和组 -> 组织机构
编辑(修改)部门
系统 -> 系统概况 -> 用户和组 -> 组织机构 -> 修改部门
删除部门
系统 -> 系统概况 -> 用户和组 -> 组织机构 -> 删除部门
设置部门地区
系统 -> 系统概况 -> 用户和组 -> 组织结构 -> 选中一个部门 -> 地区设置
角色管理
创建角色
系统 -> 系统概况 -> 用户和组 -> 系统角色 -> 新建角色
只有【系统超级管理员】可以创建角色。
名词解释:
角色 系统中用户的操作权限是通过角色来控制,角色可以理解为具备一定操作权限的用户组;
可以把一个或者更多的用户添加到一个角色下;
可以给一个角色设置一定的系统权限,相当于这个角色下面的用户有了这些系统权限;
角色创建好了以后,在所有组织机构中共享。不同组织机构的管理员,只能管理其所在组织机构和下属组织机构里的账号的角色。
编辑(修改)角色
系统 -> 系统概况 -> 用户和组 -> 系统角色 -> 修改角色
只有【系统超级管理员】可以编辑角色。
删除角色
系统->系统概况->用户和组->系统角色>删除角色
只有【系统超级管理员】可以删除角色。
账号管理
创建用户账号:系统 -> 系统概况 -> 用户和组 -> 用户账号 -> 创建新用户
提示:
电子邮件: 需要有效的格式
密码: 字母数字最少8位,手动录入
手机号: 全系统唯一
查看账号信息
系统 -> 系统概况 -> 用户和组 -> 用户账号
点击操作一栏中的“编辑”“删除”,可以对当前用户列表中的所有用户的信息进行编辑或者删除
添加账号到部门
系统 -> 系统概况 -> 用户和组 -> 组织结构 -> 选中一个部门 -> 添加用户到当前部门
添加账号到角色
系统->系统概况->用户和组->系统角色>添加用户到角色
+
+
+