1.0.18 • Published 1 year ago
@missthee/simple-deploy v1.0.18
simple-deploy
A simple NodeJS tool for packaging, copying to linux server, and cleaning up
Install
npm i @missthee/simple-deploy -D
Use
- Initialization
or# Initialize the configuration file. simple-deploy init
Generate configuration file# chinese simple-deploy init -l zh-CN
simple-deploy.config.json
after option.
- Deployment
Execution log example# Packaging, Copying to linux server, Cleaning up simple-deploy -e [environmentKey]
Deployment process√ 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
Check Configuration
Check file attributes and contentBuild Code
Execute the set instructionsCreate Local Tmp
Create a temporary folder to store the zip fileZip Local File
Archive local filesSSH Connect
Establish ssh linkUpload File
Upload archived filesUnzip And Delete Remote File
Unzip and delete the uploaded archived fileRename Remote File
If it is a single file, and the uploaded file name is specified in the fileMap, the file will be renamedSSH Disconnect
Disconnect ssh linkClean 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
optionneedRebuildWhenHasSameBuildScriptWithPreviousEnv
if buildScript in current env was same as previous env:false
skip build;true
run build script.isClearLocalDistFileBeforeBuild
Use the key offileMap
, and use the project root directory as the starting path to clean up files before build.isClearServerPathBeforeDeploy
Use the value offileMap
, and use the project root directory as the starting path to clean up files before deployment.isClearLocalDistFileAfterDeploy
Use the key offileMap
, 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