You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/utils/publish.ts

45 lines
1.1 KiB

import * as fs from "fs";
import * as path from "path";
import * as rq from "request-promise-native";
import { getFiles } from "./utils";
var GitRevisionPlugin = require('git-revision-webpack-plugin');
var gitRevisionPlugin = new GitRevisionPlugin();
let dir = path.resolve("./dist");
let files = getFiles(dir, []).filter(f =>
{
return path.extname(f) !== ".map" && ("manifest.json" !== path.basename(f));
}
);
let formData = {
BranchName: gitRevisionPlugin.branch(),
};
if (formData.BranchName === "master")
formData.BranchName = "";
let jsFiles: string[] = [];
for (let f of files)
{
formData[f.substr(dir.length + 1)] = fs.createReadStream(f);
if (path.extname(f) === ".js")
jsFiles.push(f);
}
let url = "http://publish.cfcad.cn:3000/upload";
// let url = `http://127.0.0.1:3000/upload`;
rq.post({ url: url, formData: formData }, function optionalCallback(err, httpResponse, body)
{
if (err || body !== "ok")
return console.error('部署失败!', err);
else
{
console.info(`部署成功!`);
console.log(`http://t.cfcad.cn/${formData.BranchName}`);
}
});