前端Vue项目的自动打包、上传与部署

news2024/10/5 13:13:15

文章目录

  • 前言
  • 思路与流程
  • 脚本实现
    • 1. 打包前端项目
    • 2. 上传前端项目
    • 4. 传递密码
    • 5. 代码优化
  • 完整脚本
  • 结语

前言

在实际项目开发中,并不是所有项目都会配置 CI/CD 流程,特别是在中小型团队或者公司内部测试环境中,很多时候我们仍然需要手动打包、上传和部署项目。这个过程虽然简单,但往往是重复性强且浪费时间还容易出错,尤其是当项目规模较大时,整个流程会变得非常耗时和繁琐。

为了解决这些问题,我们可以编写一个自动化脚本,将项目的打包、上传及部署等一系列步骤自动化,这样可以减少重复性工作,节省时间,提高效率。接下来,我将详细介绍如何通过 Shell 脚本来实现这一流程的自动化。

思路与流程

手动部署一个前端项目的典型步骤包括:

  1. 执行 npm run build 打包前端项目。
  2. 将打好的项目打成压缩包(如 .tar 包)。
  3. 使用 scp 命令将压缩包上传到服务器。
  4. 登录到服务器,解压并替换掉当前的前端项目包。
  5. 执行一些后续清理操作,必要时重启服务。
    这些步骤虽然不复杂,但手动执行时耗时且容易出错,尤其是等待项目打包和文件上传时,可能会耗费大量时间。

通过编写一个自动化脚本࿰

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

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

相关文章

数据结构与算法(七)静态链表

目录 前言 一、静态链表的引入 二、线性表的静态链表存储结构 三、静态链表的插入操作 四、静态链表的删除操作 五、静态链表的优缺点总结 1、优点 2、缺点 3、小结 六、单链表小结——Tecent面试题 1、普通解法: 2、高级解法: 前言 静态链表…

基于CAN总线的TMS320F28335 Bootloader设计说明

1 设计目的 根据客户要求,开发一款基于CAN总线的TI公司TMS320F28335 DSP(数字信号处理器)bootloader,以方便应用程序的刷写。CAN设备采用周立功CAN卡(USBCAN-I、USBCAN-II、USBCAN-E-mini)。 2 专有信息 …

一篇文章吃透OA系统

一、OA系统是什么,都有什么功能? OA系统(Office Automation System)是办公自动化系统的简称,是一种利用计算机技术和网络通信技术,为企业和组织提供办公管理和协作支持的信息化系统。OA系统旨在提高办公效…

讯飞星火编排创建智能体学习(五):变量和文本拼接

引言 在讯飞星火编排创建智能体学习(四):网页读取-CSDN博客中,我介绍了如何用网页读取功能从网上搜索车次信息。其中,我使用用大模型节点从文本中提取车次并合成了所需要的URL,今天介绍一下如何用变量和文…

win7怎么禁用驱动强制数字签名?win7驱动程序强制数字签名禁用方法

在Windows 7 64位操作系统中,安装驱动程序时可能会遇到“数字签名”的问题,这是微软为了确保驱动程序的安全性和可靠性而引入的一项安全机制。本文将深入探讨这个问题,并提供有效的解决方案。 理解数字签名的概念是至关重要的。数字签名是一…

LabVIEW机床加工监控系统

随着制造业的快速发展,机床加工的效率与稳定性成为企业核心竞争力的关键。传统的机床监控方式存在效率低、无法远程监控的问题。为了解决这些问题,开发了一种基于LabVIEW的机床加工监控系统,通过实时监控机床状态,改进生产流程&am…

新闻推荐系统:Spring Boot的架构优势

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

详解JavaScript函数属性、方法和构造函数

函数属性、方法和构造函数 JS中,函数是值,对函数执行typeof运算会返回function,但是函数是JS中特殊的对象,也可以拥有属性和方法。 length属性 函数体里面,arguments.length表示传入函数的实参个数,而函…

(笔记)第三期书生·浦语大模型实战营(十一卷王场)–书生基础岛第2关---8G 显存玩转书生大模型 Demo

