【发布时间】:2013-11-29 13:55:29
【问题描述】:
我正在使用 Travis 进行持续集成。但是,我的项目依赖于私有 Nexus 存储库。我宁愿不将 sbt 凭证签入我们的存储库。 Travis 确实支持encryption keys,但它们只影响环境变量。
如何让 Travis 对 Nexus 进行身份验证? sbt 似乎不支持来自环境变量的凭据。
https://github.com/sbt/sbt/blob/0.13/launch/src/main/scala/xsbt/boot/Update.scala#L56
似乎支持从环境变量指定凭据文件,或将凭据指定为系统属性。不幸的是,这似乎不适用于0.13。
sbt -Dsbt.boot.realm="Sonatype Nexus Repository Manager" -Dsbt.boot.host="www.there.com" -Dsbt.boot.user="deployment" -Dsbt.boot.password="password" aether-deploy
【问题讨论】:
-
你确定 Travis CI 使用的是 sbt 0.13 启动器吗?请记住,启动器版本不一定与实际启动的 sbt 版本相对应。理论上,旧的启动器可以启动新的 sbt 版本,反之亦然(尽管这并不总是有效)。
-
启动时运行
--version可以检测启动器版本。 -
@robin-green,不,我不确定。但是,我确定我在我的机器上使用的是 0.13,但它也不能在那里工作。