当前位置: 首页 > news >正文

vue之一键部署的shell脚本和它的点.bat文件、海螺AI、ChatGPT

MENU

  • 前言
  • vite.config.ts的配置
  • deploy文件夹的其他内容
  • remote.sh
  • pwd.txt
  • deploy.bat


前言

1、在src同级新建deploy.bat文件;
2、在src同级新建deploy文件夹,文件夹中新建pwd.txtremote.sh文件;
3、配置好后,直接双击deploy.bat文件即可启动打包和上传部署。


vite.config.ts的配置

import { UserConfig, ConfigEnv, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
import path from 'path';
import { createHtmlPlugin } from 'vite-plugin-html';export default ({ mode }: ConfigEnv): UserConfig => {// 获取.env环境配置文件const env = loadEnv(mode, process.cwd());return {build: {outDir: 'wdd-admin'},server: {host: '0.0.0.0',port: 8080,// 运行自动打开浏览器open: true,proxy: {'/api': {target: env.VITE_API_URL,changeOrigin: true}}},plugins: [vue(),createHtmlPlugin({inject: {data: {VITE_APP_SYSTEM_NAME: env.VITE_APP_SYSTEM_NAME}}}),createSvgIconsPlugin({// 指定需要缓存的图标文件夹iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],// 指定symbolId格式symbolId: 'icon-[dir]-[name]'})],resolve: {// Vite路径别名配置alias: {'@': path.resolve('./src')}}};
};

deploy文件夹的其他内容

deploy


PLINK.EXEPSCP.EXE文件是脚本自带的插件,需要下载。


remote.sh

cd /aly/local/web
rm -rf admin.old
mv admin admin.old
tar -xf deploy-admin.tar
chmod -R 755 admin
rm -f deploy-admin.tar

pwd.txt

服务器密码。


deploy.bat

代码

@ECHO OFFSET host=186.28.68.8
SET port=22
SET user=root@REM 判断密码文件是否存在
IF NOT EXIST deploy/pwd.txt (ECHO 提示:请在deploy目录下新建pwd.txt,并将密码存入该文件中EXIT
)@REM 工作目录设置为脚本所在目录
CD /d %~dp0@REM 打包上传项目文件
CALL npm run build-hw
tar -cf deploy/deploy-admin.tar wdd-admin
CD deploy
ECHO 上传文件中...
PSCP -P %port% -pwfile pwd.txt deploy-admin.tar %user%@%host%:/usr/local/wdd/web
DEL deploy-admin.tar@REM 解压项目文件
ECHO 解压文件中...
PLINK -ssh -batch -P %port% -pwfile pwd.txt %user%@%host% -m remote.shECHO 项目部署完成
ECHO https://186.28.68.8:6008/start https://186.28.68.8:6008/

解析
ChatGPT

这段批处理脚本(Batch script)用于自动化项目的部署,主要功能是上传和解压项目文件。


@ECHO OFF

这一行关闭命令行回显,即在执行命令时不会显示具体命令内容,保持界面的整洁。


SET host=186.28.68.8
SET port=22
SET user=root

这三行设置了一些变量,host表示服务器地址,port表示端口号,user表示用户名。


@REM 判断密码文件是否存在
IF NOT EXIST deploy/pwd.txt (ECHO 提示:请在deploy目录下新建pwd.txt,并将密码存入该文件中EXIT
)

这段代码是一个判断语句,用于检查密码文件deploy/pwd.txt是否存在。如果不存在,则提示用户创建该文件并将密码存入其中,然后退出脚本。


@REM 工作目录设置为脚本所在目录
CD /d %~dp0

这行命令将工作目录设置为脚本所在目录,以确保脚本中的路径都相对于脚本文件本身。


@REM 打包上传项目文件
CALL npm run build-hw
tar -cf deploy/deploy-admin.tar wdd-admin
CD deploy
ECHO 上传文件中...
PSCP -P %port% -pwfile pwd.txt deploy-admin.tar %user%@%host%:/usr/local/wdd/web
DEL deploy-admin.tar

这一段代码用于打包和上传项目文件:
1、CALL npm run build-hw:执行构建命令,生成项目的构建文件。
2、tar -cf deploy/deploy-admin.tar wdd-admin:将wdd-admin目录打包为deploy-admin.tar文件。
3、CD deploy:切换到deploy目录。
4、ECHO 上传文件中…:显示上传文件提示。
5、PSCP -P %port% -pwfile pwd.txt deploy-admin.tar %user%@%host%:/usr/local/wdd/web:使用PSCP命令将打包文件上传到服务器指定目录。
6、DEL deploy-admin.tar:删除本地的打包文件。


@REM 解压项目文件
ECHO 解压文件中...
PLINK -ssh -batch -P %port% -pwfile pwd.txt %user%@%host% -m remote.sh

这一段代码用于在服务器上解压项目文件:
1、ECHO 解压文件中…:显示解压文件提示。
2、PLINK -ssh -batch -P %port% -pwfile pwd.txt %user%@%host% -m remote.sh:使用PLINK命令连接到服务器并执行远程脚本remote.sh,该脚本通常用于在服务器上解压和配置项目文件。


ECHO 项目部署完成
ECHO https://186.28.68.8:6008/

这两行显示项目部署完成的提示和项目访问地址。


start https://186.28.68.8:6008/

这一行在默认浏览器中打开项目的访问地址。


总结
该脚本通过一系列命令实现了从构建项目、打包文件、上传文件到服务器以及在服务器上解压文件的自动化部署流程。需要确保以下几点:
1、deploy/pwd.txt 文件存在,并且包含正确的密码。
2、本地环境安装了npm、PSCP和PLINK工具。
3、服务器端的 remote.sh 脚本存在并且配置正确。


海螺AI

这段代码是一个Windows批处理脚本,用于自动化部署一个Web项目到远程服务器。


@ECHO OFF

这行命令关闭命令回显,即执行命令时不会在命令行窗口显示这些命令本身。


SET host=186.28.68.8

设置变量host为远程服务器的IP地址186.28.68.8。


SET port=22

设置变量port为远程服务器的SSH端口22。


SET user=root

设置变量user为远程服务器的用户名root。


@REM 判断密码文件是否存在
IF NOT EXIST deploy/pwd.txt (ECHO 提示:请在deploy目录下新建pwd.txt,并将密码存入该文件中EXIT
)

检查deploy目录下是否存在pwd.txt文件,如果不存在,则提示用户创建该文件并输入密码,然后退出脚本。


@REM 工作目录设置为脚本所在目录
CD /d %~dp0

改变当前目录到脚本所在的目录。


@REM 打包上传项目文件
CALL npm run build-hw

调用npm执行build-hw脚本,这通常用于构建项目。


tar -cf deploy/deploy-admin.tar wdd-admin

使用tar命令创建一个名为deploy-admin.tar的压缩包,包含wdd-admin目录。


CD deploy

切换当前目录到deploy。


ECHO 上传文件中...

显示提示信息,告知用户接下来将上传文件。


PSCP -P %port% -pwfile pwd.txt deploy-admin.tar %user%@%host%:/usr/local/wdd/web

使用PSCP(PuTTY Secure Copy)命令将deploy-admin.tar文件上传到远程服务器的/usr/local/wdd/web目录。-P指定端口,-pwfile指定包含密码的文件,%user%@%host%指定了远程服务器的用户名和IP地址。


DEL deploy-admin.tar

删除本地的deploy-admin.tar文件。

@REM 解压项目文件
ECHO 解压文件中...

显示提示信息,告知用户接下来将解压文件。


PLINK -ssh -batch -P %port% -pwfile pwd.txt %user%@%host% -m remote.sh

使用PLINK(PuTTY Link)命令通过SSH连接到远程服务器,并执行remote.sh脚本。-ssh指定使用SSH协议,-batch表示非交互模式,-m指定要执行的脚本文件。


ECHO 项目部署完成

显示提示信息,告知用户项目部署完成。


ECHO https://186.28.68.8:6008/

显示提示信息,告知用户可以通过这个URL访问部署的项目。


start https://186.28.68.8:6008/

在默认的Web浏览器中打开上述URL。


这个脚本的目的是自动化地将本地的Web项目打包、上传到远程服务器,并执行部署脚本,最后提供访问部署项目的URL。注意,这个脚本依赖于PuTTY工具集中的PSCP和PLINK命令,这些命令通常用于Windows系统中进行SSH和SCP操作。

相关文章:

vue之一键部署的shell脚本和它的点.bat文件、海螺AI、ChatGPT

MENU 前言vite.config.ts的配置deploy文件夹的其他内容remote.shpwd.txtdeploy.bat 前言 1、在src同级新建deploy.bat文件; 2、在src同级新建deploy文件夹,文件夹中新建pwd.txt和remote.sh文件; 3、配置好后,直接双击deploy.bat文…...

pg和oracle的区别

1、从功能上来说pg要比oracle数据库弱。 2、pg不支持索引组织表。 pg和oracle的相似之处: 1、使用共享内存的进程结构,客户端与数据库服务器建立一个连接后,数据库服务器就启动一个进程为这个连接服务。这与mysql的线程模型不一样。 2、p…...

Docker:在DockerHub上创建私有仓库

文章目录 Busybox创建仓库推送镜像到仓库 本篇开始要学习在DockerHub上搭建一个自己的私有仓库 Busybox Busybox是一个集成了三百多个最常用Linux命令和工具的软件,BusyBox包含了很多工具,这里拉取该镜像推送到仓库中: 安装 apt install …...

框架的使用

什么是框架? 盖房子,框架结构 框架结构就是房子主体,基本功能 把很多基础功能已经实现(封装了) 框架:在基础语言之上,对各种基础功能进行封装,方便开发者,提高开发效…...

Autosar-DEM诊断事件管理流程

文章目录 前言一、故障事件监控二、故障信息上报三、故障信息处理Event的使能条件四、故障信息存储五、故障系统降级关联文章:Autosar实践——DEM配置 前言 DEM全称“Diagnostic Event Management”,该模块是AUTOSAR架构中的BSW模块之一。谈到故障,我们首先会想到如何去监控…...

LabVIEW输送机动态特性参数监测系统

开发了一套基于LabVIEW软件和STM32F103ZET6单片机的带式输送机动态特性参数监测系统。该系统通过电阻应变式压力传感器和光电编码器实时采集输送带的张力和带速信息,通过5G模块将数据传输至上位机,实现数据的可视化处理与实时预警,有效提高输…...

绿色版DirectoryOpus功能强大且高度可定制的Windows文件管理器

Directory Opus(通常简称为DOpus)是一款功能强大且高度可定制的Windows文件管理器。它提供了许多超越Windows默认文件资源管理器(Explorer)的功能,使得文件和文件夹的管理变得更加高效和直观。以下是对Directory Opus的…...

Cocos Creator,Youtube 小游戏!

YouTube 官方前段时间发布了一则重磅通知,宣布平台旗下小游戏功能 Youtube Playables 正式登录全平台(安卓、iOS、网页),并内置了数十款精选小游戏。 Youtube Playables 入口: https://www.youtube.com/playables Coco…...

分层解耦

三层架构 controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据, service:业务逻辑层,处理具体的业务逻辑。 dao:数据访问层(Data Access Object)(持久层),负责数据访问操作,包括数…...

GenICam标准(六)

系列文章目录 GenICam标准(一) GenICam标准(二) GenICam标准(三) GenICam标准(四) GenICam标准(五) GenICam标准(六) 文章目录 系列文…...

JavaFX VBox

VBox布局将子节点堆叠在垂直列中。新添加的子节点被放置在上一个子节点的下面。默认情况下,VBox尊重子节点的首选宽度和高度。 当父节点不可调整大小时,例如Group节点,最大垂直列的宽度基于具有最大优选宽度的节点。 默认情况下,…...

xss+csrf项目实例

项目背景: 如下:我们是在一个类似文章管理系统的网站上面发现的该漏洞。我们将其运行在本地的phpstudy集成环境上面。 源码地址下载链接:https://pan.baidu.com/s/1MpnSAq7a_oOcGh4XgPE-2w 提取码:4444 考察内容: …...

速盾:cdn加速怎么计费?

CDN加速(Content Delivery Network)是一种将内容部署在全球多个节点上,通过就近访问提供服务的技术。它可以加快网站的速度和可靠性,同时减轻源服务器的负载。在使用CDN加速服务时,计费是一个重要的问题,下…...

Vue3 中 props 与 emit 用法

在 Vue3 中,props 和 emit 的用法有所改变,主要的变化在于它们现在都通过 setup 函数来访问和使用。 props: props 用于父组件向子组件传递数据。在 setup 函数中,props 是一个参数,我们可以通过它访问到父组件传入的所有 prop 值…...

【python】如何import 另一个路径下的py文件内容

目录结构: ├─common │ └─config.py └─own_module │ └─run.py问题描述: 如何在run.py 中调用 config.py 中的函数或类? 解决办法: import os import sys # 为了引用自定义模块,可临时将module的绝对路径…...

C/C++ Adaline自适应线性神经网络算法详解及源码

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…...

UniApp+Vue3使用Vant-微信小程序组件

第一步:打开创建好的UniappVue3的项目 第二步:下载Vant-Weapp npm i vant/weapp -S --production 第三步:修改目录名称 wxcomponents 必须是wxcomponents 第四步:将下载好的vant中的dist目录剪切到当前wxcomponents目录下 第五…...

python IP 端口 socket tcp 介绍

IP 端口 介绍 1、IP IP地址是分配给网络设备上网使用的数字标签,它能够标识网络中唯一的一台设备 windows环境可以使用 ipconfig 来查看自己的iplinux环境可以使用 ifconfig 来查看自己的ip 2、端口 端口是传输数据的通道,每个操作系统上都有 65535个…...

【动态规划】| 路径问题之最小路径和 力扣64

🎗️ 主页:小夜时雨 🎗️专栏:动态规划 🎗️如何活着,是我找寻的方向 目录 1. 题目解析2. 代码 1. 题目解析 题目链接: https://leetcode.cn/problems/minimum-path-sum/description/ 这道题目和之前一道…...

如何在vector中插入和删除元素?

在C的std::vector中插入和删除元素通常使用其成员函数来完成。以下是如何在std::vector中插入和删除元素的示例&#xff1a; 插入元素 在末尾插入元素&#xff1a;使用push_back函数。 cpp复制代码 #include <vector> int main() { std::vector<int> v; v.push_…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...