Skip to content

Latest commit

 

History

History
66 lines (50 loc) · 4.72 KB

codepub.md

File metadata and controls

66 lines (50 loc) · 4.72 KB

项目介绍

发布系统发展

作为开发者,代码发布与部署是必经的流程,每个公司或组织都有自己的一套代码发布机制,下面我简单整理了下发布系统的几个发展阶段

1. 手动部署

手动部署,上传代码到服务器,然后修改配置,启动服务器。如果发现有上线代码问题,再重新打包替换代码。这类只适合于单台机器,单个业务的代码部署,如果增加机器,或者增加业务,每次去上传代码到服务器显然是不现实的。

2. 脚本自动化

开始封装脚本,每次运行脚本自动化更新代码。并考虑到需要有个界面,至少可以知道发布的状态,进度等信息,使用简单的页面进行操作自动部署

3. 自动部署,持续集成

既然已经有了界面,那就规范部署流程,可持续集成部署,操作更简单,发布更高效

4. 云部署

类似 docker 容器,整个代码、运行环境、甚至操作系统全部打包进行拷贝部署,这类部署成本相对比较高

优秀的持续集成软件

Jenkins

Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins 功能:

  1. 它是一个自动化的周期性的集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预;
  2. 需要有专门的集成服务器来执行集成构建;
  3. 需要有代码托管工具支持;

Jenkins 特点(网上搜索结果):

  • 安装简单:首先安装 java 环境,然后从官网下载安装文件后,直接运行 java -jar jenkins.war;
  • 可视化配置:提供友好的 GUI 配置界面;
  • 变更支持:Jenkins 能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中;
  • 支持永久链接:用户是通过 web 来访问Jenkins的,而这些web页面的链接地址都是永久链接地址,因此,你可以在各种文档中直接使用该链接;
  • 集成 E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时告诉你集成结果;
  • JUnit/TestNG 测试报告:也就是用以图表等形式提供详细的测试报表功能;
  • 支持分布式构建:Jenkins 可以把集成构建等工作分发到多台计算机中完成;
  • 文件指纹信息:Jenkins 会保存哪次集成构建产生了哪些 jars 文件,哪一次集成构建使用了哪个版本的 jars 文件等构建记录;
  • 支持第三方插件:使得 Jenkins 变得越来越强大;

其它比较著名的持续集成工具有:CruiseControl,TeamCity,Continuum 等,这里不再一一介绍。

基于此,如果你想构建一个包含检出代码,代码检测,编译构建,运行测试,上线部署等完全持续集成系统应用的话,相信 Jenkins 或许是你最好的选择!

为什么还需要 codepub?

OK, 既然 Jenkins 如此强大,那么为什么还需要 bzppx-codepub,要回答这个问题,我们又回到 Jenkins 上

  1. 虽然部署还算简单,但对于不懂 Java 的小白来说首先要去了解怎么去安装 JDK。
  2. Jenkins 正是因为强大,虽然有 GUI 的配置界面,但是配置还是相对比较复杂。
  3. 有时候我们部署很可能不需要集成度这么高(代码检测,编译构建,运行测试),我们最核心的要求是保证代码发布快速稳定。
  4. 软件本身是老外开发的,操作和 UI 都不符合国人的胃口和体验。
  5. 插件太多必然增加了维护的成本,需要有一定的技术能力及投入才能搭建应用。
  6. 有时候你可能需要封版、公告等一些附属但实际的小功能。

所以我们希望开发出一款安装部署零成本,代码发布可持续、快速、稳定,系统简洁,功能实用清晰,UI 优雅美观,用户体验更人性,使用操作更符合国人习惯,维护低成本的可持续代码发布系统!

bzppx-codepub

一款开源的支持 GIT 仓库的可持续的代码发布系统!当前已有的功能特点如下:

  • 零成本安装配置,直接二进制文件运行,进入安装 web 界面手动点击配置
  • 支持主流的操作系统 Linux / windows / MacOS
  • 完善的用户权限管理
  • 清晰的功能菜单完全符合你的操作习惯
  • 代码支持 https/http/ssh 方式快速发布和回滚
  • 支持代码发布前后执行命令
  • 实用的发布公告和封版管理
  • 可快速集成第三方登录(LDAP)

如果您感觉不错,可以下载试用。如果您不喜欢并提出批评,我们也都虚心接受。