前端自动化部署脚本

前端自动化部署脚本

需要两个插件

  • shelljs 这个库能够让我们在js文件中执行shell命令。shelljs做的事就是自动化,从耗时的重复性常规动作里解放出来,提升开发效率和工作心情。
  • ssh2-sftp-client 一个用于node.js的SFTP客户端,一个用于SSH2的包装程序(提供高级便利抽象)以及一个基于Promise的API
  1. 安装
cnpm i shelljs ssh2-sftp-client --save-dev
或者
npm i shelljs ssh2-sftp-client --save-dev
  1. package.json 新增命令
"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "upload": "node upload/index.js",
    "lint": "vue-cli-service lint"
  },
  1. 增加upload 文件夹 里面新建config.js和index.js文件
  2. config.js 代码
module.exports = {
  ip: "", // ssh地址
  username: "", // ssh 用户名
  port: "",      //端口
  password: "", // ssh 密码
  path: '/usr/local/nginx/html/code-nav/', // 操作开始文件夹 可以直接指向配置好的地址
  rmpath: '/usr/local/nginx/html/code-nav/' // 需要删除的文件夹
}
  1. index.js 代码
const config = require('./config.js')
const shell = require('shelljs')
const path = require('path')
let Client = require('ssh2-sftp-client')
// 打包 npm run build
const compileDist = async () => {
  if (shell.exec(`npm run build`).code == 0) {//判断是否打包完成
    console.log("打包成功")
  }
}
 
async function connectSSh () {
  let sftp = new Client()
  sftp.connect({
    host: config.ip, // 服务器 IP
    port: config.port,
    username: config.username,
    password: config.password
  }).then(() => {
    console.log("先执行删除服务器文件")
    return sftp.rmdir(config.rmpath, true)
  }).then(() => {
    // 上传文件
    console.log("开始上传")
    return sftp.uploadDir(path.resolve(__dirname, '../dist'), config.path)
  }).then(() => {
    console.log("上传完成")
    sftp.end()
  }).catch((err) => {
    console.log(err, '失败')
    sftp.end()
  })
}
async function runTask () {
  await compileDist()     //打包完成
  await connectSSh()      //提交上传
}
runTask()
  1. 执行脚本部署上线
npm run upload
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端自动化部署可以帮助我们将代码快速部署到服务器上,提高开发和部署的效率。下面介绍一下前端自动化部署的步骤以及如何将代码自动化部署到github。 1. 安装自动化部署工具 前端自动化部署需要借助一些工具,例如gulp、grunt、webpack等。根据自己的需求选择适合自己的自动化部署工具,然后进行安装。 2. 配置自动化部署脚本 在安装好自动化部署工具后,需要配置自动化部署脚本。根据不同的工具,配置文件的格式不同,但一般都需要配置一些基本项,如输入输出路径、需要执行的任务等。可以参考官方文档或其他资料进行配置。 3. 集成自动化部署自动化部署集成到开发环境中,一般需要配置一些开发工具的插件或者编写一些脚本。例如,可以编写一个gulp插件,在开发完成后自动执行自动化部署脚本。这样可以方便地将代码部署到服务器上。 4. 自动化部署到github 将代码自动化部署到github可以使代码管理更加便捷,具体步骤如下: step1:将代码上传到github仓库 将代码上传到github仓库中,可以通过命令行或者git客户端进行操作。 step2:配置自动化部署脚本 根据需要配置自动化部署脚本,例如使用gulp自动化打包。 step3:编写自动化部署脚本 编写自动化部署脚本,将代码自动化部署到github中。 step4:设置github webhook 在github上设置webhook,使代码提交时能够自动运行自动化部署脚本。 总结: 通过前端自动化部署,可以使代码管理和部署更加便捷高效,减少手动操作,提高开发效率。如果需要将代码自动化部署到github,则需要了解github的webhook机制,并编写相应的自动化部署脚本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值