- 提交 jenkins 构建规则,和 node服务
parent
19eb551a88
commit
679a087e7c
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
# 使用说明
|
||||||
|
|
||||||
|
|
||||||
|
### 第一步
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### 第二步
|
||||||
|
复制文件到 server 目录
|
||||||
|
|
||||||
|
```
|
||||||
|
cp -rf dist server
|
||||||
|
```
|
||||||
|
|
||||||
|
### 第三步
|
||||||
|
|
||||||
|
```
|
||||||
|
node server.prod
|
||||||
|
```
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
//
|
||||||
|
// 粉笔:
|
||||||
|
// 输出不同颜色的提示信息
|
||||||
|
|
||||||
|
const chalk = require('chalk');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
chalkError: chalk.red,
|
||||||
|
chalkSuccess: chalk.green,
|
||||||
|
chalkWarning: chalk.yellow,
|
||||||
|
chalkProcessing: chalk.blue,
|
||||||
|
};
|
|
@ -0,0 +1,12 @@
|
||||||
|
module.exports = {
|
||||||
|
'/admin-api/': {
|
||||||
|
target: 'http://180.167.213.26:18083/',
|
||||||
|
changeOrigin: true,
|
||||||
|
pathRewrite: {},
|
||||||
|
},
|
||||||
|
'/server/api/': {
|
||||||
|
target: 'https://preview.pro.ant.design/',
|
||||||
|
changeOrigin: true,
|
||||||
|
pathRewrite: { '^/server': '' },
|
||||||
|
},
|
||||||
|
};
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"name": "browser-work-server",
|
||||||
|
"description": "node server",
|
||||||
|
"dependencies": {
|
||||||
|
"express": "^4.16.3",
|
||||||
|
"object-assign": "4.1.1",
|
||||||
|
"chalk": "2.4.1",
|
||||||
|
"http-proxy-middleware": "^0.18.0"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"name": "work-web",
|
||||||
|
"script": "/app/server.prod.js",
|
||||||
|
"instances": "2",
|
||||||
|
"env": {
|
||||||
|
"NODE_ENV": "development"
|
||||||
|
},
|
||||||
|
"env_production": {
|
||||||
|
"NODE_ENV": "production"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
const path = require('path');
|
||||||
|
const express = require('express');
|
||||||
|
|
||||||
|
const { chalkSuccess } = require('./config/chalk.config');
|
||||||
|
const proxyConfig = require('./config/proxy.prod.config');
|
||||||
|
const proxyBuild = require('./utils/proxy.build');
|
||||||
|
|
||||||
|
// create app server
|
||||||
|
const app = express();
|
||||||
|
const port = 3000;
|
||||||
|
|
||||||
|
// host proxy
|
||||||
|
app.use(proxyBuild(proxyConfig));
|
||||||
|
|
||||||
|
// use index.html
|
||||||
|
app.use(express.static(path.join(__dirname, 'dist/static')));
|
||||||
|
app.use(express.static(path.join(__dirname, 'dist')));
|
||||||
|
|
||||||
|
app.use((req, res) => {
|
||||||
|
res.sendFile(path.join(__dirname, 'dist', 'index.html'));
|
||||||
|
});
|
||||||
|
|
||||||
|
app.listen(port, error => {
|
||||||
|
if (error) {
|
||||||
|
console.error(error);
|
||||||
|
} else {
|
||||||
|
console.info(
|
||||||
|
chalkSuccess(
|
||||||
|
'==> 🌎 Listening on port %s. ' + 'Open up http://localhost:%s/ in your browser.'
|
||||||
|
),
|
||||||
|
port,
|
||||||
|
port
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
# 安装依赖包
|
||||||
|
|
||||||
|
cd mall
|
||||||
|
|
||||||
|
cd admin-web
|
||||||
|
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# 开始构建
|
||||||
|
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
# 创建 app 运行目录
|
||||||
|
|
||||||
|
mkdir app
|
||||||
|
|
||||||
|
# 复制配置文件
|
||||||
|
|
||||||
|
cp -rf config/server app/
|
||||||
|
|
||||||
|
# 复制文件到 server 努力
|
||||||
|
|
||||||
|
cp -rf dist app/
|
|
@ -0,0 +1,46 @@
|
||||||
|
const proxy = require('http-proxy-middleware');
|
||||||
|
const ObjectAssign = require('object-assign');
|
||||||
|
const { chalkError, chalkSuccess } = require('../config/chalk.config');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* key :
|
||||||
|
* [0]: /api
|
||||||
|
* [1]: target url
|
||||||
|
*
|
||||||
|
* 预计写法:
|
||||||
|
* 1、 /api -> baidu.com : { }
|
||||||
|
* 2、 /user : function() { return {} }
|
||||||
|
*
|
||||||
|
* @param config
|
||||||
|
*/
|
||||||
|
module.exports = function(config) {
|
||||||
|
console.info(chalkSuccess('build proxy.%s.config 配置!'), process.env.NODE_ENV);
|
||||||
|
|
||||||
|
const proxys = [];
|
||||||
|
|
||||||
|
if (!config) {
|
||||||
|
console.log(chalkError('proxy.%s.config 没有配置!'), process.env.NODE_ENV);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const key in config) {
|
||||||
|
if (/->/.test(key)) {
|
||||||
|
const keys = key.toString().split('->');
|
||||||
|
const source = keys[0].trim();
|
||||||
|
const target = keys[1].trim();
|
||||||
|
|
||||||
|
if (typeof config !== 'object') {
|
||||||
|
console.log(
|
||||||
|
chalkError('%s: proxy.%s.config 初始化失败 config 类型为 object!'),
|
||||||
|
key,
|
||||||
|
process.env.NODE_ENV
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
proxys.push(proxy(source, ObjectAssign({ target }, config[key])));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return proxys;
|
||||||
|
};
|
Loading…
Reference in New Issue