fjpublish: 使用命令行發佈你的項目

fjpublish簡介

fjpublish是一款經過配置文件就能完成發佈項目到各個環境的命令行工具,意在建立可靠溫馨的發佈項目體驗,同時它也有豐富的API和完善的可拓展能力,讓開發者輕鬆定製項目發佈流程。前端

前言

曾幾什麼時候,我相信部分Web Developer使用的項目發佈方式還活在刀耕火種的年代(使用xftp或者sublime text的插件sftp等),發佈方式簡單又粗暴,想發佈哪一個目錄就直接上傳覆蓋...vue

可是這種方式對於如今的前端項目有些弊端,例如:linux

  • 若項目包含webpackgulp等構建工具,則每次發佈都須要等待構建完成後再手動上傳,效率低;
  • 若項目爲前端的服務端渲染項目,例如vue的服務端渲染,那麼項目上傳服務器後還得登陸服務器重啓進程;
  • 發佈時因爲選錯文件或者選錯發佈環境致使的上傳(>﹏<)悲劇,可沒有後悔藥吃。

fjpublish能作什麼

  • 經過配置文件配置每一個要發佈的環境,並經過簡單的命令行命令選擇發佈的環境;
  • 自動化發佈流程涵蓋了git->構建->打包壓縮->上傳服務器->執行遠程命令備份並替換舊文件;
  • 一次命令可發佈一個或多個環境,可選擇並行或串行發佈;
  • 若爲同時發佈多個不一樣環境,fupublish能自動根據配置文件判斷出哪些文件已構建,哪些文件已打包,哪些環境已上傳等,自動忽略重複流程;
  • 自由組合發佈的目錄層級,可發佈多個目錄和忽略不須要發佈的文件;
  • 經過中間件機制組成發佈器,中間件之間獨立無耦合,可靈活拆卸或新增中間件,完成簡單的二次開發新的命令;
  • 可經過配置文件配置或者發佈命令配置完成忽略某些當次發佈不須要的流程,例如: 配置nobuild則不進行構建;
  • 可以使用編程式的發佈方式,不須要使用命令行也能夠直接調用核心構建函數進行發佈;
  • 可配置鉤子函數靈活的控制在某個中間件前或後作些事情;
  • 可配置遠程前置或後置linux處理命令,例如: 配置postCommands來在執行文件替換後重啓pm2進程等;
  • 完備的提醒功能,若未配置或者配置錯誤某些重要或必要的配置則終止該發佈流程並給出提示;

附上一張發佈流程的gif圖,感興趣的朋友走過路過千萬不要錯過,詳情請前往 文檔地址webpack

圖片描述

反饋

fjpublish已在公司內部項目中穩定運行了大半年,若是你有什麼好的idea,請在github上開issue或者去個人博客給我留言。git

記得若是以爲不錯請在右上角點個star哦∩__∩ygithub

相關文章
相關標籤/搜索