{"id":13694351,"url":"https://github.com/bzppx/bzppx-codepub","last_synced_at":"2025-04-05T14:08:24.270Z","repository":{"id":45560413,"uuid":"113559965","full_name":"bzppx/bzppx-codepub","owner":"bzppx","description":"暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是\"鸟枪\"到\"大炮\"的创新,对\"前朝遗老\"的革命.","archived":false,"fork":false,"pushed_at":"2018-09-13T09:50:04.000Z","size":8106,"stargazers_count":492,"open_issues_count":10,"forks_count":134,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-03-29T13:10:04.384Z","etag":null,"topics":["c","ci","codepub","con","continuous-delivery","continuous-deployment","continuous-integration","continuous-testing","cpp","git","golang","java","jenkins","nodejs","php","ruby"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bzppx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-08T10:00:04.000Z","updated_at":"2025-02-27T02:00:42.000Z","dependencies_parsed_at":"2022-07-20T07:32:05.313Z","dependency_job_id":null,"html_url":"https://github.com/bzppx/bzppx-codepub","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzppx%2Fbzppx-codepub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzppx%2Fbzppx-codepub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzppx%2Fbzppx-codepub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzppx%2Fbzppx-codepub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bzppx","download_url":"https://codeload.github.com/bzppx/bzppx-codepub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345854,"owners_count":20924102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","ci","codepub","con","continuous-delivery","continuous-deployment","continuous-integration","continuous-testing","cpp","git","golang","java","jenkins","nodejs","php","ruby"],"created_at":"2024-08-02T17:01:30.007Z","updated_at":"2025-04-05T14:08:24.251Z","avatar_url":"https://github.com/bzppx.png","language":"Go","funding_links":[],"categories":["开源类库","Open source library","Go"],"sub_categories":["持续集成/部署","Continuous Integration/Delivery"],"readme":"\n![brand](/docs/guide_res/images/brand.png)   \n暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是\"鸟枪\"到\"大炮\"的创新,对\"前朝遗老\"的革命.\n\n[![stable](https://img.shields.io/badge/stable-stable-green.svg)](https://github.com/bzppx/bzppx-codepub/) [![license](https://img.shields.io/github/license/bzppx/bzppx-codepub.svg?style=plastic)]() [![download_count](https://img.shields.io/github/downloads/bzppx/bzppx-codepub/total.svg?style=plastic)](https://github.com/bzppx/bzppx-codepub/releases) [![download](https://img.shields.io/github/release/bzppx/bzppx-codepub.svg?style=plastic)](https://github.com/bzppx/bzppx-codepub/releases)   \n\n# 特点\n- 基于golang编写,站在巨人肩膀上,充分利用golang的协程,channel还有高并发的特点,甩其它基于虚拟机或者解释性语言编写的发布系统几条街.\n- 极速部署,其实部署是不存在的,本系统只需要下载二进制文件执行即可,想用立刻就能用.\n- GIT仓库支持,可以远程拉取GIT代码发布到集群节点上.\n- 集群发布,一个GIT仓库可以配置发布到N个节点的集群.\n- 命令支持,发布代码的前后,都可以自己定义执行一段系统命令,比如:重启程序.\n- 构建发布,java,c,c++,golang等编写的程序需要先编译\"发布包\",然后分发\"发布包\"到节点集群.\n- 封版管理,特有的封版本功能,同时具备封版白名单.公司在一些特殊时期,比如电商公司在某些促销或其它节日活动的时候,为了保证线上服务,往往需要对整个发布代码功能暂停,那么封版功能就十分好用了.\n- 高性能,发布代码的速度极快,对系统环境的要求很低.\n- 跨平台,Linux,windows,mac,树莓派,路由器等等...\n- 人性化的权限控制,一般一个部门的老大是超级管理员角色,老大只需要管理谁是管理员即可,管理员只需要管理用户即可,用户能发布代码.每层的权限系统都做控制.\n- 界面优美,交互简单,更符合现在的大众web审美.\n- 公告功能,有时候有些重要事情需要告知使用发布系统的开发者,那么公告功能就很好的解决了这个问题.\n- 集成外部登录,本系统支持通过外部系统认证用户,比如与公司的LDAP登录融合,只需要根据我们的开发文档花费几十分钟写个HTTP API接口即可.\n\n# 安装\n## 1. codepub 安装\n\n打开 https://github.com/bzppx/bzppx-codepub/releases 找到对应平台的版本下载编译好的压缩包\n\n```\n# 创建目录\n$ mkdir codepub\n$ cd codepub\n# 以 linux amd64 为例，下载版本 0.8 压缩包\n$ wget https://github.com/bzppx/bzppx-codepub/releases/download/v0.8/bzppx-codepub-linux-amd64.tar.gz\n# 解压到当前目录\n$ tar -zxvf bzppx-codepub-linux-amd64.tar.gz\n# 进入程序安装目录\n$ cd install\n# 执行安装程序，默认端口为 8090，指定其他端口加参数 --port=8087\n$ ./install\n# 浏览器访问 http://ip:8090 进入安装界面，完成安装配置\n# Ctrl + C 停止 install 程序, 启动 codepub 管理后台\n$ cd ..\n$ ./codepub --conf conf/codepub.conf\n```\n\n## 2. codepub-agent 安装\n请查看 https://github.com/bzppx/bzppx-agent-codepub\n\n## 3. nginx 配置反向代理\n```\nupstream frontends {\n    server 127.0.0.1:8088; # codepub 监听的ip:port\n}\nserver {\n    listen      80;\n    server_name codepub.com www.codepub.com;\n    location / {\n        proxy_pass_header Server;\n        proxy_set_header Host $http_host;\n        proxy_redirect off;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Scheme $scheme;\n        proxy_pass http://frontends;\n    }\n    # 静态资源交由nginx管理\n    location /static {\n        root        /www/bzppx-codepub; # codepub 的根目录\n        expires     1d;\n        add_header  Cache-Control public;\n        access_log  off;\n    }\n}\n```\n\n## [详细文档](https://github.com/bzppx/bzppx-codepub-doc)\n\n# 系统介绍\n\n## 1.用户功能\n\n| - | 用户管理 | 设置管理员 | 发布代码 | 回滚代码 | 封版 | 公告管理 | 项目管理 | 节点管理\n| ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------\n| `超级管理员` | √ | √ | √ | √ | √ | √ | √ | √\n| `管理员` | √ | × | √ | √ | √ | √ | √ | √ | √\n| `普通用户` | × | × | √ | √ | × | × | × | ×\n\n## 2.系统界面,先睹为快\n\n### 2.1 安装\n![install](/docs/guide_res/images/install.png)\n### 2.2 登录\n![login](/docs/guide_res/images/login.png)\n### 2.2 面板\n![login](/docs/guide_res/images/index.png)\n### 2.3 添加节点\n![login](/docs/guide_res/images/add-node.png)\n### 2.4 添加项目\n![login](/docs/guide_res/images/add-project.png)\n### 2.5 发布代码\n![login](/docs/guide_res/images/publish.png)\n### 2.6 节点进度\n![login](/docs/guide_res/images/task.png)\n\n# 开发\n\n环境要求：go 1.8\n```\n$ git clone https://github.com/bzppx/bzppx-codepub.git\n$ cd bzppx-codepub\n$ go build ./\n```\n\n# 反馈\n\n欢迎提交意见和代码 https://github.com/bzppx/bzppx-codepub/issues\n官方交流 QQ 群：547481058\n\n## License\n\nMIT\n\n谢谢\n---\nCreate By BZPPX","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbzppx%2Fbzppx-codepub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbzppx%2Fbzppx-codepub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbzppx%2Fbzppx-codepub/lists"}