vue3 - 前端 Vue 项目提交GitHub 使用Actions自动化部署

news2024/11/27 8:46:17

GitHub Demo 地址

在线预览

参考文章
使用GithubActions发布Vue网站到GithubPage
使用Github Actions将Vue项目部署到Github Pages
前端使用github pages 部署自己的网站
GitHub Actions自动化部署前端项目指南

前言

vue前端项目写好之后,想部署到线上通过在线地址进行访问,可以通过gitee或者GitHub的pages
这里是手动部署的方法:Vue - vue项目打包部署到Github的pages在线访问

自动化部署需要的准备工作

在项目中设置路径

vite.config.ts文件设置base为 './',
在这里插入图片描述

添加gh-pages分支

新增一个代码分支,命名为gh-pages,如果不是空白分支,把分支多余的代码删掉
然后复制dist里面的文件(不要dist文件夹)到项目根目录
提交代码到分支

设置pages

进入GitHub-项目-settings-pages设置,即可得到在线预览地址

在这里插入图片描述

创建自动部署的文件

在项目根路径创建.github\workflows\auto-deploy.yml文件

# .github/workflows/auto-deploy.yml

name: auto deploy 🚀

on:
  # 监听push操作
  push:
    branches:
      - main # 这里只配置了main分支,所以只有推送main分支才会触发以下任务
  pull_request:

  # 这个选项可以使你手动在 Action tab 页面触发工作流
  # workflow_dispatch:

permissions:
  # 允许对仓库的内容进行写操作。包括创建、修改和删除文件、目录以及提交更改等
  # 这里只配置了push,所以只有推送main分支才会触发以下任务 
  contents: write
  # 允许管理 GitHub Pages 服务并对其进行写操作
  pages: write


jobs:
  # 任务ID
  build-and-deploy:
    # 运行环境
    # runs-on: macos-latest
    # runs-on: windows-latest
    runs-on: ubuntu-latest
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
    
    # 步骤
    steps:
      # 官方action,将代码拉取到虚拟机
      - name: Checkout
        uses: actions/checkout@v3

      # 建一个名为setup-node的步骤(安装指定版本的Node.js)
      - name: setup-node 
        # 使用setup-node@v3这个action
        uses: actions/setup-node@v3
        # 指定某个action 可能需要输入的参数
        with:
          node-version: '16.x'

      # 安装 pnpm
      - name: Install pnpm
        run: npm install pnpm -g

      # 安装依赖  
      - name: Install dependencies
        run: pnpm i
      # 打包
      - name: Build application 🔧
        run: pnpm run build:prod

      # 部署 https://github.com/JamesIves/github-pages-deploy-action
      - name: Deploy 🚀
        uses: JamesIves/github-pages-deploy-action@v4
        if: github.ref == 'refs/heads/main'
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          branch: gh-pages  # default: gh-pages
          folder: dist
          clean: true # Automatically remove deleted files from the deploy branch
          # commit-message: ${{ github.event.head_commit.message }} # default: `Deploying to gh-pages from @ 3238feb 🚀`
          # commit-message: "deploy: ${{ github.sha }} (${{ github.event.head_commit.message }}) 🚀 "

获取密钥并存储到Github仓库中
创建密钥
进入Github的Settings中https://github.com/settings/,依次点击Developer settingsPersonal access tokens。然后点击Generate new token创建。因为要操作仓库,所以需要勾选repo权限。

具体请参考:github 创建个人访问令牌

请及时保存生成的密钥

将密钥存储到Github仓库

首先创建一个Github仓库,然后到仓库的Settings/Secret下,点击New repository secret将刚才保存的密钥保存,并命名为ACCESS_TOKEN(注意,如果这里的命名更改了,前面的yml文件中的${{ secrets.ACCESS_TOKEN }}也要更改)

完成这些步骤后,当你将新代码推送到 GitHub 仓库的主分支(通常是 main)时,GitHub Actions 将会自动运行,并将构建后的静态文件部署到 gh-pages 分支。然后,你可以通过访问 https://<用户名>.github.io/<仓库名称>/ 来查看部署好的 Vue 项目。

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1028869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中秋接月饼

hellow大家好&#xff0c;中秋佳节到了&#xff0c;欢乐度节的同时&#xff0c;技术也要跟上呀&#xff0c;这次我们通过canvas实现一个中秋接月饼的小游戏&#xff0c;三连不迷路哦~ 展示一下游戏成品&#xff1a; 准备游戏背景 首先我们将游戏背景界面绘制出来。 游戏背景…

滚雪球学Java(37):深入了解Java方法作用域和生命周期,让你写出更高效的代码

&#x1f3c6;本文收录于「滚雪球学Java」专栏&#xff0c;专业攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎大家关注&&收藏&#xff01;持续更新中&#xff0c;up&#xff01;up&#xff01;up&#xff01;&#xf…

微信重磅更新!有人已经涨粉好几万了!

公众号又更新了。 一个是发布功能升级&#xff0c;新发布的内容将展示在公众号主页&#xff0c;并有机会获得平台推荐。但仍然不会推送给用户&#xff0c;这是除了次数以外&#xff0c;和群发文章仅有的区别了。 ▲ 图片来源&#xff1a;微信公众号平台 不过目前仅支持用网页…

Android调用相机拍照,展示拍摄的图片

调用相机&#xff08;隐式调用&#xff09; //自定义一个请求码 这里我设为10010int TAKE_PHOTO_REQUEST 10010;int RESULT_CANCELED 0;//定义取消码//触发监听&#xff0c;调用相机image_camera.setOnClickListener(new View.OnClickListener() {Overridepublic void onCli…

Network: use `--host` to expose

