CodePub 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
CodePub 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 MIT
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 国产
提 交 者 phachon
适用人群 未知
收录时间 2018-03-21

软件简介

暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是"鸟枪"到"大炮"的创新,对"前朝遗老"的革命.

特点

  • 基于golang编写,站在巨人肩膀上,充分利用golang的协程,channel还有高并发的特点,甩其它基于虚拟机或者解释性语言编写的发布系统几条街.

  • 极速部署,其实部署是不存在的,本系统只需要下载二进制文件执行即可,想用立刻就能用.

  • GIT仓库支持,可以远程拉取GIT代码发布到集群节点上.

  • 集群发布,一个GIT仓库可以配置发布到N个节点的集群.

  • 命令支持,发布代码的前后,都可以自己定义执行一段系统命令,比如:重启程序.

  • 构建发布,java,c,c++,golang等编写的程序需要先编译"发布包",然后分发"发布包"到节点集群.

  • 封版管理,特有的封版本功能,同时具备封版白名单.公司在一些特殊时期,比如电商公司在某些促销或其它节日活动的时候,为了保证线上服务,往往需要对整个发布代码功能暂停,那么封版功能就十分好用了.

  • 高性能,发布代码的速度极快,对系统环境的要求很低.

  • 跨平台,Linux,windows,mac,树梅派,路由器等等...

  • 人性化的权限控制,一般一个部门的老大是超级管理员角色,老大只需要管理谁是管理员即可,管理员只需要管理用户即可,用户能发布代码.每层的权限系统都做控制.

  • 界面优美,交互简单,更符合现在的大众web审美.

  • 公告功能,有时候有些重要事情需要告知使用发布系统的开发者,那么公告功能就很好的解决了这个问题.

  • 集成外部登录,本系统支持通过外部系统认证用户,比如与公司的LDAP登录融合,只需要根据我们的开发文档花费几十分钟写个HTTP API接口即可.

安装

1. codepub 安装

找到对应平台的版本下载编译好的压缩包

# 创建目录
$ mkdir codepub
$ cd codepub
# 以 linux amd64 为例,下载版本 0.8 压缩包
$ wget https://github.com/bzppx/bzppx-codepub/releases/download/v0.8/bzppx-codepub-linux-amd64.tar.gz
# 解压到当前目录
$ tar -zxvf bzppx-codepub-linux-amd64.tar.gz
# 执行安装程序,默认端口为 8090,指定其他端口加参数 --port=8087
$ ./install/install
# 浏览器访问 http://ip:8090 进入安装界面,完成安装配置
# Ctrl + C 停止 install 程序, 启动 codepub 管理后台
$ ./codepub --conf conf/codepub.conf

2. codepub-agent 安装

3. nginx 配置反向代理

upstream frontends {
    server 127.0.0.1:8088; # codepub 监听的ip:port
}
server {
    listen      80;
    server_name codepub.com www.codepub.com;
    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://frontends;
    }
    # 静态资源交由nginx管理
    location /static {
        root        /www/bzppx-codepub; # codepub 的根目录
        expires     1d;
        add_header  Cache-Control public;
        access_log  off;
    }
}

同类软件对比

-语言部署稳定性系统要求平台覆盖发布速度发布配置邮件通知封版权限公告界面
Jenkinsjava复杂一般很慢灵活丑陋
CodePubgolang1分钟广泛极快十分灵活✔(更细)优美

系统介绍

1.用户功能

-用户管理设置管理员发布代码回滚代码封版公告管理项目管理节点管理
超级管理员
管理员
普通用户

2.系统界面,先睹为快

2.1 安装

install

2.2 登录

login

2.2 面板

login

2.3 添加节点

login

2.4 添加项目

login

2.5 发布代码

login

2.6 节点进度

login

开发

环境要求:go 1.8

$ git clone https://github.com/bzppx/bzppx-codepub.git
$ cd bzppx-codepub
$ go get ./...
$ go build ./
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (12)

加载中
想了解一下部署需要多少资源,配置情况。
08/28 16:32
回复
举报
看那个对比表。。。真心一点良心都不讲的
2019/12/07 19:32
回复
举报
为什么按照教程部署,访问不到安装页面呢?
2019/08/19 15:04
回复
举报
打分: 较差
请问作者有没有自己实际用过这个系统来发布啊?自动部署明明是流程性的东西,结果硬生生将项目,发布,节点,日志给硬生生分开,额外增加学习成本。另外发布一个项目需要填写的东西太多了,部署软件本就是希望简化步骤,结果所有信息都要填,不管有没有用(比如用http方式拉取git代码需要填写用户名密码?以及还必须要填写一个所属用户,默认当前用户不行吗?)。作为开源软件,当然非常感谢作者的贡献,但是我希望作者既然开源了,最好能够实际自己使用过,首先自己得用的顺手啊。
2018/07/22 13:49
回复
举报
@林林未 每个环境个部署一套,相互隔离。
2018/03/25 03:39
回复
举报
@lxbzmy 你说的没错,那请问有没有比较不错的发布系统来解决这个多环境配置不同的问题呢
2018/03/24 21:54
回复
举报
一个项目,会分成多个project开发,需要发布到3个以上的环境,每个环境的资源连接配置是有差异的。
2018/03/24 12:10
回复
举报
@狂奔的蜗牛. 速度慢 等一等有时就好了,不过速度叫人难以忍受
2018/03/24 09:49
回复
举报
这有点儿田忌赛马啊,哈哈,Jenkins的插件,各个生命周期的管理很强大啊
2018/03/23 13:45
回复
举报
打分: 力荐
这么屌?
2018/03/21 14:39
回复
举报
更多评论
发表于DevOps专区
2018/09/13 17:51

