去年花了三天时间开发了一个简易版的nodejs发布系统,它是基于pm2自带的deploy机制开发的,主要原理就是在两台装有pm2的机器直接通信,并执行相应的命令。再往简单了说就是在发布机上远程执行命令,而朱雀发布系统提供了一个图形界面而已。

当时把这个系统定位为nodejs专用发布系统,因为它依赖了pm2,而pm2则是nodejs专用的进程管理工具,其他语言用不到。这个系统的上线也算是解决了我司一直以来没有合适的nodejs发布系统的空缺。

经过9个月的使用,也算比较稳定。但是也存在问题,最大的问题是部署应用方面比较繁琐。

基本流程如下:

  • 发布机和应用服务器设置ssh通信配置。
  • 应用服务器安装git(有自带,但是版本太旧)。
  • 配置git用户名,邮箱。
  • 生成ssh公钥。
  • 把应用服务器的公钥配置到git代码服务器上。以便能拉代码。
  • 发布机远程执行git pull来代码操作,各应用服务把代码拉取下来。
  • 执行编译打包操作。
  • 执行重启服务操作。

部署一次系统还是比较麻烦的,如果应用服务器有多台,可能还要重复这样的操作多次,实在比较麻烦。

使用scp同步代码的方式会比较简单一些,但是像nodejs这样的项目,node_module占了很大比重,如果每次都打包的话会拖慢同步速度,而scp又不具备排除文件夹的能力。

最后找到了rsync命令可以满足需求。然后就是基于rsync实现了一版。

朱雀和Jenkins对比如何?

要说Jenkins那绝对是持续集成领域的老大哥,自然是功能强大。但是每个团队和产品有其特殊性,Jenkins并不完全适用。而朱雀也有其优势。

  • 朱雀本身部署简单,使用go开发,不依赖运行时,无需安装,开箱即用。
  • 目前支持和测试过的数据库有sqlite3(目前用的,不需要繁琐的安装过程)和mysql。
  • 配置简单。
  • 部署发布一键完成,不需要单独的部署过程。
  • 并行发布。
  • 审批,通知,权限。
  • 开源,可定制开发。

项目地址:朱雀发布系统

原文:https://www.yuedun.wang/blogdetail/60950c9ee76f307341586548

朱雀发布系统支持scpsync)发布相关推荐

  1. java灰度发布系统_灰度发布系统架构设计

    灰度发布的定义 互联网产品需要快速迭代开发上线,又要保证质量,保证刚上线的系统,一旦出现问题可以很快控制影响面,就需要设计一套灰度发布系统.灰度发布系统的作用,可以根据配置,将用户的流量导到新上线的系 ...

  2. MySQL信息发布系统_信息发布系统

    系统介绍 由盾华科技自主研发的,用于在网络环境下,对多媒体信息进行编辑处理和控制发布的专业系统平台.联网多媒体信息发布系统融合网络技术.信息技术和多媒体技术,可对音视频.图片.流媒体等多种素材编辑制作 ...

  3. 熊猫直播Rancho发布系统构建之路

    作者介绍 符杰超,熊猫直播基础架构部高级运维开发工程师.主要负责熊猫直播运维自动化架构平台建设和开发 前言 随着熊猫直播的业务发展越来越快,业务需求的迭代和版本更新需求越来越多,对开发和运维面临以下4 ...

  4. 大屏联屏发布系统解决方案

    1.方案拓扑 1.1方案设计思路与构成 本方案实现视音频.直播信号.图文.动画.交互于一体的多媒体信息显示,具有较强的可移植性及可迁移性.充分考虑硬件的精简及先进性.软件的易用和可靠性.功能的多样性. ...

  5. 【计算机毕业设计】新闻发布系统

    一.系统截图(需要演示视频可以私聊) 摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...

  6. 新闻发布系统的设计与实现

    摘要 伴随着网络的出现,网页逐渐融入人们的生活.快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关.它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式.网站新闻发布系统, ...

  7. 小区信息发布服务器,数字化小区信息发布系统解决方案

    原标题:数字化小区信息发布系统解决方案 数字化社区,就是通过数字化信息将管理.服务的提供者与每个住户实现有机连接的社区.这种数字化的网络系统,使社会化信息提供者.社区的管理者与住户之间可以实时地进行各 ...

  8. 发布系统的核心架构和功能设计

    我在分享<发布系统一定要注意用户体验>这个主题时,介绍了从用户体验的角度出发,设计一套发布系统的设计理念,以及具体实现.但是,用户体验设计得再好,后端系统无法支持,也就如同巧妇难为无米之炊 ...

  9. IRS应用发布系统应用简介

    系统简介 IRS应用发布系统定位 应用发布是IRS(一体化资源系统,Integrated Resources System,简称IRS)应用闭环管理的重要环节,该环节定义应用发布相关的目录要素.规范标 ...

最新文章

  1. 颜色代码对照表、网页颜色选择器
  2. 【力荐】Select查询语句中LIKE关键词的优化方法分析
  3. BootStrap 学习笔记(一)
  4. mysql使用主从复制迁移,[MySQL进阶之路][No.0003] 主从复制(Replication)在运维中的运用...
  5. toughradius 配置mysql_ToughRADIUS 安装进阶篇
  6. 敏捷外包工程系列之四:外包与敏捷开发专访(IIOM独家专访)
  7. Canvas -画图 关键字
  8. Spark编写UDF函数案例
  9. linux cpu监控方案,Linux性能优化和监控系列(二)分析CPU性能
  10. pushd popd
  11. appassembler-maven-plugin插件打包本地依赖的jar
  12. 转载---ubutun18.04系统安装搜狗输入法
  13. 【免费分享淘宝视频教程】pyhton大数据人工智能神经网络爬虫零基础视频教程从入门到精通-百度云
  14. 小米手机获取完整ROOT权限教程
  15. 小白转行学IT该怎么选择领域?
  16. 快去抢票!今天开始!2020元旦春节火车票购票日程攻略来了
  17. matlab仓库选址,物流中心选址matlab
  18. Ubuntu 解压 zip、z01、z02等文件方法
  19. 微信小程序云开发之将云数据库信息导出到Excel表格并复制下载链接
  20. python版FlappyBird代码解析

热门文章

  1. db2look和db2move详解
  2. 使用python下载wallpaper Engine订阅的壁纸/视频
  3. mysql 关闭严格_如何禁用MySQL严格模式?
  4. dma总线全称_总线主控DMA
  5. 计算机进入启动死循环,Win10电脑自动修复时不断死循环重启系统怎么办
  6. 链表逆序 递归 java_将链表逆序(递归方式)
  7. 微信小程序中嵌套html_微信小程序中使用 web-view 内嵌 H5 时,登录问题的处理方法...
  8. 基于Springboot+vue的玩具销售商城网站 elementui
  9. 年度最佳 JavaScript和CSS 开源库推荐!
  10. 华为手机隐藏的功能还真是多,光是这4个功能就能用好一阵子了!