vite 启动项目提示 Network: use --host to expose 同事不能通过本地IP地址访问项目 解决方案&#xff1a;package.json中启动命令配置本地IP地址 vite --host 192.168.200.252

windows11中安装curl

windows11中安装curl 1.下载curl curl 下载地址&#xff1a;curl 2.安装curl 2.1.解压下载的压缩包 解压文件到 C:\Program Files\curl-8.3.0_1-win64-mingw 目录 2.2.配置环境变量 WINS 可打开搜索栏&#xff0c;输入“编辑系统环境变量” 并按回车。 3.可能遇到的问题 3…

天地图绘制区域图层

背景&#xff1a; 业务方要求将 原效果图 参考效果图 最终实现效果 变更点&#xff1a; 1.将原有的高德地图改为天地图 2.呈现形式修改&#xff1a;加两层遮罩&#xff1a;半透明遮罩层mask区域覆盖物mask 实现过程&#xff1a; 1.更换地图引入源 <link rel"style…

BI系统上的报表怎么导出来?附方法步骤

在BI系统上做好的数据可视化分析报表&#xff0c;怎么导出来给别人看&#xff1f;方法有二&#xff0c;分别是1使用报表分享功能&#xff0c;2使用报表导出功能。下面就以奥威BI系统为例&#xff0c;简明扼要地介绍这两个功能。 1、报表分享功能 作用&#xff1a; 让其他同事…

SqlServer备份与还原 System.Data.SqlClient.SqlError: 媒体集有 2 个媒体簇,但只提供了 1 个。必须提供所有成员

System.Data.SqlClient.SqlError: 媒体集有 2 个媒体簇,但只提供了 1 个。必须提供所有成员。 (Microsoft.SqlServer.Smo) 这是由于你备份时&#xff0c;没有去掉默认的C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\数据库名.bak&#xff0c;而又添加了一个新路…

【扩散生成模型】Diffusion Generative Models

提出扩散模型思想的论文&#xff1a; 《Deep Unsupervised Learning using Nonequilibrium Thermodynamics》理解 扩散模型综述&#xff1a; “扩散模型”首篇综述论文分类汇总&#xff0c;谷歌&北大最新研究 理论推导、代码实现&#xff1a; What are Diffusion Models?…

【办公小神器】:快速批量转换Word、Excel、PPT为PDF脚本!

文章目录 ✨哔哩吧啦✨脚本使用教程✨温馨小提示设置&#x1f4da;资源领取 专栏Python零基础入门篇&#x1f525;Python网络蜘蛛&#x1f525;Python数据分析Django基础入门宝典&#x1f525;小玩意儿&#x1f525;Web前端学习tkinter学习笔记Excel自动化处理 ✨哔哩吧啦 前…

Linux 安装 git

一 . 安装git 方式1&#xff1a;通过yum 安装 yum -y install git查看是否安装成功 git --version安装目录在&#xff1a;/usr/libexec/git-core yum 安装有一些缺点 &#xff1a;不能自己指定安装目录、安装版本 方式 2 下载tar.gz 包 配置 查看git 版本&#xff1a;Index…

windows11专业版下安装ubuntu20终端应用

主要步骤如下&#xff1a; https://blog.csdn.net/i_ziyu/article/details/127603934 https://blog.csdn.net/qq_17525509/article/details/122287051 搜索windows功能&#xff1a; 在设置里面&#xff1a; 设置–更新和安全–开发者选项 打开开发者模式。 去应用商店下载&a…

ChatGPT实战-构建文章分析AI聊天机器人

视频版本&#xff1a; ChatGPT实战-构建文章分析AI聊天机器人 简介 本文实现如下功能&#xff1a; 当浏览一篇文章&#xff0c;点击分享&#xff0c;分享到聊天软件的对话框中。它就会生成一个文章的总结和分析结果。例如分析是否有逻辑问题&#xff0c;是否有诱导购买&#…

基于SSM+Vue的在线购书商城系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

浅谈 React 与 Vue 更新机制的差异

前言 哈喽&#xff0c;大家好&#xff0c;我是 Baker &#xff01;&#x1f389; 对于前端的 Vue 和 React 相信大家并不陌生&#xff0c;这两个库有着截然不同的设计思想和发展目标&#xff0c;对于我们上层使用者来说&#xff0c;研究它们的差异不仅让我们更加深入的去理解…

使用自定义插槽(slot)来将数据传递给插槽内容。el-step

description为描述性文字&#xff0c;需使用slot来自定义文字。 A 是 Vue 3 中的语法糖&#xff0c;用于简洁地定义插槽。用来绑定step组件中description。step可使用插槽 B是绑定date数据实现自定义描述文字。

VoxWeekly|The Sandbox 生态周报|20230918

欢迎来到由 The Sandbox 发布的《VoxWeekly》。我们会在每周发布&#xff0c;对上一周 The Sandbox 生态系统所发生的事情进行总结。 如果你喜欢我们内容&#xff0c;欢迎与朋友和家人分享。请订阅我们的 Medium 、关注我们的 Twitter&#xff0c;并加入 Discord 社区&#xf…

linux安装配置 flume

目录 一 解压安装包 二 配置部署 &#xff08;1&#xff09;修改配置 &#xff08;2&#xff09;下载工具 &#xff08;3&#xff09;创建配置文件 &#xff08;4&#xff09;启动监听测试 &#xff08;5&#xff09;flume监控文件 一 解压安装包 这里提供了网盘资源 链…

狂热过后,RPA到底是什么?

随着科技的不断进步&#xff0c;人工智能正在逐步渗透到各个领域&#xff0c;并不断演变&#xff0c;成为更加便捷的方式步入万家&#xff0c;让科技的变革的春风吹入了千行百业&#xff0c;落入千家万户。而“RPA”&#xff08;Robotic Process Automation&#xff0c;即机器人…