Files
weiyu/docs/assets/js/d1368cbc.8a198daa.js
jack ning 412643f18f update
2025-01-03 07:31:48 +08:00

1 line
4.1 KiB
JavaScript

"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6799],{3475:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>d,metadata:()=>i,toc:()=>r});const i=JSON.parse('{"id":"deploy/cicd/devdoc","title":"Developer Documentation CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/devdoc.md","sourceDirName":"deploy/cicd","slug":"/deploy/cicd/devdoc","permalink":"/docs/docs/deploy/cicd/devdoc","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/cicd/devdoc.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"Developer Docs","sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"Visitor Client","permalink":"/docs/docs/deploy/cicd/visitor"},"next":{"title":"MySQL","permalink":"/docs/docs/deploy/depend/mysql"}}');var t=s(5723),o=s(6246);const d={sidebar_label:"Developer Docs",sidebar_position:5},c="Developer Documentation CI/CD",l={},r=[{value:"GitHub Actions",id:"github-actions",level:2},{value:"GitLab CI",id:"gitlab-ci",level:2},{value:"Jenkins Pipeline",id:"jenkins-pipeline",level:2}];function a(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"developer-documentation-cicd",children:"Developer Documentation CI/CD"})}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,t.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,t.jsx)(n.h2,{id:"github-actions",children:"GitHub Actions"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:'name: Build and Deploy Docs\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n \n steps:\n - uses: actions/checkout@v2\n \n - name: Setup Node.js\n uses: actions/setup-node@v2\n with:\n node-version: \'16.x\'\n \n - name: Install Dependencies\n run: yarn install\n \n - name: Build\n run: yarn build\n \n - name: Deploy\n uses: appleboy/scp-action@master\n with:\n host: ${{ secrets.HOST }}\n username: ${{ secrets.USERNAME }}\n key: ${{ secrets.SSH_KEY }}\n source: "build/*"\n target: "/var/www/html/weiyuai/docs/"\n'})}),"\n",(0,t.jsx)(n.h2,{id:"gitlab-ci",children:"GitLab CI"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:"stages:\n - build\n - deploy\n\nbuild:\n stage: build\n image: node:16\n script:\n - yarn install\n - yarn build\n artifacts:\n paths:\n - build/\n\ndeploy:\n stage: deploy\n script:\n - rsync -avz --delete build/ user@server:/var/www/html/weiyuai/docs/\n only:\n - main\n"})}),"\n",(0,t.jsx)(n.h2,{id:"jenkins-pipeline",children:"Jenkins Pipeline"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-groovy",children:"pipeline {\n agent any\n \n stages {\n stage('Build') {\n steps {\n sh 'yarn install'\n sh 'yarn build'\n }\n }\n \n stage('Deploy') {\n steps {\n sh 'rsync -avz --delete build/ user@server:/var/www/html/weiyuai/docs/'\n }\n }\n }\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},6246:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>c});var i=s(2155);const t={},o=i.createContext(t);function d(e){const n=i.useContext(o);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(t):e.components||t:d(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]);