学员闯关手册:https://aicarrier.feishu.cn/wiki/ZcgkwqteZi9s4ZkYr0Gcayg1n1g?open_in_browsertrue 课程视频:https://www.bilibili.com/video/BV18x4y147SU/ 课程文档: https://github.com/InternLM/Tutorial/blob/camp3/docs/L1/Demo/rea…

数据结构与算法——Java实现 29.优先级队列

事缓则圆,人缓则安 —— 24.10.5 一、优先级队列 优先级队列 一端进,另一端出 按优先级出队 普通队列 一端进,另一端出 先进先出FIFO 二、无序数组实现 Type parameters…

IIOT工业物联网的标准与互操作性—SunIOT

【大家好,我是唐Sun,唐Sun的唐,唐Sun的Sun。一站式数智工厂解决方案服务商】 工业物联网(IIoT)正以惊人的速度重塑着工业领域的生产方式、运营模式和价值创造。然而,要实现工业物联网的广泛应用和充分发挥…

qt cmake自定义资源目录,手动加载资源(图片, qss文件)

1. 目录创建 因为使用非qtcreator或者自定义工程结构就没法自动加载图标,所以需要手动加载,这里使用vscode和自定义工程结构 vscode qt 环境搭建: https://blog.csdn.net/qq_51355375/article/details/140733495 qt 自定义工程结构参考(因使…

js chrome devtools 调试技巧

笔记 这一篇, 需要慢慢补充。 1. console 控制台 $0, 查看当前选中的元素getEventListener($0) 当前元素,包含的监听事件 老哥留步,支持一下。

高级I/O

目录 一、I/O概念 1.1、OS 如何得知外设中有数据可读取? 1.2、OS 如何处理从网卡中读取到的数据包? 二、五种I/O模型 2.1、阻塞I/O 2.2、非阻塞I/O 2.3、信号驱动 IO 2.4、IO 多路转接 2.5、异步 IO 三、高级I/O 3.1、同步通信 VS 异步通信 …

YOLO11改进|卷积篇|引入全维动态卷积ODConv

目录 一、【ODConv】全维动态卷积1.1【ODConv】卷积介绍1.2【ODConv】核心代码 二、添加【ODConv】卷积2.1STEP12.2STEP22.3STEP32.4STEP4 三、yaml文件与运行3.1yaml文件3.2运行成功截图 一、【ODConv】全维动态卷积 1.1【ODConv】卷积介绍 ODConv利用一种全新的多维注意力机…

12.1 Linux_进程间通信_管道

概述 什么是无名管道: 无名管道就是在内核中开辟了一块内存,进程1和进程2都可以访问这一块空间,从而实现通信。 当无名管道被创建时,父进程fd[0]指向管道的读端,fd[1]指向管道的写端。fork创建子进程后,…

4.人员管理模块(开始预备工作)——帝可得管理系统

目录 前言一、需求分析1.页面原型2.创建SQL 二、使用若依框架生成前后端代码1.添加目录菜单2.添加数据字典3.配置代码生成信息4.下载代码并导入项目5.快速导入方法 三、 总结 前言 提示:本篇讲解人员管理模块的开发的预备工作,包括需求分析、生成代码、…

点亮一个LED以及按键控制

目录 前言 LED 1.LED介绍 2.LED原理图 3.如何实现发光 按键 1.按键原理图 2.按键原理 按键控制LED 1.代码实现 2.软件消除抖动 软件消除抖动的原因 软件消抖如何实现 总结 前言 我们上节完成了开发环境的安装,本节我们就来实现我们的第一个程序吧(没安…

STM32的集成电路总线I2C

一、I2C简介 1.I2C总线特点 (1)两线制 I2C只需要SDA、SCL两根线来完成数据的传输和外围器件的扩展,器件地址采用软件寻址方式。 (2)多主机总线 I2C是一个真正的多主机总线,如果2个或多个主机同时初始化数据…

Day01-MySQL数据库介绍及部署

Day01-MySQL数据库介绍及部署 1、数据库服务概述介绍1.1 企业中为什么需要数据库?1.2 数据库服务作用1.3 数据库服务分类 2、数据库服务安装部署2.1 数据库版本应用2.2 数据库服务程序下载2.3 数据库软件安装方式2.3.1 二进制安装步骤 3、数据库服务初始化介绍3.1 安…