deploy.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. deploy.js - Deploy published package
  3. */
  4. import * as spawn from 'child_process'
  5. import * as path from 'path'
  6. import * as gulp from 'gulp'
  7. import * as log from 'fancy-log'
  8. import * as fs from 'fs'
  9. import * as json5 from 'json5'
  10. import config from 'assist'
  11. function deploy(cb) {
  12. let aws = config.aws
  13. let cmd, args
  14. let part = path.basename(global.top)
  15. let settings = config[part]
  16. if (settings.proxy) {
  17. args = ['--aws-profile', settings.aws_profile, '--deploy', settings.deploy, '--group', settings.group,
  18. '--proxy', settings.proxy, '--region', settings.region, '--validate', settings.validate, settings.image]
  19. for (let [index, value] of Object.entries(args)) {
  20. args[index] = expand(value, config)
  21. }
  22. cmd = '../paks/assist/docker-deploy-elb'
  23. } else {
  24. cmd = '../paks/assist/docker-deploy-instance'
  25. }
  26. print(`Running: ${cmd} ${args.join(' ')} ...`)
  27. let pkg = spawn.spawn(cmd, args)
  28. pkg.stdout.on('data', data => process.stdout.write(data.toString()))
  29. pkg.stderr.on('data', data => process.stdout.write(data.toString()))
  30. pkg.on('exit', err => {
  31. if (err) {
  32. throw new Error(`Cannot publish ${err.toString()}`)
  33. }
  34. cb()
  35. })
  36. }
  37. export default gulp.series(deploy)