| @@ -1,17 +1,27 @@ | |||||
| Trustie (确实)是一个以大众化协同开发、开放式资源共享、持续性可信评估为核心机理,面向高校创新实践的在线协作平台。 | |||||
| # GitLink - CCF开源创新服务平台 | |||||
| ## 特性 | |||||
| GitLink(确实开源)是中国计算机学会(CCF)官方指定的开源创新服务平台,旨在以“为开源创新服务”为使命,以“成为开源创新的汇聚地”为愿景,秉承“创新、开放、协作、共享”的价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新工科人才培养的开源创新生态! | |||||
| - 软件创作与生产深度融合的软件开发环境体系结构 软件自由创作和工程生产的高效衔接,适于软件开发中群体智慧的有效汇聚。 | |||||
| <center> | |||||
| <img src="https://code.gitlink.org.cn/young/forgeplus/raw/branch/master/docs/figs/gitlink.png?raw=true" width=80% /></center> | |||||
| ## 特色功能 | |||||
| - 构件化协同开发环境的可扩展运行框架多样化工具的集成和联动,形成了强动态扩展能力的平台框架。 | |||||
| - **分布式协作开发**:基于Git打造分布式代码托管环境,提供免费公、私有代码仓库,支持在线文件编辑、代码分支管理、协作贡献统计、代码仓库复刻(Fork)、贡献合并请求(PR)、群智贡献审阅等功能,让您的项目在这里健康、快速的成长! | |||||
| - “互联网即资源库”的全新软件复用模式 成长式软件资源管理系统,实现了分散资源的知识融合、资源的可持续增长和有效复用。 | |||||
| - **一站式过程管理**:提供易修(Issue)、里程碑、通知提醒、标签归档等多样化任务管理工具,支持各类开发任务的发布、指派与跟踪,同时提供在线Wiki文档、组织多粒度管理等功能,为您搭建一站式的项目过程管理环境,让您的团队协作更高效、过程更透明! | |||||
| ## 部署 | |||||
| - **高效流水线运维**:融合DevOps思想,提供轻量级的工作流引擎(Engine),打通编码、测试、构建、部署等开发运维环节;支持自定义配置、代码静态扫描、构建自动触发、容器镜像托管等功能,同时支持接入第三方运维工具,让您的代码更加快速、可靠地形成高质量的产品! | |||||
| - **多层次代码分析**:提供软件软代码和芯片RTL代码的溯源分析、文件级和组件级许可证识别及风险分析、输入性开源漏洞检测和加固建议,支持分析结果的多层次可视化展示,帮助您实施有效开源治理,厘清代码引用链,发现并消除漏洞感染链,为安全合规的开源引用保驾护航! | |||||
| ### Depends Versions | |||||
| - **多维度用户画像**:实时采集和分析平台中的各类开源资源数据,搭建多维度用户画像评估系统,提供开发活动统计、贡献度日历、用户能力建模、角色与专业定位分析等功能,让您在个人主页展示开发动态与创新能力! | |||||
| ## 部署流程 | |||||
| ### 依赖库 | |||||
| * Ruby 2.4.5 | * Ruby 2.4.5 | ||||
| @@ -23,22 +33,19 @@ Trustie (确实)是一个以大众化协同开发、开放式资源共享、 | |||||
| * imagemagick | * imagemagick | ||||
| ### Steps | |||||
| ### 步骤 | |||||
| #### 1. 克隆稳定版本 | |||||
| (1)克隆稳定版本 | |||||
| ``` | ``` | ||||
| git clone -b standalone https://git.trustie.net/jasder/forgeplus.git | |||||
| git clone -b master https://gitlink.org.cn/Gitlink/forgeplus.git | |||||
| ``` | ``` | ||||
| #### 2. 安装依赖包 | |||||
| (2)安装依赖包 | |||||
| ```bash | ```bash | ||||
| cd forgeplus && bundle install | cd forgeplus && bundle install | ||||
| ``` | ``` | ||||
| #### 3. 配置初始化文件 | |||||
| 进入项目根目录执行一下命令: | |||||
| (3)配置初始化文件:进入项目根目录执行以下命令 | |||||
| ```bash | ```bash | ||||
| cp config/configuration.yml.example config/configuration.yml | cp config/configuration.yml.example config/configuration.yml | ||||
| cp config/database.yml.example config/database.yml | cp config/database.yml.example config/database.yml | ||||
| @@ -46,11 +53,7 @@ touch config/redis.yml | |||||
| touch config/elasticsearch.yml | touch config/elasticsearch.yml | ||||
| ``` | ``` | ||||
| #### 4. 配置数据库 | |||||
| 数据库配置信息请查看/config/database.yml文件, | |||||
| 项目默认采用mysql数据库, 如需更改,请自行修改配置信息, | |||||
| 默认配置如下: | |||||
| (4)配置数据库:数据库配置信息请查看/config/database.yml文件,项目默认采用mysql数据库, 如需更改,请自行修改配置信息,默认配置如下 | |||||
| ```bash | ```bash | ||||
| default: &default | default: &default | ||||
| adapter: mysql2 | adapter: mysql2 | ||||
| @@ -60,14 +63,13 @@ default: &default | |||||
| password: 123456 | password: 123456 | ||||
| ``` | ``` | ||||
| #### 5. 配置gitea服务(可选) | |||||
| **如需要部署自己的gitea平台,请参考gitea官方平台:https://docs.gitea.io/zh-cn/install-from-binary/** | |||||
| **因目前gitea平台api受限,暂时推荐从forge平台获取gitea部署文件进行部署:https://forgeplus.trustie.net/projects/Trustie/gitea-binary** | |||||
| (5)配置gitea服务(可选):如需要部署自己的gitea平台,请参考[gitea官方平台文档](https://docs.gitea.io/zh-cn/install-from-binary/)。因目前gitea平台api受限,暂时推荐从forge平台获取[gitea部署文件](https://forgeplus.trustie.net/projects/Trustie/gitea-binary)进行部署 | |||||
| **配置gitea服务步骤** | |||||
| 1. 部署gitea服务,并注册root账户 | |||||
| 2. 修改forge平台的 config/configuration.yml中的gitea服务指向地址,如: | |||||
| - 配置gitea服务步骤: | |||||
| -- 部署gitea服务,并注册root账户 | |||||
| -- 修改forge平台的 config/configuration.yml中的gitea服务指向地址,如: | |||||
| ```ruby | ```ruby | ||||
| gitea: | gitea: | ||||
| @@ -77,10 +79,9 @@ gitea: | |||||
| base_url: '/api/v1' | base_url: '/api/v1' | ||||
| ``` | ``` | ||||
| #### 6. 安装redis环境 | |||||
| **请自行搜索各平台如何安装部署redis环境** | |||||
| (6)安装redis环境:请自行搜索各平台如何安装部署redis环境 | |||||
| #### 7. 安装imagemagick插件 | |||||
| (7)安装imagemagick插件: | |||||
| - Mac OS X | - Mac OS X | ||||
| ```bash | ```bash | ||||
| brew install imagemagick ghostscript | brew install imagemagick ghostscript | ||||
| @@ -91,88 +92,89 @@ gitea: | |||||
| sudo apt-get install -y imagemagick | sudo apt-get install -y imagemagick | ||||
| ``` | ``` | ||||
| #### 8. 创建数据库 | |||||
| **开发环境为development, 生成环境为production** | |||||
| (8)创建数据库:开发环境为development, 生成环境为production | |||||
| ```bash | ```bash | ||||
| rails db:create RAILS_ENV=development | rails db:create RAILS_ENV=development | ||||
| ``` | ``` | ||||
| #### 9. 导入数据表结构 | |||||
| (9)导入数据表结构 | |||||
| ```bash | ```bash | ||||
| bundle exec rake sync_table_structure:import_csv | bundle exec rake sync_table_structure:import_csv | ||||
| ``` | ``` | ||||
| #### 10. 执行migrate迁移文件 | |||||
| **开发环境为development, 生成环境为production** | |||||
| (10)执行migrate迁移文件:开发环境为development, 生成环境为production | |||||
| ```bash | ```bash | ||||
| rails db:migrate RAILS_ENV=development | rails db:migrate RAILS_ENV=development | ||||
| ``` | ``` | ||||
| #### 11. clone前端代码 | |||||
| **将前端代码克隆到public/react目录下,目录结构应该是: public/react/build** | |||||
| (11)clone前端代码:将前端代码克隆到public/react目录下,目录结构应该是: public/react/build | |||||
| ```bash | ```bash | ||||
| git clone -b standalone https://git.trustie.net/jasder/build.git | git clone -b standalone https://git.trustie.net/jasder/build.git | ||||
| ``` | ``` | ||||
| #### 12. 启动redis(此处已mac系统为例) | |||||
| (12)启动redis(此处以macOS系统为例) | |||||
| ```bash | ```bash | ||||
| redis-server& | redis-server& | ||||
| ``` | ``` | ||||
| #### 13. 启动sidekiq | |||||
| **开发环境为development, 生成环境为production** | |||||
| (13)启动sidekiq:开发环境为development, 生成环境为production | |||||
| ```bash | ```bash | ||||
| bundle exec sidekiq -C config/sidekiq.yml -e production -d | bundle exec sidekiq -C config/sidekiq.yml -e production -d | ||||
| ``` | ``` | ||||
| #### 14. 启动rails服务 | |||||
| (14)启动rails服务 | |||||
| ```bash | ```bash | ||||
| rails s | rails s | ||||
| ``` | ``` | ||||
| #### 15. 浏览器访问 | |||||
| 在浏览器中输入如下地址访问: | |||||
| (15)浏览器访问:在浏览器中输入如下地址访问 | |||||
| ```bash | ```bash | ||||
| http://localhost:3000/ | http://localhost:3000/ | ||||
| ``` | ``` | ||||
| #### 16. 其他说明 | |||||
| 通过页面注册都第一个用户为平台管理员用户 | |||||
| ## 页面展示 | |||||
| (16)其他说明:通过页面注册以第一个用户为平台管理员用户 | |||||
| - 代码库 | |||||
|  | |||||
| ## 页面展示 | |||||
| - 项目列表 | |||||
| <center> | |||||
| <img src="https://code.gitlink.org.cn/young/forgeplus/raw/branch/master/docs/figs/project_list.png?raw=true" width=50% /> | |||||
| </center> | |||||
| - 代码仓库 | |||||
| <center> | |||||
| <img src="https://code.gitlink.org.cn/young/forgeplus/raw/branch/master/docs/figs/repo.png?raw=true" width=50% /> | |||||
| </center> | |||||
| - 任务管理 | - 任务管理 | ||||
|  | |||||
| - 任务查看 | |||||
|  | |||||
| - 任务指派 | |||||
| <center> | |||||
| <img src="https://code.gitlink.org.cn/young/forgeplus/raw/branch/master/docs/figs/issues.png?raw=true" width=50% /> | |||||
| </center> | |||||
| - 合并请求 | |||||
| <center> | |||||
| <img src="https://code.gitlink.org.cn/young/forgeplus/raw/branch/master/docs/figs/PR.png?raw=true" width=50% /> | |||||
| </center> | |||||
| - 引擎配置 | |||||
| <center> | |||||
| <img src="https://code.gitlink.org.cn/young/forgeplus/raw/branch/master/docs/figs/engine.png?raw=true" width=50% /> | |||||
| </center> | |||||
|  | |||||
| - 里程碑 | |||||
|  | |||||
| ### API | |||||
| - [API文档](https://forgeplus.trustie.net/docs/api) | |||||
| - [API](showdoc.com.cn) | |||||
| 账号:forgeplus@admin.com 密码:forge123 | |||||
| ## 贡献代码 | ## 贡献代码 | ||||
| 1. Fork 项目 | |||||
| 2. 创建本地分支(git checkout -b my-new-feature) | |||||
| 3. 提交更改 (git commit -am 'Add some feature') | |||||
| 4. 推送到分支 (git push origin my-new-feature) | |||||
| 5. 向源项目的 **develop** 分支发起 Pull Request | |||||
| 我们期待您向GitLink提交贡献!在您贡献时,请遵循流程:[【Wiki文档-GitLink协作开发流程】](https://www.gitlink.org.cn/Gitlink/forgeplus/wiki "【Wiki文档-GitLink协作开发流程】") | |||||
| #### 指导文档 | |||||
| - [API文档](https://www.gitlink.org.cn/docs/api) | |||||
| - [Git常用命令](https://git-scm.com/) | |||||
| ## License | |||||
| ## 许可证协议 | |||||