1.0.18 • Published 1 year ago

@missthee/simple-deploy v1.0.18

Weekly downloads
1
License
ISC
Repository
github
Last release
1 year ago

simple-deploy

simple-deploy

A simple NodeJS tool for packaging, copying to linux server, and cleaning up

Install

npm i @missthee/simple-deploy -D

Use

  1. Initialization
    # Initialize the configuration file.
    simple-deploy init
    or
    # chinese
    simple-deploy init -l zh-CN
    Generate configuration file simple-deploy.config.json after option.
  1. Deployment
    # Packaging, Copying to linux server, Cleaning up
    simple-deploy -e [environmentKey]
    Execution log example
         √ Check Configuration T:\deployFileTest\simple-deploy.config.json
         ? Confirm
         · deploy-cli
         · dev: 11.22.33.44
         sure to deploy dev ? Yes
         i Current Environment dev
         √ Build Code echo
         √ Create Local Tmp Dir T:\deployFileTest\.deployTmp_1611289911528\
         √ Zip Local File T:\deployFileTest\dist to T:\deployFileTest\.deployTmp_1611289911528\dist_deploy.zip
         √ Zip Local File T:\deployFileTest\dist1\index.html to T:\deployFileTest\.deployTmp_1611289911528\index.html_deploy.zip
         √ SSH Connect 11.22.33.44
         √ Upload File T:\deployFileTest\.deployTmp_1611289911528\dist_deploy.zip to \www\wwwroot\default\aaa\dist_deploy.zip
         √ Upload File T:\deployFileTest\.deployTmp_1611289911528\index.html_deploy.zip to \www\wwwroot\default\bbb\index.html_deploy.zip
         √ Unzip And Delete Remote File \www\wwwroot\default\aaa\dist_deploy.zip
         √ Unzip And Delete Remote File \www\wwwroot\default\bbb\index.html_deploy.zip
         √ Rename Remote File \www\wwwroot\default\bbb\index.html to \www\wwwroot\default\bbb\ondex.html
         √ SSH Disconnect
         √ Clean Local Tmp Dir T:\deployFileTest\.deployTmp_1611289911528
         ALL DONE
    Deployment process
    • Check Configuration Check file attributes and content
    • Build Code Execute the set instructions
    • Create Local Tmp Create a temporary folder to store the zip file
    • Zip Local File Archive local files
    • SSH Connect Establish ssh link
    • Upload File Upload archived files
    • Unzip And Delete Remote File Unzip and delete the uploaded archived file
    • Rename Remote File If it is a single file, and the uploaded file name is specified in the fileMap, the file will be renamed
    • SSH Disconnect Disconnect ssh link
    • Clean Local Tmp Dir Clean up temporary folder

Configuration File

  • simple-deploy.config.json example:
       {
         "local": {
           "projectName": "deploy-cli",
           "sshPrivateKeyPath": "~/.ssh/id_rsa",
           "sshPassphrase": ""
         },
         "env": {
           "dev": {
             "project": {
               "projectBuildScript": "npm build"
             },
             "server": {
               "serverHost": "11.22.33.44",
               "serverPort": 22,
               "serverUsername": "root",
               "serverPassword": "root"
             },
             "fileMap": {
               "dist": "/www/wwwroot/default/aaa",
               "dist1/index.html": "/www/wwwroot/default/bbb/rename.html"
             },
             "other": {
               "needRebuildWhenBuildScriptSameWithPreviousEnv": false,
               "isClearLocalDistFileBeforeBuild": false,
               "isClearServerPathBeforeDeploy": false,
               "isClearLocalDistFileAfterDeploy": false
             }
           },
           "prod": {
             "project": {
               "projectBuildScript": "npm build"
             },
             "server": {
               "serverHost": "55.66.77.88",
               "serverPort": 22,
               "serverUsername": "root",
               "serverPassword": "root"
             },
             "fileMap": {
               "dist": "/www/wwwroot/default/aaa",
               "dist1/index.html": "/www/wwwroot/default/bbb/rename.html"
             },
             "other": {
               "needRebuildWhenBuildScriptSameWithPreviousEnv": false,
               "isClearLocalDistFileBeforeBuild": false,
               "isClearServerPathBeforeDeploy": false,
               "isClearLocalDistFileAfterDeploy": false
             }
           }
         }
       }
  • other option
    • needRebuildWhenHasSameBuildScriptWithPreviousEnv if buildScript in current env was same as previous env:false skip build; true run build script.
    • isClearLocalDistFileBeforeBuild Use the key of fileMap, and use the project root directory as the starting path to clean up files before build.
    • isClearServerPathBeforeDeploy Use the value of fileMap, and use the project root directory as the starting path to clean up files before deployment.
    • isClearLocalDistFileAfterDeploy Use the key of fileMap, and use the project root directory as the starting path to clean up files after deployment.

NOTE

Only for linux server with unzip,rm,mv command

1.0.18

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.14

2 years ago

1.0.13

3 years ago

1.0.11

3 years ago

1.0.12

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago

0.0.1-beta

3 years ago