更新草稿功能、发布自动部署工具

那天写随笔,好不容易写完,结果点发布时候session过期了,直接重定向到登陆,好家伙,这才体会到自动保存草稿的重要性。

因为我一般不直接在博客中写,因为很多文章都涉及到图片,我的服务器带宽小,加载图片太费时,所以经常在掘金写完,吧markdown复制过来,所以没有增加草稿功能,这也就是为啥大家经常看到的图片水印中有掘金社区几个字。

但是自己的随笔还是在我的博客中写,前几天才发现这个问题,所以抽时间增加了定期保存草稿功能。

image.png

github: github.com/houxinlin/O…

第二个准备开源的东西是一个自动部署工具,因为在个人的项目中,发布一个应用,通常最老的办法是手动上传,或者是宝塔之类的工具。

但是问题在于,上传速度,还有如果发布后发现一个小错误,就得重新上传,很费时间,所以我基于Github的WebHook功能,做了一个自动部署工具。

功能如下:

  1. 拉去Github项目,根据设置的命令、脚本编译/部署
  2. 单独执行Gradle的Task,因为可以检测出Gradle中所有的Task,包括自己写的。
  3. Github发出push推送时候自动执行命令/脚本。
  4. WebSocket推送所有日志。

image.png

录屏_选择区域_20211117221318.gif

其中对Gradle的项目支持最好。

因为要拉去Github项目的私有仓库时候,需要认证,系统是通过SSH,就需要先生成密钥,当然也不能让你手动去生成,这些系统都已经集成。

我们部署应用一般分类两步,第一步是根据你项目的构建工具进行打包,然后执行特定脚本,这个脚本具体任务由你决定。所以在这里提供了这两个定义方式。

image.png

比如系统在拉取VUE项目后,首先通过npm run build打包,接着要把他dist下的内容复制到nginx下,所以这部分要定义在脚本中。

之后就是系统调用执行了,整体系统比较简单,但是会提升以往的发布速度。

整体的运行流程如下:

  1. 本地执行git push
  2. github向我们的系统发送push消息
  3. 系统收到后重新pull项目
  4. 执行打包命令
  5. 执行脚本任务
  6. WebSocket通知用户。

但是这个应用这两个还在测试,基本可以使用了,在周六会在github开源。

但你也可以使用jenkins,但我喜欢造轮子。

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%