gopub

企业级运维发布系统
授权协议 Apache
开发语言 Google Go JavaScript
所属分类 管理和监控、 DevOps/运维工具
软件类型 开源软件
地区 国产
投 递 者 牟慎之
操作系统 Linux
开源组织
适用人群 未知
 软件概览

gopub(基于vue.js element框架+golang beego框架开发)是一个基于运维场景设计的企业级运维发布系统。配置简单、功能完善、界面流畅、开箱即用!支持git、jenkins版本管理,支持各种web代码发布,一键完成Golang,nodejs,PHP,Python,JAVA等代码的发布、回滚操作。

我们运维团队前期使用walle(https://www.walle-web.io) web部署系统进行发布操作,在此也感谢walle团队贡献的优秀开源项目.walle的web体验比较好,本次开源的gopub前台完全模仿walle前台,使用vue.js element框架重写.

gopub已在我们预发布和生产环境完成37000+次稳定部署,支持单项目100+台服务器部署110秒左右,支持2G+CDN静态资源发布传输30秒完成. 

使用框架

功能特性

  • 部署简便:go二进制部署,无需安装运行环境,下个版本将支持Docker部署

  • gitlab发布支持:配置每个项目git地址,自动获取分支,commit选择并自动拉取代码

  • jenkins发布支持:支持jenkins编译包一键发布

  • ssh执行命令/传输文件:使用golang内置ssh库高效执行命令/传输文件

  • BT支持:大文件和大批量机器文件传输使用BT协议支持

  • 多项目部署:支持多项目多任务并行,内置grpool协程池支持并发操作命令和传输文件

  • 全web化操作:web配置项目,一键发布,一键快速回滚

  • API支持:提供所有配置和发布操作API,便于对接其他系统 API使用example

  • 部署钩子:支持部署前准备任务,代码检出后处理任务,同步后更新软链前置任务,发布完毕后收尾任务4种钩子函数脚本执行

Docker快速启动

#使用dockerhub镜像启动,连接外部数据库

sudo docker run --name gopub -e MYSQL_HOST=127.0.0.1 -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASS=123456 -e MYSQL_DB=walle -p 8192:8192 --restart always -d lc13579443/gopub:latest

Docker 镜像制作

#使用multi-stage(多阶段构建)需要docker 17.05+版本支持

sudo docker build -t gopub .

sudo docker run --name gopub -e MYSQL_HOST=127.0.0.1 -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASS=123456 -e MYSQL_DB=walle -p 8192:8192 --restart always -d gopub:latest

Kubernetes快速部署

#apiVersion: apps/v1 需要kubernetes 1.9.0+版本支持

kubectl apply -f gopub-kubernetes.yml
 相关资料
  • 某电信公司提供家庭套餐业务,该套餐可以办理一个家用宽带和手机包月业务,并且在家庭成员的多部手机间共享手机流量,用户可以自定义宽带业务带宽和手机数据流量包。该公司市场推广人员希望用户可以访问公众号来自主申请套餐办理。 改造前 使用个人版或者企业版的基本字段可以搭建一个简单的表单,满足基本的业务需求:用户及其家庭成员的信息填报,不同套餐内容的选择和组合。表单内容如图 1 所示,可扫描图中二维码查看完整

  • 以下是为 linkerd 提供商业支持和其他企业产品的公司列表: Buoyant 是 linkerd 的原创者,并提供支持,培训和企业产品。 了解更多 »

  • 作用 用于查询企业账户额度、开票额度等信息。 依赖 暂无依赖 注意 所有接口调用时需要严格遵守请求方式(GET/POST) 使用接口前需要仔细阅读每个接口的注意事项 接口报错时先阅读通用错误解决方案和当前接口文档下的接口错误解决方案

  • 作者:陈希章 发表于 2017年12月20日 我已经写了很多关于Office Add-in的内容,而且我相信你已经尝试过创建一两个Add-in了吧。作为一个开发人员,你有多种方式在自己的机器上使用你的作品,例如 如果你是用Visual Studio开发,这是最简单的,你直接按F5就可以了 你可以将manifest文件(其实就是一个XML文件)保存到一个共享目录,然后通过在Office客户端中,添加

  • 注意:本书中的 Service Mesh 章节已不再维护,请转到 istio-handbook 中浏览。 本节是根据由Nginx赞助,O’Reilly出版社出品的关于服务网格的书籍总结而来,本书标题是 The Enterprise Path to Service Mesh ,还有个副标题 Decoupling at Layer 5 ,第一版发行于2018年8月8日。这本书一共61页,本文是我对该书

  • 本文向大家介绍浅析Android企业级开发数据绑定技术,包括了浅析Android企业级开发数据绑定技术的使用技巧和注意事项,需要的朋友参考一下 这篇文章通过发文的方式让大家知道什么是数据绑定,以及为什么要用数据绑定等问题,有助于大家理解Android企业级开发数据绑定技术。 首先要了解什么是数据绑定?为什么要用数据绑定?怎么用数据绑定?   语法的使用 简单例子,数据绑定textview控件,一般