import{B as e,P as t,_ as n,f as r,g as i,h as a,l as o}from"./runtime-core.esm-bundler-CZvn3YaB.js";import{t as s}from"./plugin-vue_export-helper-CxTVcLa7.js";var c=JSON.parse(`{"path":"/en/guide/deployment/","title":"Deployment | Guide","lang":"en-US","frontmatter":{"title":"Deployment","icon":"material-symbols:deployed-code-outline","createTime":"2025/10/08 12:38:48","permalink":"/en/guide/deployment/","tags":["Guide","Deployment"],"description":"This document is forked from the vuepress official doc. The following guides are based on the following assumptions: Markdown source files are located in the docs directory of y...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Deployment\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-10-09T07:46:05.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://theme-plume.vuejs.press/en/guide/deployment/"}],["meta",{"property":"og:site_name","content":"Plume Theme"}],["meta",{"property":"og:title","content":"Deployment"}],["meta",{"property":"og:description","content":"This document is forked from the vuepress official doc. The following guides are based on the following assumptions: Markdown source files are located in the docs directory of y..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-10-09T07:46:05.000Z"}],["meta",{"property":"article:tag","content":"Deployment"}],["meta",{"property":"article:tag","content":"Guide"}],["meta",{"property":"article:modified_time","content":"2025-10-09T07:46:05.000Z"}],["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://theme-plume.vuejs.press/guide/deployment/"}]]},"readingTime":{"minutes":3.31,"words":994},"git":{"createdTime":1741490087000,"updatedTime":1759995965000,"contributors":[{"name":"zhenghaoyang24","username":"zhenghaoyang24","email":"95458562+zhenghaoyang24@users.noreply.github.com","commits":2,"avatar":"https://avatars.githubusercontent.com/zhenghaoyang24?v=4","url":"https://github.com/zhenghaoyang24"},{"name":"pengzhanbo","username":"pengzhanbo","email":"volodymyr@foxmail.com","commits":4,"avatar":"https://avatars.githubusercontent.com/pengzhanbo?v=4","url":"https://github.com/pengzhanbo"}],"changelog":[{"hash":"385059f214cb07fc9a098859e889432fb81f998b","time":1759995965000,"email":"volodymyr@foxmail.com","author":"pengzhanbo","message":"docs: update en docs (#708)"},{"hash":"4d2361a7046214fe0f4e4af01831107fd00e38ad","time":1759849989000,"email":"volodymyr@foxmail.com","author":"pengzhanbo","message":"feat(theme)!: add collections support (#704)"},{"hash":"9f99ae3ca72b3085c6cd383a9084f42be299c400","time":1743080813000,"email":"95458562+zhenghaoyang24@users.noreply.github.com","author":"zhenghaoyang24","message":"docs: add en markdown doc (#538)","coAuthors":[{"name":"pengzhanbo","email":"volodymyr@foxmail.com"}]},{"hash":"a4ac3a30e0b74175b3cd4fd82c52b2321b013926","time":1741490087000,"email":"95458562+zhenghaoyang24@users.noreply.github.com","author":"zhenghaoyang24","message":"docs: add en-US docs (#514)","coAuthors":[{"name":"pengzhanbo","email":"volodymyr@foxmail.com"}]}]},"autoDesc":true,"filePathRelative":"en/guide/quick-start/deployment.md","headers":[],"bulletin":false}`),l={name:`deployment.md`},u={class:`vp-steps`},d={class:`code-block-title`,"data-title":`firebase.json`},f={class:`code-block-title-bar`},p={class:`title`},m={class:`code-block-title`,"data-title":`.firebaserc`},h={class:`code-block-title-bar`},g={class:`title`},_={class:`vp-steps`},v={class:`code-block-title`,"data-title":`static.json`},y={class:`code-block-title-bar`},b={class:`title`};function x(s,c,l,x,S,C){let w=e(`VPIcon`);return t(),r(`div`,null,[c[12]||=a(`

This document is forked from the vuepress official doc.

The following guides are based on the following assumptions:

{
  "scripts": {
    "docs:build": "vuepress build docs"
  }
}

GitHub Pages

Click to expand configuration example
name: docs

on:
  # Trigger deployment on every push to the main branch
  push:
    branches: [main]
  # Allow manual triggering
  workflow_dispatch:

jobs:
  docs:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
        with:
          # Fetch all commit history for info like 'last updated'
          fetch-depth: 0

      - name: Setup pnpm
        uses: pnpm/action-setup@v4
        with:
          # Choose the pnpm version to use
          version: 10
          # Use pnpm to install dependencies
          run_install: true

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          # Choose the Node.js version to use
          node-version: 22
          # Cache pnpm dependencies
          cache: pnpm

      # Run the build script
      - name: Build VuePress site
        run: pnpm docs:build

      # See https://github.com/crazy-max/ghaction-github-pages for more info
      - name: Deploy to GitHub Pages
        uses: crazy-max/ghaction-github-pages@v4
        with:
          # Deploy to the gh-pages branch
          target_branch: gh-pages
          # Deployment directory is VuePress's default output directory
          build_dir: docs/.vuepress/dist
        env:
          # @see https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret
          GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}

Please refer to the GitHub Pages official guide for more information.

GitLab Pages

  1. Set the correct base option.

    If you are deploying to https://<USERNAME>.gitlab.io/, you can omit this step as base defaults to "/".

    If you are deploying to https://<USERNAME>.gitlab.io/<REPO>/, meaning your repository address is https://gitlab.com/<USERNAME>/<REPO>, then set base to "/<REPO>/".

  2. Create a .gitlab-ci.yml file to configure the GitLab CI workflow.

Click to expand configuration example
# Choose the docker image to use
image: node:22-buster

pages:
  # Trigger deployment on every push to the main branch
  only:
    - main

  # Cache node_modules
  cache:
    key:
      files:
        - pnpm-lock.yaml
    paths:
      - .pnpm-store

  # Install pnpm
  before_script:
    - curl -fsSL https://get.pnpm.io/install.sh | sh -
    - pnpm config set store-dir .pnpm-store

  # Install dependencies and run the build script
  script:
    - pnpm install --frozen-lockfile
    - pnpm docs:build --dest public

  artifacts:
    paths:
      - public

Please refer to the GitLab Pages official guide for more information.

Google Firebase

`,13),o(`div`,u,[o(`ol`,null,[c[5]||=o(`li`,null,[o(`p`,null,[i(`Ensure you have `),o(`a`,{href:`https://www.npmjs.com/package/firebase-tools`,target:`_blank`,rel:`noopener noreferrer`},`firebase-tools`),i(` installed.`)])],-1),o(`li`,null,[c[4]||=o(`p`,null,[i(`In your project's root directory, create `),o(`code`,null,`firebase.json`),i(` and `),o(`code`,null,`.firebaserc`),i(` with the following content:`)],-1),o(`div`,d,[o(`div`,f,[o(`span`,p,[n(w,{provider:`iconify`,name:`vscode-icons:file-type-firebase`}),c[0]||=i(`firebase.json`,-1)])]),c[1]||=a(`
{
  "hosting": {
    "public": "./docs/.vuepress/dist",
    "ignore": []
  }
}
`,1)]),o(`div`,m,[o(`div`,h,[o(`span`,g,[n(w,{provider:`iconify`,name:`vscode-icons:file-type-firebase`}),c[2]||=i(`.firebaserc`,-1)])]),c[3]||=a(`
{
  "projects": {
    "default": "<YOUR_FIREBASE_ID>"
  }
}
`,1)])]),c[6]||=o(`li`,null,[o(`p`,null,[i(`After running `),o(`code`,null,`pnpm docs:build`),i(`, use the `),o(`code`,null,`firebase deploy`),i(` command to deploy.`)])],-1)])]),c[13]||=a(`

Please refer to the Firebase CLI official guide for more information.

Heroku

`,2),o(`div`,_,[o(`ol`,null,[c[11]||=a(`
  • First, install the Heroku CLI.

  • Create a Heroku account here site.

  • Run heroku login and fill in your Heroku credentials:

    heroku login
  • `,3),o(`li`,null,[c[9]||=o(`p`,null,[i(`In your project's root directory, create a file named `),o(`code`,null,`static.json`),i(` with the following content:`)],-1),o(`div`,v,[o(`div`,y,[o(`span`,b,[n(w,{provider:`iconify`,name:`vscode-icons:file-type-json`}),c[7]||=i(`static.json`,-1)])]),c[8]||=a(`
    {
      "root": "./docs/.vuepress/dist"
    }
    `,1)]),c[10]||=o(`p`,null,[i(`This is your project's configuration. Please refer to `),o(`a`,{href:`https://github.com/heroku/heroku-buildpack-static`,target:`_blank`,rel:`noopener noreferrer`},`heroku-buildpack-static`),i(` for more information.`)],-1)])])]),c[14]||=a(`

    Kinsta

    Please check Set Up VuePress on Kinsta.

    Edgio

    Please check Edgio Documentation > Framework Guides > VuePress.

    Netlify

    1. Go to Netlify, create a new project from GitHub, and configure it as follows:

      • Build Command: pnpm docs:build
      • Publish directory: docs/.vuepress/dist
    2. Set Environment variables to select the Node.js version:

      • NODE_VERSION: 22
    3. Click the deploy button.

    Vercel

    1. Go to Vercel, create a new project from GitHub, and configure it as follows:

      • FRAMEWORK PRESET: Other
      • BUILD COMMAND: pnpm docs:build
      • OUTPUT DIRECTORY: docs/.vuepress/dist
    2. Click the deploy button.

    CloudBase

    CloudBase is a cloud-native, integrated Serverless cloud platform that supports various hosting capabilities like static websites and containers. It provides an easy deployment tool, CloudBase Framework, for one-click application deployment.

    1. Install CloudBase CLI globally:

      pnpm install -g @cloudbase/cli
    2. Run the following command in your project's root directory to deploy the VuePress application with one click. You can first activate an environment before deployment:

      cloudbase init --without-template
      cloudbase framework:deploy

    The CloudBase CLI will first redirect to the console for login authorization and then proceed with an interactive confirmation.

    After confirmation, deployment will begin immediately. Once completed, you will get a website application with automatic SSL and CDN acceleration. You can also use GitHub Action for continuous deployment of your VuePress application on GitHub.

    You can also use cloudbase init --template vuepress to quickly create and deploy a new VuePress application.

    Tips

    For more detailed information, please check the deployment project examples in the CloudBase Framework documentation.

    21 YunBox

    Please check 21 YunBox - Deploy a VuePress Static Site.

    `,17)])}var S=s(l,[[`render`,x]]);export{c as _pageData,S as default};