likes
comments
collection
share

自动化部署VUE项目

作者站长头像
站长
· 阅读数 15

自己简单写了个vue项目,本来想把它部署到服务器上,发现可以直接自动化部署到Github Page上,在github.io直接访问,每次有更新都会自动化部署,太方便了。

部署流程

初始化项目

npm init vue@latest

这一指令会安装并执行create-vue,它是Vue官方的项目脚手架工具。 自动化部署VUE项目 创建好项目后,推送到github。

配置github actions

在项目目录增加.github/workflows文件夹,创建main.yml文件。 自动化部署VUE项目 文件代码如下

name: Build and Deploy
on: # 监听 main 分支上的 push 事件
  push:
    branches:
      - main
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest # 构建环境使用 ubuntu
    steps:         
      - name: Checkout # 获取源码
        uses: actions/checkout@v3 
        with:
          persist-credentials: false

      - name: Install pnpm # 安装pnpm
        uses: pnpm/action-setup@v2
        with:
          version: 6.0.2

      - name: Install and Build # 下载依赖 打包项目
        run: |
          pnpm install
          pnpm run build

      - name: Deploy # 将打包内容发布到 github page
        uses: JamesIves/github-pages-deploy-action@v4 # 使用别人写好的 actions
        with:  # 自定义环境变量
          BRANCH: gh-pages # github page指定分支
          FOLDER: dist # build后生成的目录
          clean: true

新建gh-pages分支

项目初始化后,默认只有main分支,需要新建gh-pages分支,可以在本地建,也可以在远程仓库建,注意代码同步问题。分支建好后,可以在settings里面的pages看到。

自动化部署VUE项目

设置公共路径

由于项目打包后,不设置公共路径的话,会以/作为根目录,这里需要以github仓库名作为根目录,在vue.config.js设置。joy-tool替换成自己的github仓库名。

module.exports = defineConfig({
  publicPath: process.env.NODE_ENV === "production" ? "/joy-tool/" : "/",
})

设置项目权限

以上都设置好后,自动化部署时碰到下面这个错误 自动化部署VUE项目 需要设置workflow的权限为读写,在项目的Settings->Actions->General页面下,找到workflow permissions。 自动化部署VUE项目 自动化部署VUE项目

效果

配置完成后,每次push到github就会自动部署了。 自动化部署VUE项目 点进pages build and deployment可以看到对应的github page链接。

转载自:https://juejin.cn/post/7251398450700468285
评论
请登录