摘要:簡(jiǎn)介是一款通過(guò)配置文件就能完成發(fā)布項(xiàng)目到各個(gè)環(huán)境的命令行工具,意在創(chuàng)建可靠舒適的發(fā)布項(xiàng)目體驗(yàn),同時(shí)它也有豐富的和完善的可拓展能力,讓開發(fā)者輕松定制項(xiàng)目發(fā)布流程。
fjpublish簡(jiǎn)介
fjpublish是一款通過(guò)配置文件就能完成發(fā)布項(xiàng)目到各個(gè)環(huán)境的命令行工具,意在創(chuàng)建可靠舒適的發(fā)布項(xiàng)目體驗(yàn),同時(shí)它也有豐富的API和完善的可拓展能力,讓開發(fā)者輕松定制項(xiàng)目發(fā)布流程。
前言曾幾何時(shí),我相信部分Web Developer使用的項(xiàng)目發(fā)布方式還活在刀耕火種的年代(使用xftp或者sublime text的插件sftp等),發(fā)布方式簡(jiǎn)單又粗暴,想發(fā)布哪個(gè)目錄就直接上傳覆蓋...
但是這種方式對(duì)于現(xiàn)在的前端項(xiàng)目有些弊端,例如:
若項(xiàng)目包含webpackgulp等構(gòu)建工具,則每次發(fā)布都需要等待構(gòu)建完成后再手動(dòng)上傳,效率低;
若項(xiàng)目為前端的服務(wù)端渲染項(xiàng)目,例如vue的服務(wù)端渲染,那么項(xiàng)目上傳服務(wù)器后還得登錄服務(wù)器重啟進(jìn)程;
發(fā)布時(shí)由于選錯(cuò)文件或者選錯(cuò)發(fā)布環(huán)境導(dǎo)致的上傳(>﹏<)悲劇,可沒(méi)有后悔藥吃。
fjpublish能做什么通過(guò)配置文件配置每個(gè)要發(fā)布的環(huán)境,并通過(guò)簡(jiǎn)單的命令行命令選擇發(fā)布的環(huán)境;
自動(dòng)化發(fā)布流程涵蓋了git->構(gòu)建->打包壓縮->上傳服務(wù)器->執(zhí)行遠(yuǎn)程命令備份并替換舊文件;
一次命令可發(fā)布一個(gè)或多個(gè)環(huán)境,可選擇并行或串行發(fā)布;
若為同時(shí)發(fā)布多個(gè)不同環(huán)境,fupublish能自動(dòng)根據(jù)配置文件判斷出哪些文件已構(gòu)建,哪些文件已打包,哪些環(huán)境已上傳等,自動(dòng)忽略重復(fù)流程;
自由組合發(fā)布的目錄層級(jí),可發(fā)布多個(gè)目錄和忽略不需要發(fā)布的文件;
通過(guò)中間件機(jī)制組成發(fā)布器,中間件之間獨(dú)立無(wú)耦合,可靈活拆卸或新增中間件,完成簡(jiǎn)單的二次開發(fā)新的命令;
可通過(guò)配置文件配置或者發(fā)布命令配置完成忽略某些當(dāng)次發(fā)布不需要的流程,例如: 配置nobuild則不進(jìn)行構(gòu)建;
可使用編程式的發(fā)布方式,不需要使用命令行也可以直接調(diào)用核心構(gòu)建函數(shù)進(jìn)行發(fā)布;
可配置鉤子函數(shù)靈活的控制在某個(gè)中間件前或后做些事情;
可配置遠(yuǎn)程前置或后置linux處理命令,例如: 配置postCommands來(lái)在執(zhí)行文件替換后重啟pm2進(jìn)程等;
完備的提醒功能,若未配置或者配置錯(cuò)誤某些重要或必要的配置則終止該發(fā)布流程并給出提示;
附上一張發(fā)布流程的gif圖,感興趣的朋友走過(guò)路過(guò)千萬(wàn)不要錯(cuò)過(guò),詳情請(qǐng)前往 文檔地址
反饋fjpublish已在公司內(nèi)部項(xiàng)目中穩(wěn)定運(yùn)行了大半年,如果你有什么好的idea,請(qǐng)?jiān)趃ithub上開issue或者去我的博客給我留言。
記得如果覺(jué)得不錯(cuò)請(qǐng)?jiān)谟疑辖屈c(diǎn)個(gè)star哦∩__∩y
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88919.html
摘要:本系列文章共分為基礎(chǔ)篇,安全篇,拓展篇。免密發(fā)布安全等級(jí)配置文件中的選項(xiàng)完全就是庫(kù)的選項(xiàng),那么熟悉登錄服務(wù)器的同學(xué)應(yīng)該知道可以免密登錄服務(wù)器。不過(guò)較真來(lái)說(shuō),這對(duì)于的開發(fā)者及依賴庫(kù)的開發(fā)者而言私鑰文件還是可以讀取到的,不能算絕對(duì)安全。 本系列文章共分為基礎(chǔ)篇,安全篇,拓展篇。如果還不了解fjpublish或者不知本文所云的童鞋請(qǐng)先花個(gè)5分鐘看看基礎(chǔ)篇:使用fjpublish發(fā)布前端項(xiàng)目(...
摘要:任務(wù)描述使用的來(lái)發(fā)布多個(gè)目錄使用的忽略所有結(jié)尾的文件。任務(wù)描述使用的配置項(xiàng)在項(xiàng)目發(fā)布后重啟進(jìn)程忽略當(dāng)次構(gòu)建過(guò)程并提交一次使用的配置項(xiàng)設(shè)置每個(gè)遠(yuǎn)程命令超時(shí)時(shí)間為秒。下一期地址使用發(fā)布前端項(xiàng)目安全篇官方交流群 本系列文章共分為基礎(chǔ)篇,安全篇,拓展篇。 前言 曾幾何時(shí),我相信部分Web Developer(包括我)使用的項(xiàng)目發(fā)布方式比較傳統(tǒng)(使用xftp或者sublime text的插件sf...
摘要:前言這是一篇關(guān)于如何使用構(gòu)建高性能高可讀性的現(xiàn)代化命令行工具的博客。對(duì)于命令行工具來(lái)說(shuō),運(yùn)行時(shí)的權(quán)限是巨大的,但不要因此弄臟用戶的系統(tǒng)。 前言 這是一篇關(guān)于如何使用 NodeJS 構(gòu)建高性能、高可讀性的現(xiàn)代化命令行工具的博客。 每當(dāng)我們想要?jiǎng)?chuàng)建一個(gè)基于 NodeJS 的命令行工具時(shí),就會(huì)衍生出一堆問(wèn)題需要解決,比如如何準(zhǔn)備開發(fā)環(huán)境,如何打包轉(zhuǎn)譯代碼,如何使代碼在轉(zhuǎn)譯后保持可調(diào)用的狀態(tài)同...
摘要:?jiǎn)卧獪y(cè)試中,代碼覆蓋率經(jīng)常被用來(lái)衡量測(cè)試好壞的指標(biāo)。執(zhí)行的結(jié)果和導(dǎo)出的結(jié)果都可以在的下看到接下來(lái)就是把這些文件到上,就會(huì)自動(dòng)構(gòu)建,然后開始單元測(cè)試,并把測(cè)試結(jié)果中的代碼覆蓋率發(fā)送到。 本文以PHP項(xiàng)目作為例子所需要擁有(準(zhǔn)備)的: Github賬號(hào) 一個(gè)項(xiàng)目 看著篇幅挺大的,難免有什么遺漏,如果文中有錯(cuò)誤的地方,還請(qǐng)各位斧正!謝謝。因?yàn)楸緛?lái)篇幅就大,所以就沒(méi)配圖了,如果有很多人反...
閱讀 1210·2021-11-24 11:16
閱讀 3438·2021-11-15 11:38
閱讀 1943·2021-10-20 13:47
閱讀 556·2021-09-29 09:35
閱讀 2206·2021-09-22 15:17
閱讀 1022·2021-09-07 09:59
閱讀 3392·2019-08-30 13:21
閱讀 2915·2019-08-30 12:47