MENU
- 前言
- vite.config.ts的配置
- deploy文件夹的其他内容
- remote.sh
- pwd.txt
- deploy.bat
前言
1、在src同级新建
deploy.bat
文件;
2、在src同级新建deploy
文件夹,文件夹中新建pwd.txt
和remote.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文件夹的其他内容
PLINK.EXE
和PSCP.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操作。