readConfig.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const configFileName = 'deployConfig.js'
  2. const fs = require('fs')
  3. function getConfig (projectName) {
  4. delete require.cache[require.resolve(`./../projects/${projectName}/${configFileName}`)]
  5. let config = require(`./../projects/${projectName}/${configFileName}`)
  6. return config
  7. }
  8. function parseConfig (configList, projectName, tag) {
  9. let config = getBranchConfig(configList, tag)
  10. if (!config) return
  11. if (config.deployType === 'FTP') {
  12. return parseFtpConfig(config, projectName)
  13. }
  14. }
  15. function getBranchConfig (config, tag) {
  16. let result
  17. for (let i = 0; i < config.length; i++) {
  18. if (tag.indexOf(config[i].tagExg) > -1 ) {
  19. result = config[i]
  20. break
  21. }
  22. }
  23. return result
  24. }
  25. function parseFtpConfig (config, projectName) {
  26. let result = {
  27. cmds: config.cmd,
  28. branch: config.branch,
  29. tagExg: config.tagExg,
  30. parameter: {
  31. localRoot: `${process.cwd()}/projects/${projectName}/${config.deployConfig.distPath}`,
  32. remoteRoot: config.deployConfig.remotePath,
  33. include: config.deployConfig.include,
  34. exclude: config.deployConfig.exclude
  35. }
  36. }
  37. return result
  38. }
  39. function readConfig (projectName, tag) {
  40. let deployConfig = getConfig(projectName)
  41. return parseConfig(deployConfig, projectName, tag)
  42. }
  43. module.exports = readConfig