bzppx-codepub v0.8.4 发布,现代的持续集成发布系统

修复内容 修复节点列表样式 修复项目列表搜索问题(#28) 修复添加项目时用户名变单自动填充问题 新增功能 无 更新方法 下载新版本到部署该项目的根目录 覆盖解压 重启 ./bzppx-codepub --conf conf/codepub.conf 简介 暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的a...

0
8
发表于DevOps专区
2018/08/22 16:57

bzppx-codepub 系统发布 v0.8.3 版本重大更新

更新内容 修复了不能通过代理访问使用后台的问题. 增加了几个控制session的配置项,登录默认过期时间是20小时. session存储可以选择内存或者文件. 修复 #17 项目发布历史显示发布人账号都是admin,有其他账号发布的 修复 #21 项目配置里面前置和后置命令不显示 修复表单 ajax 提交完成后,滚动条回到顶部 修复项目节点列表...

1
3
发表于DevOps专区
2018/05/30 16:01

bzppx-codepub v0.8.2 发布,现代化持续集成发布系统

bzppx-codepub 代码发布系统 v0.8.2 发布 更新日志: 系统登录验证码改成可配置方式,见配置文件 captcha 配置 节点列表增加备注 系统导航条上增加版本标志 节点列表状态显示节点版本 修复了添加项目和修改项目时,目录所属用户为非必填 修复了任务列表页显示获取taskId失败问题 登录 cookie 时长改成可配置,见配置文件...

1
1
发表于DevOps专区
2018/03/22 11:25

bzppx-codepub v0.8 增加 mac 编译版本

暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是"鸟枪"到"大炮"的创新,对"前朝遗老"的革命. 本次更新内容: 安装文档更新 增加 mac amd64 的编译版本

1
1
发表于DevOps专区
2018/03/21 13:45

bzppx-codepub v0.8 预览版,现代的持续集成发布系统

暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是"鸟枪"到"大炮"的创新,对"前朝遗老"的革命. 特点 基于golang编写,站在巨人肩膀上,充分利用golang的协程,channel还有高并发的特点,甩其它基于虚拟机或者解释性语言编写的发布系统...

1
13
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于服务端专区
2016/07/14 22:36

IntelliJ IDEA中Maven插件无法更新索引之解决办法

IntelliJ IDEA中Maven插件无法更新索引之解决办法

0
3
发表了博客
2016/01/15 14:19

scp命令不输入密码方法

在两台机器的两个用户之间建立安全的信任关系后,可实现执行scp命令时不需要输入用户密码。 1. 在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书。 [root@Client root]# ssh-keygen -b 1024 -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id...

0
0
发表于软件架构专区
2016/10/11 14:12

lucene基础(1)

lucene使用步骤分为两步,一是建立索引,二是搜索索引文档; 一、建立索引 先了解必须的五个基础类; 1、Document:由过个Field组成。相当于数据库的一条记录,Field对象相当于记录的字段; 2、Field:用来描述文档的某个属性; 选项 描述 Field.Store.Yes 用于存储字段值。适用于显示搜索结果的字段 — 例如,文件路径和 ...

1
1
发表于大前端专区
2016/04/19 00:06

JavaScript中通过提示框跳转页面的方法

这篇文章主要介绍了JavaScript中通过提示框跳转页面的方法的相关资料,需要的朋友可以参考下

0
0
发表了博客
2016/06/20 19:13

网址收藏

http://jtds.sourceforge.net/ jtds1.1 http://www.oreillynet.com (Oreilly的网站) http://www.scriptsearch.com/ (国外的源码下载站) http://www.bugnet.com/ (看名字就知道了) http://www.programmersheaven.com/ (程序员天堂) http://www.devarticles.com/ (也是一个技术网站) http://www.ddj.com/ (Dr.Dobb's Jour...

0
0
2016/11/30 20:16

java中的AIO

## 简介 jdk7中新增了一些与文件(网络)I/O相关的一些api。这些API被称为NIO.2,或称为AIO(Asynchronous I/O)。AIO最大的一个特性就是异步能力,这种能力对socket与文件I/O都起作用。AIO其实是一种在读写操作结束之前允许进行其他操作的I/O处理。AIO是对JDK1.4中提出的同步非阻塞I/O(NIO)的进一步增强。 关于NIO,之前的一...

0
4
发表了博客
2016/11/09 09:15

【60】Spring总结之基础架构(1)

为什么用Spring? Spring一直贯彻并遵守“好的设计优于具体实现,代码应易于测试”,这一理念,并最终带给我们一个易于开发、便于测试而又功能齐全的开发框架。概括起来Spring给我们带来以下好处: 1、方便解耦,简化开发 通过Spring的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码照成的过度程...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
12 评论
142 收藏
分享
返回顶部
顶部