资讯专栏INFORMATION COLUMN

fjpublish: 使用命令行发布你的项目

Michael_Lin / 3261人阅读

摘要:简介是一款通过配置文件就能完成发布项目到各个环境的命令行工具,意在创建可靠舒适的发布项目体验,同时它也有丰富的和完善的可拓展能力,让开发者轻松定制项目发布流程。

fjpublish简介

fjpublish是一款通过配置文件就能完成发布项目到各个环境的命令行工具,意在创建可靠舒适的发布项目体验,同时它也有丰富的API和完善的可拓展能力,让开发者轻松定制项目发布流程。

前言

曾几何时,我相信部分Web Developer使用的项目发布方式还活在刀耕火种的年代(使用xftp或者sublime text的插件sftp等),发布方式简单又粗暴,想发布哪个目录就直接上传覆盖...

但是这种方式对于现在的前端项目有些弊端,例如:

若项目包含webpackgulp等构建工具,则每次发布都需要等待构建完成后再手动上传,效率低;

若项目为前端的服务端渲染项目,例如vue的服务端渲染,那么项目上传服务器后还得登录服务器重启进程;

发布时由于选错文件或者选错发布环境导致的上传(>﹏<)悲剧,可没有后悔药吃。

fjpublish能做什么

通过配置文件配置每个要发布的环境,并通过简单的命令行命令选择发布的环境;

自动化发布流程涵盖了git->构建->打包压缩->上传服务器->执行远程命令备份并替换旧文件;

一次命令可发布一个或多个环境,可选择并行或串行发布;

若为同时发布多个不同环境,fupublish能自动根据配置文件判断出哪些文件已构建,哪些文件已打包,哪些环境已上传等,自动忽略重复流程;

自由组合发布的目录层级,可发布多个目录和忽略不需要发布的文件;

通过中间件机制组成发布器,中间件之间独立无耦合,可灵活拆卸或新增中间件,完成简单的二次开发新的命令;

可通过配置文件配置或者发布命令配置完成忽略某些当次发布不需要的流程,例如: 配置nobuild则不进行构建;

可使用编程式的发布方式,不需要使用命令行也可以直接调用核心构建函数进行发布;

可配置钩子函数灵活的控制在某个中间件前或后做些事情;

可配置远程前置或后置linux处理命令,例如: 配置postCommands来在执行文件替换后重启pm2进程等;

完备的提醒功能,若未配置或者配置错误某些重要或必要的配置则终止该发布流程并给出提示;

附上一张发布流程的gif图,感兴趣的朋友走过路过千万不要错过,详情请前往 文档地址

反馈

fjpublish已在公司内部项目中稳定运行了大半年,如果你有什么好的idea,请在github上开issue或者去我的博客给我留言。

记得如果觉得不错请在右上角点个star哦∩__∩y

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88919.html

相关文章

  • 使用fjpublish发布前端项目(安全篇)

    摘要:本系列文章共分为基础篇,安全篇,拓展篇。免密发布安全等级配置文件中的选项完全就是库的选项,那么熟悉登录服务器的同学应该知道可以免密登录服务器。不过较真来说,这对于的开发者及依赖库的开发者而言私钥文件还是可以读取到的,不能算绝对安全。 本系列文章共分为基础篇,安全篇,拓展篇。如果还不了解fjpublish或者不知本文所云的童鞋请先花个5分钟看看基础篇:使用fjpublish发布前端项目(...

    HitenDev 评论0 收藏0
  • 使用fjpublish发布前端项目(基础篇)

    摘要:任务描述使用的来发布多个目录使用的忽略所有结尾的文件。任务描述使用的配置项在项目发布后重启进程忽略当次构建过程并提交一次使用的配置项设置每个远程命令超时时间为秒。下一期地址使用发布前端项目安全篇官方交流群 本系列文章共分为基础篇,安全篇,拓展篇。 前言 曾几何时,我相信部分Web Developer(包括我)使用的项目发布方式比较传统(使用xftp或者sublime text的插件sf...

    anonymoussf 评论0 收藏0
  • 使用 NodeJS 构建现代化的命令工具

    摘要:前言这是一篇关于如何使用构建高性能高可读性的现代化命令行工具的博客。对于命令行工具来说,运行时的权限是巨大的,但不要因此弄脏用户的系统。 前言 这是一篇关于如何使用 NodeJS 构建高性能、高可读性的现代化命令行工具的博客。 每当我们想要创建一个基于 NodeJS 的命令行工具时,就会衍生出一堆问题需要解决,比如如何准备开发环境,如何打包转译代码,如何使代码在转译后保持可调用的状态同...

    QLQ 评论0 收藏0
  • 【持续集成你的项目】为你的项目创建自动化测试和代码覆盖率测试

    摘要:单元测试中,代码覆盖率经常被用来衡量测试好坏的指标。执行的结果和导出的结果都可以在的下看到接下来就是把这些文件到上,就会自动构建,然后开始单元测试,并把测试结果中的代码覆盖率发送到。 本文以PHP项目作为例子所需要拥有(准备)的: Github账号 一个项目 看着篇幅挺大的,难免有什么遗漏,如果文中有错误的地方,还请各位斧正!谢谢。因为本来篇幅就大,所以就没配图了,如果有很多人反...

    Jeff 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<