Skip to content
oldpig edited this page Mar 22, 2015 · 4 revisions

从源码编译打包

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.

sbt 配置

为了充分发挥repox的优势,在开发者本机上需要做两件事。

  1. 配置 ~/.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]
    
  2. 配置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 
    
Clone this wiki locally