UNPKG

1.75 kBJavaScriptView Raw
1#!/usr/bin/env node
2// LICENSE_CODE ZON
3'use strict'; /*jslint node:true*/
4if (!module.parent)
5 global.zon_config_fallback = {};
6require('../../util/config.js');
7const etask = require('../../util/etask.js');
8const cli = require('../../util/cli.js');
9const oss = require('ali-oss');
10const cli_opt = [
11 ['', 'key-id=KEY_ID', 'Alibaba AccessKeyId'],
12 ['', 'key-secret=KEY_SECRET', 'Alibaba AccessKeySecret'],
13 ['', 'version=VERSION', 'Version being released'],
14];
15cli.getopt(cli_opt, 'Usage: publish_cn.js\n\n[[OPTIONS]]\n');
16
17const alibaba_release = opt=>etask(function*(){
18 const client = new oss({
19 region: 'oss-cn-hongkong',
20 accessKeyId: opt.key_id,
21 accessKeySecret: opt.key_secret,
22 bucket: 'lpmtest',
23 timeout: '600s',
24 });
25 const filename = `luminati-proxy-${cli.opt.version}-setup.exe`;
26 console.log('Uploading %s to alibaba', filename);
27 const res = yield client.put(filename, opt.exe_path);
28 if (res.res.status==200)
29 console.log('Upload completed successfully');
30 else
31 console.log('Error %s %s', res.res.status, res.res.statusMessage);
32});
33
34const main = ()=>etask(function*(){
35 try {
36 cli.process_args();
37 yield _main();
38 } catch(e){
39 console.log(e.stack);
40 cli.exit('Publish error:', e);
41 }
42});
43
44const _main = ()=>etask(function*(){
45 if (!cli.opt.key_id || !cli.opt.key_secret || !cli.opt.version)
46 {
47 console.log('You need to pass --version --key-id and --key-secret');
48 return;
49 }
50 const exe_path = `/tmp/luminati-proxy-${cli.opt.version}-setup.exe`;
51 yield alibaba_release({exe_path, key_id: cli.opt.key_id,
52 key_secret: cli.opt.key_secret});
53});
54
55if (!module.parent)
56 main();