远程存储库
一个远程存储库作为在远程URL上管理的注册表的缓存代理。
从远程存储库请求的工件(如JAR文件)将根据需要缓存。您可以从远程存储库缓存中删除下载的构件,但是,您不能手动将构件部署到远程SBT存储库。
要定义远程sbt存储库来代理远程sbt注册表,请遵循以下步骤:
- 在政府模块,在存储库|存储库|远程存储库,点击新的远程存储库.
- 在“新建存储库”对话框中,设置包类型来SBT,设置库的关键属性中指定远程注册中心的URLURL字段如下所示:
- 点击保存&完成.
配置远程sbt存储库所需的参数与用于Maven存储库的参数相同。详情请参阅远程存储库.
虚拟存储库
Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。
这允许您从为虚拟存储库定义的单个URL访问本地托管的jar和远程代理的sbt注册中心。
要定义虚拟sbt存储库,请从政府模块,转到存储库|存储库|虚拟,设置包类型对sbt,的基础本地和远程SBT存储库基本设置选项卡。
点击保存&完成创建存储库。
配置虚拟sbt存储库所需的参数与用于Maven存储库的参数相同。详情请参阅虚拟存储库.
配置SBT
要配置sbt以通过Artifactory中定义的sbt存储库解析和部署工件,只需在应用程序模块,执行|Artifactory|工件|工件存储库浏览器并点击给我介绍.Artifactory将显示您可以在相关sbt文件中使用的代码片段。
配置代理存储库
要将Artifactory中定义的存储库配置为sbt的代理存储库,请将下面的代码片段添加到您的~ / .sbt /存储库
文件(C:\Users\ %用户名% \ .sbt \存储库
在Windows上)。
[repositories] local my-ivy-proxy-releases: http://: /artifactory/ /, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier])。[ext] my-maven-proxy-releases: http:// : /artifactory/ /
在哪里<主机>:<端口>
是Artifactory正在运行的主机URL和端口。
例如,如果您在本地机器上的端口8081上运行Artifactory,并且希望通过名为sbt-ivy-proxy
,并通过名为sbt-maven-proxy
你可以用:
[repositories] local my-ivy-proxy-releases: http://localhost:8081/artifactory/sbt-ivy-proxy/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier])。[ext] my-maven-proxy-releases: http://localhost:8081/artifactory/sbt-maven-proxy/
要指定在sbt项目中添加的所有解析器都应该被忽略,而应该忽略那些在存储库配置中配置的解析器,请在sbt启动脚本中添加以下配置选项:
-Dsbt.override.build.repos = true
您还可以将此设置添加到您的/usr/local/etc/sbtopts
(C:\Program Files (x86)\sbt\conf\sbtopts
在Windows上)
有关sbt代理存储库的详细信息,请参见代理库在SBT参考手册.
配置工件解析
要通过Artifactory解析工件,只需将以下代码片段添加到您的build.sbt
文件:
resolvers += "Artifactory" at "http://: / Artifactory / /"
在哪里<主机>:<端口>
是运行Artifactory的主机URL和端口,repo-key是您解析工件的Artifactory存储库
部署的工件
要将SBT构建构件部署到Artifactory中的存储库,请将以下代码片段添加到您的build.sbt
文件。
为版本中,添加:
publishTo:= Some("Artifactory Realm" at "http://: / Artifactory / ") credentials += credentials ("Artifactory Realm", " ", " ", " ")
为快照,添加:
publishTo:= Some("Artifactory Realm" at "http://: / Artifactory / ;timestamp=" + new java.util.Date().getTime) credentials += Credentials("Artifactory Realm", " ", " ", " ")
在哪里<主机>:<端口>
是运行Artifactory的主机URL和端口,repo-key是将工件部署到其中的Artifactory存储库。
示例项目
一个使用Artifactory的示例sbt项目可以在GitHub并且可以自由分叉。