Files
upage-git/upage/assets/js/d6dcccef.ca4f4ffd.js
2025-09-29 03:02:50 +00:00

1 line
16 KiB
JavaScript

"use strict";(self.webpackChunkupage_docs=self.webpackChunkupage_docs||[]).push([[461],{8784:(e,n,l)=>{l.d(n,{R:()=>d,x:()=>c});var i=l(7378);const s={},r=i.createContext(s);function d(e){const n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),i.createElement(r.Provider,{value:n},e.children)}},9577:(e,n,l)=>{l.r(n),l.d(n,{assets:()=>h,contentTitle:()=>c,default:()=>u,frontMatter:()=>d,metadata:()=>i,toc:()=>t});const i=JSON.parse('{"id":"contributing/workflow","title":"\u5de5\u4f5c\u6d41\u7a0b","description":"\u672c\u6587\u6863\u63cf\u8ff0\u4e86 UPage \u9879\u76ee\u7684\u5f00\u53d1\u5de5\u4f5c\u6d41\u7a0b\uff0c\u5305\u62ec\u5206\u652f\u7b56\u7565\u3001Pull Request \u6d41\u7a0b\u548c\u7248\u672c\u53d1\u5e03\u6d41\u7a0b\u3002","source":"@site/content/contributing/workflow.md","sourceDirName":"contributing","slug":"/contributing/workflow","permalink":"/upage/contributing/workflow","draft":false,"unlisted":false,"editUrl":"https://github.com/halo-dev/upage/edit/main/docs/content/content/contributing/workflow.md","tags":[],"version":"current","frontMatter":{"id":"workflow","title":"\u5de5\u4f5c\u6d41\u7a0b"},"sidebar":"tutorialSidebar","previous":{"title":"\u4ee3\u7801\u89c4\u8303","permalink":"/upage/contributing/code-standards"},"next":{"title":"\u5e38\u89c1\u95ee\u9898","permalink":"/upage/faq"}}');var s=l(6106),r=l(8784);const d={id:"workflow",title:"\u5de5\u4f5c\u6d41\u7a0b"},c="\u5de5\u4f5c\u6d41\u7a0b",h={},t=[{value:"\u5206\u652f\u7b56\u7565",id:"\u5206\u652f\u7b56\u7565",level:2},{value:"\u4e3b\u8981\u5206\u652f",id:"\u4e3b\u8981\u5206\u652f",level:3},{value:"\u529f\u80fd\u5206\u652f",id:"\u529f\u80fd\u5206\u652f",level:3},{value:"\u4fee\u590d\u5206\u652f",id:"\u4fee\u590d\u5206\u652f",level:3},{value:"\u53d1\u5e03\u5206\u652f",id:"\u53d1\u5e03\u5206\u652f",level:3},{value:"\u70ed\u4fee\u590d\u5206\u652f",id:"\u70ed\u4fee\u590d\u5206\u652f",level:3},{value:"\u5de5\u4f5c\u6d41\u7a0b\u56fe",id:"\u5de5\u4f5c\u6d41\u7a0b\u56fe",level:2},{value:"Pull Request \u6d41\u7a0b",id:"pull-request-\u6d41\u7a0b",level:2},{value:"\u51c6\u5907 Pull Request",id:"\u51c6\u5907-pull-request",level:3},{value:"\u521b\u5efa Pull Request",id:"\u521b\u5efa-pull-request",level:3},{value:"Pull Request \u5ba1\u6838",id:"pull-request-\u5ba1\u6838",level:3},{value:"\u5408\u5e76 Pull Request",id:"\u5408\u5e76-pull-request",level:3},{value:"\u7248\u672c\u53d1\u5e03\u6d41\u7a0b",id:"\u7248\u672c\u53d1\u5e03\u6d41\u7a0b",level:2},{value:"\u53d1\u5e03\u51c6\u5907",id:"\u53d1\u5e03\u51c6\u5907",level:3},{value:"\u53d1\u5e03\u6b65\u9aa4",id:"\u53d1\u5e03\u6b65\u9aa4",level:3},{value:"\u70ed\u4fee\u590d\u53d1\u5e03",id:"\u70ed\u4fee\u590d\u53d1\u5e03",level:3},{value:"\u6301\u7eed\u96c6\u6210\u548c\u90e8\u7f72",id:"\u6301\u7eed\u96c6\u6210\u548c\u90e8\u7f72",level:2},{value:"CI \u5de5\u4f5c\u6d41\u7a0b",id:"ci-\u5de5\u4f5c\u6d41\u7a0b",level:3},{value:"CD \u5de5\u4f5c\u6d41\u7a0b",id:"cd-\u5de5\u4f5c\u6d41\u7a0b",level:3},{value:"\u95ee\u9898\u8ddf\u8e2a",id:"\u95ee\u9898\u8ddf\u8e2a",level:2}];function x(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"\u5de5\u4f5c\u6d41\u7a0b",children:"\u5de5\u4f5c\u6d41\u7a0b"})}),"\n",(0,s.jsx)(n.p,{children:"\u672c\u6587\u6863\u63cf\u8ff0\u4e86 UPage \u9879\u76ee\u7684\u5f00\u53d1\u5de5\u4f5c\u6d41\u7a0b\uff0c\u5305\u62ec\u5206\u652f\u7b56\u7565\u3001Pull Request \u6d41\u7a0b\u548c\u7248\u672c\u53d1\u5e03\u6d41\u7a0b\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u5206\u652f\u7b56\u7565",children:"\u5206\u652f\u7b56\u7565"}),"\n",(0,s.jsx)(n.p,{children:"UPage \u9879\u76ee\u4f7f\u7528\u4ee5\u4e0b\u5206\u652f\u7b56\u7565\uff1a"}),"\n",(0,s.jsx)(n.h3,{id:"\u4e3b\u8981\u5206\u652f",children:"\u4e3b\u8981\u5206\u652f"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"main"})}),": \u4e3b\u5206\u652f\uff0c\u5305\u542b\u6700\u65b0\u7684\u5f00\u53d1\u4ee3\u7801\uff0c\u7528\u4e8e\u96c6\u6210\u529f\u80fd\u548c\u4fee\u590d\uff0c\u540c\u65f6\u4e5f\u5bf9\u5e94\u6700\u65b0\u7684\u53d1\u5e03\u7248\u672c"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u529f\u80fd\u5206\u652f",children:"\u529f\u80fd\u5206\u652f"}),"\n",(0,s.jsxs)(n.p,{children:["\u5f00\u53d1\u65b0\u529f\u80fd\u65f6\uff0c\u5e94\u4ece ",(0,s.jsx)(n.code,{children:"main"})," \u5206\u652f\u521b\u5efa\u529f\u80fd\u5206\u652f\uff1a"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"feature/*"})}),": \u529f\u80fd\u5206\u652f\uff0c\u7528\u4e8e\u5f00\u53d1\u65b0\u529f\u80fd","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\u4f8b\u5982\uff1a",(0,s.jsx)(n.code,{children:"feature/drag-and-drop"}),"\u3001",(0,s.jsx)(n.code,{children:"feature/user-authentication"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u4fee\u590d\u5206\u652f",children:"\u4fee\u590d\u5206\u652f"}),"\n",(0,s.jsxs)(n.p,{children:["\u4fee\u590d bug \u65f6\uff0c\u5e94\u4ece ",(0,s.jsx)(n.code,{children:"main"})," \u5206\u652f\u521b\u5efa\u4fee\u590d\u5206\u652f\uff1a"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"fix/*"})}),": \u4fee\u590d\u5206\u652f\uff0c\u7528\u4e8e\u4fee\u590d bug","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\u4f8b\u5982\uff1a",(0,s.jsx)(n.code,{children:"fix/login-error"}),"\u3001",(0,s.jsx)(n.code,{children:"fix/memory-leak"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u53d1\u5e03\u5206\u652f",children:"\u53d1\u5e03\u5206\u652f"}),"\n",(0,s.jsxs)(n.p,{children:["\u51c6\u5907\u65b0\u7248\u672c\u53d1\u5e03\u65f6\uff0c\u4ece ",(0,s.jsx)(n.code,{children:"main"})," \u5206\u652f\u521b\u5efa\u53d1\u5e03\u5206\u652f\uff1a"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"release/*"})}),": \u53d1\u5e03\u5206\u652f\uff0c\u7528\u4e8e\u51c6\u5907\u65b0\u7248\u672c\u53d1\u5e03","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\u4f8b\u5982\uff1a",(0,s.jsx)(n.code,{children:"release/v1.0.0"}),"\u3001",(0,s.jsx)(n.code,{children:"release/v1.1.0"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u70ed\u4fee\u590d\u5206\u652f",children:"\u70ed\u4fee\u590d\u5206\u652f"}),"\n",(0,s.jsxs)(n.p,{children:["\u5bf9\u5df2\u53d1\u5e03\u7248\u672c\u7684\u7d27\u6025\u4fee\u590d\uff0c\u4ece ",(0,s.jsx)(n.code,{children:"main"})," \u5206\u652f\u521b\u5efa\u70ed\u4fee\u590d\u5206\u652f\uff1a"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"hotfix/*"})}),": \u70ed\u4fee\u590d\u5206\u652f\uff0c\u7528\u4e8e\u5bf9\u5df2\u53d1\u5e03\u7248\u672c\u7684\u7d27\u6025\u4fee\u590d","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\u4f8b\u5982\uff1a",(0,s.jsx)(n.code,{children:"hotfix/v1.0.1"}),"\u3001",(0,s.jsx)(n.code,{children:"hotfix/v1.1.2"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u5de5\u4f5c\u6d41\u7a0b\u56fe",children:"\u5de5\u4f5c\u6d41\u7a0b\u56fe"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"main \u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u2502 \u2502 \u2191 \u2191\n \u2193 \u2193 \u2502 \u2502\nfeature feature/A feature/B \u2502 \u2502\n \u2502 \u2502\nfix fix/bug-1 fix/bug-2\n \u2502 \u2502 \u2502\n \u2502 \u2502 \u2502\nrelease \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n release/v1.0.0\n"})}),"\n",(0,s.jsx)(n.h2,{id:"pull-request-\u6d41\u7a0b",children:"Pull Request \u6d41\u7a0b"}),"\n",(0,s.jsx)(n.h3,{id:"\u51c6\u5907-pull-request",children:"\u51c6\u5907 Pull Request"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\u786e\u4fdd\u60a8\u7684\u4ee3\u7801\u7b26\u5408\u9879\u76ee\u7684",(0,s.jsx)(n.a,{href:"/upage/contributing/code-standards",children:"\u4ee3\u7801\u89c4\u8303"})]}),"\n",(0,s.jsx)(n.li,{children:"\u66f4\u65b0\u76f8\u5173\u6587\u6863\uff08\u5982\u9002\u7528\uff09"}),"\n",(0,s.jsx)(n.li,{children:"\u6dfb\u52a0\u6216\u66f4\u65b0\u6d4b\u8bd5\uff08\u5982\u9002\u7528\uff09"}),"\n",(0,s.jsx)(n.li,{children:"\u786e\u4fdd\u6240\u6709\u6d4b\u8bd5\u901a\u8fc7"}),"\n",(0,s.jsxs)(n.li,{children:["\u5c06\u60a8\u7684\u5206\u652f\u4e0e\u76ee\u6807\u5206\u652f\uff08\u901a\u5e38\u662f ",(0,s.jsx)(n.code,{children:"main"}),"\uff09\u540c\u6b65"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u521b\u5efa-pull-request",children:"\u521b\u5efa Pull Request"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"\u5728 GitHub \u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Pull Request"}),"\n",(0,s.jsxs)(n.li,{children:["\u9009\u62e9\u6b63\u786e\u7684\u76ee\u6807\u5206\u652f\uff08\u901a\u5e38\u662f ",(0,s.jsx)(n.code,{children:"main"}),"\uff09"]}),"\n",(0,s.jsxs)(n.li,{children:["\u586b\u5199 Pull Request \u6a21\u677f\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4fe1\u606f\uff1a","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"\u6e05\u6670\u7684\u6807\u9898\uff0c\u7b80\u8981\u63cf\u8ff0\u66f4\u6539"}),"\n",(0,s.jsx)(n.li,{children:"\u8be6\u7ec6\u7684\u63cf\u8ff0\uff0c\u89e3\u91ca\u66f4\u6539\u7684\u76ee\u7684\u548c\u5b9e\u73b0\u65b9\u5f0f"}),"\n",(0,s.jsx)(n.li,{children:"\u76f8\u5173\u7684 issue \u94fe\u63a5\uff08\u5982\u9002\u7528\uff09"}),"\n",(0,s.jsx)(n.li,{children:"\u622a\u56fe\u6216\u89c6\u9891\uff08\u5982\u9002\u7528\uff09"}),"\n",(0,s.jsx)(n.li,{children:"\u4efb\u4f55\u9700\u8981\u5ba1\u6838\u8005\u7279\u522b\u6ce8\u610f\u7684\u4e8b\u9879"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"pull-request-\u5ba1\u6838",children:"Pull Request \u5ba1\u6838"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"\u81f3\u5c11\u9700\u8981\u4e00\u4e2a\u9879\u76ee\u7ef4\u62a4\u8005\u7684\u6279\u51c6\u624d\u80fd\u5408\u5e76 PR"}),"\n",(0,s.jsx)(n.li,{children:"\u5ba1\u6838\u8005\u53ef\u80fd\u4f1a\u8981\u6c42\u8fdb\u884c\u66f4\u6539"}),"\n",(0,s.jsx)(n.li,{children:"\u6839\u636e\u53cd\u9988\u8fdb\u884c\u5fc5\u8981\u7684\u66f4\u6539"}),"\n",(0,s.jsx)(n.li,{children:"\u786e\u4fdd CI \u68c0\u67e5\u901a\u8fc7"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u5408\u5e76-pull-request",children:"\u5408\u5e76 Pull Request"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"\u4e00\u65e6 PR \u83b7\u5f97\u6279\u51c6\u5e76\u4e14\u6240\u6709\u68c0\u67e5\u901a\u8fc7\uff0c\u5b83\u5c06\u88ab\u5408\u5e76"}),"\n",(0,s.jsx)(n.li,{children:'\u901a\u5e38\u4f7f\u7528 "Squash and merge" \u7b56\u7565\uff0c\u5c06\u6240\u6709\u63d0\u4ea4\u5408\u5e76\u4e3a\u4e00\u4e2a'}),"\n",(0,s.jsx)(n.li,{children:"\u5408\u5e76\u540e\uff0c\u76f8\u5173\u7684\u5206\u652f\u53ef\u4ee5\u88ab\u5220\u9664"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u7248\u672c\u53d1\u5e03\u6d41\u7a0b",children:"\u7248\u672c\u53d1\u5e03\u6d41\u7a0b"}),"\n",(0,s.jsxs)(n.p,{children:["UPage \u9075\u5faa ",(0,s.jsx)(n.a,{href:"https://semver.org/",children:"\u8bed\u4e49\u5316\u7248\u672c\u63a7\u5236"})," \u89c4\u8303\u3002\u7248\u672c\u53f7\u683c\u5f0f\u4e3a ",(0,s.jsx)(n.code,{children:"X.Y.Z"}),"\uff1a"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"X"}),": \u4e3b\u7248\u672c\u53f7\uff0c\u5f53\u8fdb\u884c\u4e0d\u517c\u5bb9\u7684 API \u66f4\u6539\u65f6\u9012\u589e"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Y"}),": \u6b21\u7248\u672c\u53f7\uff0c\u5f53\u6dfb\u52a0\u5411\u540e\u517c\u5bb9\u7684\u529f\u80fd\u65f6\u9012\u589e"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Z"}),": \u4fee\u8ba2\u53f7\uff0c\u5f53\u8fdb\u884c\u5411\u540e\u517c\u5bb9\u7684 bug \u4fee\u590d\u65f6\u9012\u589e"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u53d1\u5e03\u51c6\u5907",children:"\u53d1\u5e03\u51c6\u5907"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\u4ece ",(0,s.jsx)(n.code,{children:"main"})," \u5206\u652f\u521b\u5efa\u53d1\u5e03\u5206\u652f\uff0c\u4f8b\u5982 ",(0,s.jsx)(n.code,{children:"release/v1.0.0"})]}),"\n",(0,s.jsx)(n.li,{children:"\u5728\u53d1\u5e03\u5206\u652f\u4e0a\u8fdb\u884c\u6700\u7ec8\u6d4b\u8bd5\u548c\u4fee\u590d"}),"\n",(0,s.jsx)(n.li,{children:"\u66f4\u65b0\u7248\u672c\u53f7\u548c\u66f4\u65b0\u65e5\u5fd7"}),"\n",(0,s.jsxs)(n.li,{children:["\u521b\u5efa Pull Request \u5c06\u53d1\u5e03\u5206\u652f\u5408\u5e76\u56de ",(0,s.jsx)(n.code,{children:"main"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u53d1\u5e03\u6b65\u9aa4",children:"\u53d1\u5e03\u6b65\u9aa4"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\u5408\u5e76\u53d1\u5e03\u5206\u652f\u5230 ",(0,s.jsx)(n.code,{children:"main"})]}),"\n",(0,s.jsxs)(n.li,{children:["\u5728 ",(0,s.jsx)(n.code,{children:"main"})," \u5206\u652f\u4e0a\u521b\u5efa\u7248\u672c\u6807\u7b7e\uff0c\u4f8b\u5982 ",(0,s.jsx)(n.code,{children:"v1.0.0"})]}),"\n",(0,s.jsx)(n.li,{children:"\u53d1\u5e03 GitHub Release\uff0c\u5305\u542b\u8be6\u7ec6\u7684\u66f4\u65b0\u65e5\u5fd7"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"\u70ed\u4fee\u590d\u53d1\u5e03",children:"\u70ed\u4fee\u590d\u53d1\u5e03"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\u4ece ",(0,s.jsx)(n.code,{children:"main"})," \u5206\u652f\u521b\u5efa\u70ed\u4fee\u590d\u5206\u652f\uff0c\u4f8b\u5982 ",(0,s.jsx)(n.code,{children:"hotfix/v1.0.1"})]}),"\n",(0,s.jsx)(n.li,{children:"\u5b9e\u73b0\u5fc5\u8981\u7684\u4fee\u590d"}),"\n",(0,s.jsx)(n.li,{children:"\u66f4\u65b0\u7248\u672c\u53f7\u548c\u66f4\u65b0\u65e5\u5fd7"}),"\n",(0,s.jsxs)(n.li,{children:["\u521b\u5efa Pull Request \u5c06\u70ed\u4fee\u590d\u5206\u652f\u5408\u5e76\u5230 ",(0,s.jsx)(n.code,{children:"main"})]}),"\n",(0,s.jsx)(n.li,{children:"\u5fc5\u8981\u65f6\u521b\u5efa cherry-pick PR \u5c06\u70ed\u4fee\u590d\u5206\u652f\u5408\u5e76\u5230\u5bf9\u5e94\u7684\u53d1\u5e03\u5206\u652f"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u6301\u7eed\u96c6\u6210\u548c\u90e8\u7f72",children:"\u6301\u7eed\u96c6\u6210\u548c\u90e8\u7f72"}),"\n",(0,s.jsx)(n.p,{children:"UPage \u4f7f\u7528 GitHub Actions \u8fdb\u884c\u6301\u7eed\u96c6\u6210\u548c\u90e8\u7f72\uff1a"}),"\n",(0,s.jsx)(n.h3,{id:"ci-\u5de5\u4f5c\u6d41\u7a0b",children:"CI \u5de5\u4f5c\u6d41\u7a0b"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"\u6bcf\u4e2a PR \u4f1a\u89e6\u53d1\u6784\u5efa\u548c\u6d4b\u8bd5"}),"\n",(0,s.jsx)(n.li,{children:"\u4ee3\u7801\u8d28\u91cf\u68c0\u67e5\uff08linting\u3001\u7c7b\u578b\u68c0\u67e5\uff09"}),"\n",(0,s.jsx)(n.li,{children:"\u5355\u5143\u6d4b\u8bd5\u548c\u96c6\u6210\u6d4b\u8bd5"}),"\n",(0,s.jsx)(n.li,{children:"\u6784\u5efa\u68c0\u67e5"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"cd-\u5de5\u4f5c\u6d41\u7a0b",children:"CD \u5de5\u4f5c\u6d41\u7a0b"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\u5408\u5e76\u5230 ",(0,s.jsx)(n.code,{children:"main"})," \u5206\u652f\u4f1a\u89e6\u53d1\u5f00\u53d1\u6784\u5efa\u548c\u90e8\u7f72"]}),"\n",(0,s.jsx)(n.li,{children:"\u81ea\u52a8\u751f\u6210\u548c\u53d1\u5e03 Docker \u955c\u50cf"}),"\n",(0,s.jsx)(n.li,{children:"\u66f4\u65b0\u6587\u6863\u7f51\u7ad9"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u95ee\u9898\u8ddf\u8e2a",children:"\u95ee\u9898\u8ddf\u8e2a"}),"\n",(0,s.jsxs)(n.p,{children:["UPage \u4f7f\u7528 GitHub ",(0,s.jsx)(n.a,{href:"https://github.com/halo-dev/upage/issues",children:"Issues"})," \u8fdb\u884c\u95ee\u9898\u8ddf\u8e2a\uff0c\u4f7f\u7528\u6807\u7b7e\u5bf9\u95ee\u9898\u8fdb\u884c\u5206\u7c7b\uff08bug\u3001feature\u3001documentation \u7b49\uff09"]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}}}]);