forked from Trustie/forgeplus
214 lines
7.0 KiB
Markdown
214 lines
7.0 KiB
Markdown
# 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代码的溯源分析、文件级和组件级许可证识别及风险分析、输入性开源漏洞检测和加固建议,支持分析结果的多层次可视化展示,帮助您实施有效开源治理,厘清代码引用链,发现并消除漏洞感染链,为安全合规的开源引用保驾护航!
|
||
|
||
- **多维度用户画像**:实时采集和分析平台中的各类开源资源数据,搭建多维度用户画像评估系统,提供开发活动统计、贡献度日历、用户能力建模、角色与专业定位分析等功能,让您在个人主页展示开发动态与创新能力!
|
||
|
||
|
||
## 部署流程
|
||
|
||
|
||
### 依赖库
|
||
|
||
* Ruby 2.4.5
|
||
|
||
* Rails ~> 5.2
|
||
|
||
* MySql ~> 5.6
|
||
|
||
* Redis 5+
|
||
|
||
* imagemagick
|
||
|
||
### 步骤
|
||
(1)安装 Rails 必要的一些三方库:
|
||
- Mac OS X
|
||
```bash
|
||
brew install imagemagick ghostscript libxml2 libxslt libiconv
|
||
```
|
||
|
||
- Ubuntu
|
||
```bash
|
||
sudo apt-get update
|
||
sudo apt-get install -y openssl libssl-dev imagemagick git ruby-dev nodejs libmariadb-dev libmysqlclient-dev shared-mime-info libpq-dev libxml2-dev libxslt-dev
|
||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y tzdata
|
||
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||
```
|
||
|
||
(2)安装 Ruby, Rails 运行环境:[如何快速正确的安装 Ruby, Rails 运行环境](https://ruby-china.org/wiki/install_ruby_guide)
|
||
```bash
|
||
#检验环境是否正确
|
||
ruby -v
|
||
#ruby 2.4.x ...
|
||
|
||
gem -v
|
||
#3.x.x
|
||
|
||
bundle -v
|
||
#Bundler version 2.x.x
|
||
|
||
rails -v
|
||
#Rails 5.2.x
|
||
```
|
||
|
||
(3)克隆稳定版本
|
||
```bash
|
||
git clone -b master https://gitlink.org.cn/Gitlink/forgeplus.git
|
||
```
|
||
|
||
(4)安装依赖包
|
||
```bash
|
||
#进入目录
|
||
cd forgeplus
|
||
#删除Gemfile.lock
|
||
rm -rf Gemfile.lock
|
||
#安装依赖包
|
||
bundle install
|
||
```
|
||
|
||
(5)配置初始化文件:进入项目根目录执行以下命令
|
||
```bash
|
||
cp config/configuration.yml.example config/configuration.yml
|
||
cp config/database.yml.example config/database.yml
|
||
touch config/redis.yml
|
||
touch config/elasticsearch.yml
|
||
```
|
||
|
||
(6)配置数据库:数据库配置信息请查看/config/database.yml文件,项目默认采用mysql数据库, 如需更改,请自行修改配置信息,默认配置如下
|
||
```yaml
|
||
default: &default
|
||
adapter: mysql2
|
||
host: 127.0.0.1
|
||
encoding: utf8
|
||
username: root
|
||
password: 123456
|
||
```
|
||
|
||
(7)配置gitea服务(可选):如需要部署自己的gitea平台,请参考[gitea官方平台文档](https://docs.gitea.io/zh-cn/install-from-binary/)。因目前gitea平台api受限,暂时推荐从forge平台获取[gitea部署文件](https://www.gitlink.org.cn/Gitlink/gitea-binary)进行部署
|
||
|
||
- 配置gitea服务步骤:
|
||
|
||
-- 部署gitea服务,并注册root账户
|
||
|
||
-- 修改forge平台的 config/configuration.yml中的gitea服务指向地址,如:
|
||
|
||
```yaml
|
||
gitea:
|
||
access_key_id: 'root'
|
||
access_key_secret: 'password'
|
||
domain: 'http://www.gitea.example.com'
|
||
base_url: '/api/v1'
|
||
hat_base_url: '/api/hat'
|
||
```
|
||
|
||
(8)配置/config/database.yml文件(安装redis环境:请自行搜索各平台如何安装部署redis环境)
|
||
```yaml
|
||
default: &default
|
||
url: redis://localhost:6379
|
||
db: 1
|
||
|
||
production:
|
||
<<: *default
|
||
url: redis://localhost:6379
|
||
```
|
||
|
||
(9)创建数据库:开发环境为development, 生成环境为production
|
||
```bash
|
||
rails db:create RAILS_ENV=development
|
||
```
|
||
|
||
(10)导入数据表结构
|
||
|
||
```bash
|
||
bundle exec rake sync_table_structure:import_csv
|
||
```
|
||
|
||
(11)执行migrate迁移文件:开发环境为development, 生成环境为production
|
||
```bash
|
||
rails db:migrate RAILS_ENV=development
|
||
```
|
||
|
||
(12)clone前端代码:将前端代码克隆到public/react目录下,目录结构应该是: public/react/build
|
||
```bash
|
||
git clone -b master https://gitlink.org.cn/Gitlink/build.git
|
||
```
|
||
|
||
(13)启动redis(此处以macOS系统为例)
|
||
```bash
|
||
redis-server&
|
||
```
|
||
|
||
(14)启动sidekiq:开发环境为development, 生成环境为production
|
||
```bash
|
||
bundle exec sidekiq -C config/sidekiq.yml -e production -d
|
||
```
|
||
|
||
(15)启动rails服务
|
||
```bash
|
||
rails s
|
||
```
|
||
|
||
(16)浏览器访问:在浏览器中输入如下地址访问
|
||
```bash
|
||
http://localhost:3000/
|
||
```
|
||
|
||
(17)其他说明:通过页面注册以第一个用户为平台管理员用户
|
||
|
||
|
||
## 页面展示
|
||
|
||
- 项目列表
|
||
|
||
<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>
|
||
|
||
|
||
## 贡献代码
|
||
|
||
我们期待您向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/)
|
||
|
||
## 许可证协议
|