{"id":15567573,"url":"https://github.com/wgrape/cimanager","last_synced_at":"2025-04-24T00:04:08.817Z","repository":{"id":63196451,"uuid":"522980387","full_name":"WGrape/CIManager","owner":"WGrape","description":"A lightweight open source framework for efficiently managing common CI/CD for multi projects / 一个用于高效管理多个项目通用CI/CD的轻量级开源框架","archived":false,"fork":false,"pushed_at":"2024-03-05T11:48:39.000Z","size":142,"stargazers_count":23,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-24T00:03:59.087Z","etag":null,"topics":["ci","cicd","devops","gitlab","golang"],"latest_commit_sha":null,"homepage":"https://wgrape.github.io/CIManager/","language":"Shell","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/WGrape.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-09T14:18:46.000Z","updated_at":"2024-07-19T03:45:40.000Z","dependencies_parsed_at":"2024-06-20T02:56:12.452Z","dependency_job_id":"b8ff6cbf-b63e-409f-8abb-1abf9f9d1be2","html_url":"https://github.com/WGrape/CIManager","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/WGrape%2FCIManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WGrape%2FCIManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WGrape%2FCIManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WGrape%2FCIManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WGrape","download_url":"https://codeload.github.com/WGrape/CIManager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535098,"owners_count":21446508,"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":["ci","cicd","devops","gitlab","golang"],"created_at":"2024-10-02T17:11:50.825Z","updated_at":"2025-04-24T00:04:08.790Z","avatar_url":"https://github.com/WGrape.png","language":"Shell","readme":"\u003cp align=\"center\"\u003e\n\u003cimg width=\"321\" alt=\"image\" src=\"https://user-images.githubusercontent.com/35942268/188274226-5ccdfb75-5bcb-4d90-895f-4190d64ae22d.png\"\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cp\u003eA lightweight open source framework for efficiently managing common CI for multi projects\u003c/p\u003e\n\u003cp\u003e一个用于高效管理多个项目通用CI/CD的轻量级开源框架 | \u003ca href=\"https://wgrape.github.io/CIManager/\"\u003e官方网站\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.oscs1024.com/project/oscs/WGrape/CIManager?ref=badge_small\" alt=\"OSCS Status\"\u003e\u003cimg src=\"https://www.oscs1024.com/platform/badge/WGrape/CIManager.svg?size=small\"/\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Language-Shell-blue.svg\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Release-1.1.0-blue.svg\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/wgrape/cimanager\"\u003e\n    \u003c!--\u003cimg src=\"https://img.shields.io/github/downloads/wgrape/cimanager/total\"\u003e--\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Document-中文-orange.svg\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg\"\u003e   \n\u003c/p\u003e\n\n## 一、介绍\n在微服务下，每一个项目仓库都需要维护独立的```CI/CD```，一旦```CI/CD```有设计升级或变更，所有仓库都需要配合做联动性调整，维护成本极高。为了解决这个问题，曾经提出过一种方案，详细请见文章 [《多项目下CI管理方案的设计与实现》](https://github.com/WGrape/Blog/issues/249) 。\n\n本项目是基于文章中的```远程管理```方案设计而实现的一个用于高效管理多个项目通用CI的轻量级开源框架，它不但完全开箱即用，而且方便定制化开发与扩展。\n\n## 二、快速上手\n\n\u003e 您可以参考 [apimock-example](https://jihulab.com/WGrape/apimock-example/) 和 [matching](https://github.com/WGrape/matching) 项目是如何在```gitlab```和```github```中使用的\n\n### 1、为您的项目添加ci.yml文件\n\n首先，和单项目下的CI管理方式一样，在您的各个项目下添加一个```.gitlab-ci.yml```或```.github/workflows/.github-ci.yml```配置文件。在```/template```目录下有定义好的配置文件，您可以直接使用。\n\n\u003cimg width=\"300\" src=\"https://github.com/WGrape/CIManager/assets/35942268/21026799-c865-4534-9342-8954cec04200\"\u003e\n\n### 2、正常提交您的项目\n添加完之后，如往常一样，正常编写并提交您的项目即可\n\n### 3、CIManager开始工作\n当您每次提交项目的时候，在runner机器上都会运行CIManager，它的底层[运行原理](https://github.com/WGrape/Blog/issues/249)如下图所示，详细运行过程可以 [查看这里](https://jihulab.com/WGrape/apimock-example/-/pipelines)\n\n\u003cimg src=\"https://user-images.githubusercontent.com/35942268/184865495-ca6b8491-6f23-4db6-80c8-9853f677dacb.png\" height=\"400\"\u003e\n\n## 三、更多文档\n\n- [1. 使用文档](./doc/USAGE.md)\n- [2. 设计文档](./doc/DESIGN.md)\n- [3. 常见问题](./doc/QA.md)\n\n## 四、私有化部署\n\n### 1、下载项目\n\n无需任务复杂安装过程，直接通过Git方式clone到本地即可。\n\n```bash\ngit clone https://github.com/WGrape/CIManager.git\n```\n\n### 2、部署至私有仓库\n如果您不需要对```CIManager```框架进行扩展开发，那么直接把它提交至您的私有仓库，并在您各个项目中的```.gitlab-ci.yml```或```.github/workflows/.github-ci.yml```配置文件中的```https://github.com/WGrape/CIManager.git```替换为CIManager在您私有仓库中的地址即可。\n\n### 3、自定义开发\n本框架源码轻量简单，如果不满足您的需求，您可以在```CIManager```框架基础上进行自定义开发，比如新增配置检查、依赖检查等丰富和加强```CI/CD```的流水线功能。具体请参考[设计文档文档](./doc/DESIGN.md)\n\n## 五、项目贡献\n\n欢迎大家的参与，如果在您使用过程中遇到任何问题，可以随时在 [ISSUE](https://github.com/WGrape/CIManager/issues) 中提问，也欢迎大家的 [PR](https://github.com/WGrape/CIManager/pulls) 对本项目优化。\n\n- [WGrape/matching](https://github.com/WGrape/matching) ：基于CIManager实现在github上对CI/CD的统一管理\n- [apimock-example](https://jihulab.com/WGrape/apimock-example/) ：基于CIManager实现在gitlab上对CI/CD的统一管理\n\n\u003cimg src=\"https://contrib.rocks/image?repo=wgrape/cimanager\" \u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgrape%2Fcimanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwgrape%2Fcimanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgrape%2Fcimanager/lists"}