• vue自动部署


    Vue3 + vite项目利用scp2自动部署到服务器

    1、项目根目录下新建deploy文件夹,创建index.js文件

    //  deploy/index.js里面
    const scpClient = require('scp2')
    const ora = require('ora')
    const chalk = require('chalk')
    const server = require('./product')
    const spinner = ora(
        '正在发布到' +
        (process.env.NODE_ENV === 'prod' ? '生产' : '测试') +
        '服务器...'
    )
    
    var Client = require('ssh2').Client
    
    var conn = new Client()
    conn
        .on('ready', function () {
            // rm 删除dist3文件,
     是换行 换行执行 重启nginx命令 我这里是用docker重启nginx
            conn.exec('rm -rf /data/tomcat8/webapps/nemp/*', function (
                err,
                stream
            ) {
                if (err) throw err
                stream
                    .on('close', function (code, signal) {
                        // 在执行shell命令后,把开始上传部署项目代码放到这里面
                        spinner.start()
                        scpClient.scp(
                            './dist',
                            {
                                host: server.host,
                                port: server.port,
                                username: server.username,
                                password: server.password,
                                path: server.path
                            },
                            function (err) {
                                spinner.stop()
                                if (err) {
                                    console.log(chalk.red('发布失败.
    '))
                                    throw err
                                } else {
                                    console.log(
                                        chalk.green(
                                            'Success! 成功发布到' +
                                            (process.env.NODE_ENV === 'prod'
                                                ? '生产'
                                                : '测试') +
                                            '服务器! 
    '
                                        )
                                    )
                                }
                            }
                        )
    
                        conn.end()
                    })
                    .on('data', function (data) {
                        console.log('STDOUT: ' + data)
                    })
                    .stderr.on('data', function (data) {
                        console.log('STDERR: ' + data)
                    })
            })
        })
        .connect({
            host: server.host,
            port: server.port,
            username: server.username,
            password: server.password
            // privateKey: require('fs').readFileSync('/home/admin/.ssh/id_dsa')
        })

    2、package.json文件夹配置打包上传命令

      "scripts": {
        "dev": "vite --open",
        "build": "vite build",
        "deploy": "vite build && node ./deploy", // 打包并上传到服务器
        "serve": "vite preview"
      },

    3、执行命令便会自动上传dist文件到服务器

  • 相关阅读:
    短信发送流程
    aidl
    tail
    RIL层传输的方式就是socket
    adb s <设备> <命令>
    Shell
    你好,色彩 android:background="@color/white" [create file color.xml at res/values/]
    [C#]在C#中使用NUnit进行单元测试
    [ASP.NEt] IE6布署NET网站时,Oracle 抛出异常
    [ASP.NET]如何Response.Redirect新的页面到指定的框架中(原创)
  • 原文地址:https://www.cnblogs.com/gagaran/p/15002641.html
Copyright © 2020-2023  润新知