@nebulae-cli/deploy
Command line tools for deploying, github: https://github.com/longlongago2/deploy-cli
Since my native language is Chinese, please forgive me for the language of the CLI tool, you can modify it after forking
Features
🪄 Support multiple configuration file formats, such as json, yaml, js.
🚩 Supports configuring multiple tasks.
⚡ Supports individual step execution, such as connect, clean, backup, upload.
🌍 Support global configuration
Translations
Installation
Global install
test deploy –version, If the version number is successfully displayed, it means the installation is successful
or
Project install
If you did not install globally, the command should be invoked using ./node_modules/.bin/deploy –version
Usage
How to use command line tools?
1. Generate deploy config file
usage:
init(generate) deploy config file
Options:
-t, –type <type> file type: “json” | “yaml” | “javascript” (default: “javascript”)
-m, –module <module> javascript module type: “commonjs” | “cjs” | “esm” | “mjs” (default: “cjs”)
-g, –global generate global config file
-h, –help display help for command
2. Modify the configuration file
module.exports = {
host: ‘xxx.xx.xxx.x‘,
port: 22,
username: ‘server_ssh_name‘,
// password: ”,
// privateKey: ”,
// autoBackup: true,
// autoClean: false, // If the task attribute does not exist, it will take effect
tasks: [
{
name: ‘task name‘,
disabled: false,
target: ‘your/dist/path‘,
remoteDir: ‘/your/server/path‘,
autoBackup: true,
autoClean: false, // All attributes support upward merging. For example, configuration common to all tasks can be configured on the root property
// backupDir: ”,
// deployedCommands: [], // Remote commands executed after deployment, such as [‘cd/var/applications’, ‘java – jar xxx. jar’], will use && to merge multiple commands
},
],
};
3. Test the connection
usage:
test the connection to server
Options:
-h, –host <host> ssh server address
-p, –port <port> ssh server port (default: “22”)
-u, –username <username> ssh server username
-w, –password <password> ssh server password
-k, –privateKey <privateKey> ssh private key path
-c, –config <config> config file path
–help display help for command
4. Deploy
useage:
CLI for deploy project to server
Options:
-V, –version output the version number
-c, –config config file path
-h, –help display help for command
Commands:
init|generate [options] init(generate) deploy config file
connect [options] test the connection to server
backup [options] backup remote project from server to local
clean [options] clean server directory
upload [options] upload local project dist to ssh server
you can add scripts to package.json
“deploy”: “deploy”,
},
then, use npm run deploy
5. Other commands
useage:
view deploy config file info
Options:
-c, –config <config> config file path
-h, –help display help for command