1.0.2 • Published 2 years ago

tl-publish v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

简介(测试版请勿使用)

使用nodeJs将项目部署到指定服务器。

  • 将本地目录复制到服务器指定目录。
  • 将本地项目目录压缩为zip文件,在传输到服务器,在解压缩。
  • 备份服务器指定目录存储到本地为zip文件。
  • 将备份zip文件发布到服务器。

安装

npm i -D tl-publish

demo

  • 将本地目录拷贝到服务器目录
const fs = require('fs');
const {uploadDir} = require('tl-publish');
uploadDir(`./www`, `/var/www`, {
    host: '192.168.1.100',
    port: 21,
    username: 'ubuntu',
    privateKey: fs.readFileSync(`./id_rsa`)
});
  • 备份服务器指定目录存储到本地为zip文件。
const { backup } = require('tl-publish');

backup({
    tip: '测试',
    key: 'test',
    server: {
        // 服务器部署项目地址
        projectRootPath: '/var/www/Cloud_CFS/Assets/test',
        connectConfig: {
            host: '192.168.1.100',
            port: 88888,
            username: 'root',
            password: '123456'
        },
    },
    local: {
        // 本地备份路径
        backupDir: './backup'
    }
});
  • 将备份zip文件发布到服务器。
const { back } = require('tl-publish');

back({
    tip: '测试',
    key: 'test',
    server: {
        // 服务器部署项目地址
        projectRootPath: '/var/www/Cloud_CFS/Assets/test',
       connectConfig: {
            host: '192.168.1.100',
            port: 88888,
            username: 'root',
            password: '123456'
        },
    },
    local: {
        // 本地备份路径
        backupDir: './backup'
    }
});
  • 将本地项目目录压缩为zip文件,在传输到服务器,在解压缩。
const { publish } = require('tl-publish');

const config = {
    tip: '测试',
    key: 'test',
    server: {
        // 服务器部署项目地址
        projectRootPath: '/var/www/Cloud_CFS/Assets/test',
        connectConfig: {
            host: '192.168.1.100',
            port: 88888,
            username: 'root',
            password: '123456'
        },
        // 上传前服务器运行命令
        beforeUploadCmds: [
            `rm -rf /var/www/Cloud_CFS/Assets/test/*`,
        ],
        // 上传后服务器运行命令
        afterUploadCmds: [
            `unzip -o /var/www/Cloud_CFS/Assets/test/test.zip -d /var/www/Cloud_CFS/Assets/test/`,
            `sudo chmod -R 755 /var/www/Cloud_CFS/Assets/test`,
            `rm -f /var/www/Cloud_CFS/Assets/test/test.zip`,
        ]
    },
    local: {
        // 要打包上传的目录
        distPath: './www',
        // 存放压缩文件目录
        zipDir: './zip',
        backupDir: './backup'
    }
}

publish(config);
1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago