Giter Site home page Giter Site logo

udbmnm / fe-deploy-cli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dadaiwei/fe-deploy-cli

0.0 1.0 0.0 491 KB

前端轻量化部署脚手架,基于node-ssh实现,支持测试、线上等多环境部署,一次配制,终生使用

JavaScript 100.00%

fe-deploy-cli's Introduction

fe-deploy-cli

前端轻量化部署脚手架,支持测试、线上等多环境部署,支持环境配置扩展,配置好后仅需一条命令即可完成整个部署流程。

git地址:

https://github.com/dadaiwei/fe-deploy-cli

npm地址:

https://www.npmjs.com/package/fe-deploy-cli

博客

https://juejin.im/post/5e1bfbadf265da3e3077005e

适用对象

目前还在采用手工部署又期望快速实现轻量化部署的小团队或者个人项目,毕竟像阿里这种大公司都有完善的前端部署平台。

使用指南

https://github.com/dadaiwei/fe-deploy-cli/blob/master/README.md

前提条件

能通过ssh连上服务器即可

安装

全局安装fe-deploy-cli

npm i fe-deploy-cli -g

查看版本,表示安装成功。

安装fe-deploy-cli

使用

1.初始化部署模板

deploy init

初始化

2.配置部署环境

部署配置文件位于deploy文件夹下的deploy.config.js, 一般包含dev(测试环境)和prod(线上环境)两个配置,再有多余的环境配置形式与之类似,只有一个环境的可以删除另一个多余的配置(比如只有prod线上环境,请删除dev测试环境配置)。

具体配置信息请参考配置文件注释:

module.exports = {
  privateKey: '', // 本地私钥地址,位置一般在C:/Users/xxx/.ssh/id_rsa,非必填,有私钥则配置
  passphrase: '', // 本地私钥密码,非必填,有私钥则配置
  projectName: 'hivue', // 项目名称
  dev: { // 测试环境
    name: '测试环境',
    script: "npm run build-dev", // 测试环境打包脚本
    host: '10.240.176.99', // 开发服务器地址
    port: 22, // ssh port,一般默认22
    username: 'root', // 登录服务器用户名
    password: '123456', // 登录服务器密码
    distPath: 'dist',  // 本地打包dist目录
    webDir: '/var/www/html/dev/hivue',  // // 测试环境服务器地址
  },
  prod: {  // 线上环境
    name: '线上环境',
    script: "npm run build", // 线上环境打包脚本
    host: '10.240.176.99', // 开发服务器地址
    port: 22, // ssh port,一般默认22
    username: 'root', // 登录服务器用户名
    password: '123456', // 登录服务器密码
    distPath: 'dist',  // 本地打包dist目录
    webDir: '/var/www/html/prod/hivue' // 线上环境web目录
  }
  // 再还有多余的环境按照这个格式写即可
}

3.查看部署命令

配置好deploy.config.js,运行

deploy --help

查看部署命令

部署命令

4.测试环境部署

测试环境部署采用的时dev的配置

deploy dev

先有一个确认,确认后进入部署流程,完成6步操作后,部署成功!!!

测试环境部署

5.线上环境部署

线上环境部署采用的时prod的配置

deploy prod

部署流程和测试环境相同:

线上环境部署

感谢大家支持,欢迎star,O(∩_∩)O。

fe-deploy-cli's People

Contributors

dadaiwei avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.