-
Notifications
You must be signed in to change notification settings - Fork 89
Getting Started
repox暂时没有发布二进制包,只能从源码编译。
$ git clone https://github.com/Centaur/repox.git
$ cd repox/src/main/resources/admin
$ bower install
$ cd ../../../..
$ sbt assembly
上述中的bower
依赖于node.js和npm,因此需要先安装node.js。
sbt将会在target/scala-2.11/
目录下生成 repox-assembly-$VERSION.jar
$ java -Xmx512m -jar repox-assembly-$VERSION.jar
repox监听所有网络接口上的8078端口。
repox缓存的文件保存在 ~/.repox/storage
目录下,配置数据保存在 ~/.repox/journal
目录下,日志文件是 ~/.repox/repox.log
因此如果要备份数据,只需要备份 ~/.repox
目录即可。
以下假设repox部署在192.168.0.120这台服务器上。
repox使用akka-persistence
来保存配置信息(这当然不是必须的,repox用这个场景demo了akka-persistence
的用法)。
从浏览器连接 http://192.168.0.120:8078/admin/admin.html
通过web界面对repox进行配置。从这里开始
Repox的初衷是为了供个人或组织内使用,因此没有规划登录认证功能,后来为了保护广谈Repox公服(位于 http://114.80.200.226:8078/ ),添加了登录密码。默认密码为zhimakaimen
.
为了充分发挥repox的优势,在开发者本机上需要做两件事。
-
配置
~/.sbt/repositories
文件(如果文件还未创建过,则创建它),除了本地缓存外,仅使用repox作为仓库。文件内容如下:[repositories] local repox-maven: http://192.168.0.120:8078/ repox-ivy: http://192.168.0.120:8078/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
-
配置sbt,使它仅使用
~/.sbt/repositories
中的内容。
-
如果你使用命令行,请在sbt命令行参数中添加
-Dsbt.override.build.repos=true
。例如我的sbt shell脚本的内容是这样的:#!/bin/sh export SBT_OPTS="-Dsbt.override.build.repos=true" exec java -Xmx512M ${SBT_OPTS} -jar $(dirname "$0")/sbt-launch.jar "$@"
-
如果使用jetbrains IDEA,修改
Preferences -> SBT -> JVM Options -> VM parameters
,保证它包含-Dsbt.override.build.repos=true