vue打包关键:单独设置两个command 命令分别执行安装和打包,否则安装警告后打包命令就不执行了,具体看截图(折磨半天,网上找了半天还是自己想的笨办法好用)
原理过程是 从git上下载源码,然后根据配置的命令打包
java springboot 打包需要指定pom位置middleware/pom.xml
vue打包是指定打包文件,指定打包命令,命令如下:
更新阿里源:npm config set registry https://registry.npm.taobao.org/
检查是否更新成功: npm config get registry
命令1
cd las-client
npm install --no-fund
命令2
cd las-client
npm run build:prod --dev
(需要在package.json同目录下执行,另文件内容下面有)
环境需要:
注意:前台有两个打包后的工程,把它们两个都放在C:\sshServer目录下,访问不同前台工程通过路径指定文件目录,如127.0.0.1/pro1 或 127.0.0.1/pro2,pro1和pro2是sshServer下级的两个目录(之前网上找了很多,试了都不好使)
1、首先需要nginx ,前台编译后是静态页 一个index.html及一堆js scc等等静态文件,要访问前台需要将nginx配置文件指定到index.html的文件路径位置。
nginx安装可参考我的文章
https://blog.csdn.net/oMangGuoBuDing1/article/details/119903000
2、需要在部署机器上添加并开启ssh服务,用于将编译完成后的部署文件传送到ssh指定的目录下(如不需要ssh移动部署文件到其他目录此步骤不需要)
win10下开通ssh步骤参考如下:
Openssh是Linux系统下功能强大的远程服务和管理工具,现在在Windows10系统下也可以使用Openssh了。安装步骤如下:
1、设置——更新和安全——开发者选项——点选“开发人员模式”,首先安装开发人员功能。
2、设置——应用——应用和功能——管理可选功能,添加功能。
安装后,重启。cmd 输入ssh命令 测试。
https://blog.csdn.net/shimadear/article/details/93773054
3、jdk和nodejs可以在指定使用本地环境,这样防止开发和编译版本不同报错问题。也可以选择版本让他自己安装(不建议)。
4、安装,我是按照默认步骤安装的,需要设置密码,下载页面如下,选择win版本
https://www.jenkins.io/download/
下面是配置页面,配置分为java springboot后台和elemen ui前台两种,因为打包命令和需要的环境不同。
首先需要安装各种插件,git,ssh等等依赖的插件它会自动安装。
插件安装完成后配置ssh,操作如下
ssh配置如下,配置后可测试联通情况
配置nodejs环境,我用的是本地环境
下面是nodejs的环境配置
安装插件。
vue element ui git代码下载,编译打包,编译后文件ssh传送 所有配置如下:
java springboot git代码下载,编译打包,编译后文件ssh传送 所有配置如下:
{
"name": "xx-client",
"version": "4.4.0",
"description": "ignore",
"author": "XX tech",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
"lint": "eslint --ext .js,.vue src",
"test:unit": "jest --clearCache && vue-cli-service test:unit",
"test:ci": "npm run lint && npm run test:unit"
},
"dependencies": {
"axios": "0.18.1",
"core-js": "3.6.5",
"echarts": "4.2.1",
"element-ui": "^2.13.2",
"file-saver": "^2.0.5",
"js-cookie": "2.2.0",
"less": "^4.1.0",
"less-loader": "^7.2.1",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
"path-to-regexp": "2.4.0",
"print-js": "^1.6.0",
"vue": "2.6.10",
"vue-barcode": "^1.3.0",
"vue-print-nb": "^1.6.0",
"vue-router": "3.0.6",
"vuex": "3.1.0",
"xlsx": "0.14.1"
},
"devDependencies": {
"@vue/cli-plugin-babel": "4.4.4",
"@vue/cli-plugin-eslint": "4.4.4",
"@vue/cli-plugin-unit-jest": "4.4.4",
"@vue/cli-service": "4.4.4",
"@vue/test-utils": "1.0.0-beta.29",
"autoprefixer": "9.5.1",
"babel-eslint": "10.1.0",
"babel-jest": "23.6.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"chalk": "2.4.2",
"connect": "3.6.6",
"eslint": "6.7.2",
"eslint-plugin-vue": "6.2.2",
"html-webpack-plugin": "3.2.0",
"mockjs": "1.0.1-beta3",
"runjs": "4.3.2",
"sass": "1.26.8",
"sass-loader": "8.0.2",
"script-ext-html-webpack-plugin": "2.1.3",
"serve-static": "1.13.2",
"svg-sprite-loader": "4.1.3",
"svgo": "1.2.2",
"vue-template-compiler": "2.6.10"
},
"browserslist": [
"> 1%",
"last 2 versions"
],
"engines": {
"node": ">=8.9",
"npm": ">= 3.0.0"
},
"license": "MIT"
}