4.9 KiB
1. CodePedia相关
-
进入服务器:ssh root@120.132.101.149 -p 22011 密码: code123!
-
进入mysql服务器: mysql -uroot -pcodepedia123
- CodePedia的数据库为codepedia
-
CodePedia项目在线地址:https://www.trustie.net/projects/4418/repository/codepedia2/revisions/master/show
-
CodePedia项目服务器地址:/projects/codepedia/codepedia2
2. 启动服务
CodePedia的服务主要分为三个部分:
- 主要服务:CodePedia主系统
- 跟标注竞赛用户排名相关: Redis服务
- 跟代码跳转、文件结构树相关的:OpenGrok服务
2.1 CodePedia主系统启动
- 启动步骤:
codepediahome
#进入codepedia项目根目录service nginx start
#启动nginxcodepediarun
#启动codepedia
如果暂时关闭codepedia系统,执行 service nginx stop
- 校验方法
打开http://codepedia.trustie.net,如果能正常打开,则为启动成功。
2.2 Redis服务启动
默认情况下Redis应该是已经启动了的,建议先校验
- 启动步骤:
cd /redis-stable
#进入Redis根目录nohup redis-server &
#后台运行Redis服务
- 校验方法
在终端输入: redis-cli
,如果进入了127.0.0.1:6379>
则表示启动成功。
2.3 OpenGrok服务启动
OpenGrok服务是借助Tomcat部署的,启动OpenGrok实际上是启动Tomcat
- 启动步骤:
cd /opt/tomcat/bin/
#进入Tomcat的bin目录./startup.sh
#启动Tomcat服务
- 校验方法
在浏览器打开: http://codepedia.trustie.net:8080
,如果正常进入现实Tomcat,则表示启动成功
3. 上传新的开源项目到CodePedia平台
- 在服务器上克隆开源项目: 登录服务器,在
/opt/opengrok/source/
下将项目clone下来 - 使用OpenGrok构建索引:
cd /opt/opengrok/ && java -Xmx524m -jar lib/opengrok.jar -W "/opt/opengrok/data/configuration.xml" -P -S -v -s "/opt/opengrok/source" -d "/opt/opengrok/data"
- 将开源项目的信息写入数据库:
- 打开浏览器进入 http://codepedia.trustie.net/projects/new/
- 填写表格,然后提交。请注意:
- 工程名字请务必保持与/opt/opengrok/source的项目名字保持一致
- 工程路径和工程名字一致(建议自己优化一下)
- 描述可以填写Github上项目自己的描述
- 提交后,不要关闭页面, 等待直到页面完成跳转(此间会在后台一直开源项目的信息写入数据库,不要关闭的原因是防止表单重复提交)
4. 设置竞赛项目和竞赛文件
4.1 竞赛策略说明:
策略 | 说明 |
---|---|
0 | 注释所有人可见 |
1 | 注释仅用户自己可见 |
2 | 注释仅组内用户可见 |
一般而言,我们只会用到0和2
4.2 竞赛项目、竞赛文件、竞赛策略设置
这个方式建议在上传新的竞赛开源项目后就设置完毕。示例:
上例将项目名为tensorflow
下的/tensorflow/core/kernels/rnn
下的所有文件设置为竞赛文件也就是对应了
http://codepedia.trustie.net/projects/tensorflow/tensorflow/core/kernels/rnn.
并且该竞赛项目的策略为2,也就是组内用户可见。
注意:path设置为http://codepedia.trustie.net/projects/project-name后面的部分哟,要以/
开始。
而一般我们需要修改project_name
、strategy
以及path
这三个参数。
4.3 竞赛策略改变之数据库操作
初始化时还是使用4.2的方式,但是可能由于随着比赛的进行,竞赛策略会发生变化,建议直接修改数据库。(也可以写一个定时脚本定时修改,这个更方便)
对应数据库为: AnotationStrategy
5. 服务器迁移
1. 迁移开发环境
-
anaconda 环境迁移
建议直接将所有包迁移过去,而不要在线安装(但是直接拷贝肯定不行,因为有些包直接通过pip install -r requirement会安装不成功)
- 可能有用的链接: https://blog.csdn.net/qq_30006593/article/details/89647937
- 部分包的安装间项目根目录下的
安装文档.md
-
tomcat环境迁移
建议直接将tomcat整个文件夹全部拷贝过去,因为里面有调用的OpenGrok的Java服务
-
redis环境迁移
建议直接将redis整个文件夹全部拷贝过去,因为直接就能用
-
opengrok环境迁移
建议直接将opengrok直接拷贝过去,并也放在/opt/opengrok目录下。因为CodePedia项目中依赖当前的/opt/opengrok这个绝对路径
-
mysql环境迁移
建议迁移时保持原来的数据库用户和密码,否则需要修改CodePedia项目中数据库的配置
-
nginx和uwsgi迁移
暂时保留(有点不记得了)
将所有开发环境迁移之后,需要按照第2小节启动服务的步骤,才能正常使用系统。