有问题吗?想要报告问题?联系JFrog支持

跳到元数据的末尾
进入元数据的开始

概述

Artifactory提供了与sbt的集成,允许您配置它来解析依赖关系,并将构建输出部署到sbt存储库。你所需要做的就是对你的build.sbt配置文件。

配置

局部存储库

本地sbt存储库用作目标,您可以在其中部署数据库的输出build.sbt脚本。要创建sbt存储库,请设置包类型SBT

SBT包装类型

页面内容

远程存储库

一个远程存储库作为在远程URL上管理的注册表的缓存代理。

从远程存储库请求的工件(如JAR文件)将根据需要缓存。您可以从远程存储库缓存中删除下载的构件,但是,您不能手动将构件部署到远程SBT存储库。

要定义远程sbt存储库来代理远程sbt注册表,请遵循以下步骤:

  1. 管理模块,在存储库|远程,单击“新”。
  2. 在“新建存储库”对话框中,设置包类型SBT,设置库的关键属性中指定远程注册中心的URLURL字段如下所示:
    创建新的远程SBT存储库
  3. 点击“保存并完成”

配置远程sbt存储库所需的参数与用于Maven存储库的参数相同。详情请参阅类型特定的基本设置远程存储库

虚拟存储库

Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。
这允许您从为虚拟存储库定义的单个URL访问本地托管的jar和远程代理的sbt注册中心。
若要定义虚拟sbt存储库,请创建虚拟存储库,设置包类型成为SBT的基础本地和远程SBT存储库基本设置选项卡。

新的SBT虚拟存储库

单击“Save & Finish”创建存储库。

配置虚拟sbt存储库所需的参数与用于Maven存储库的参数相同。详情请参阅虚拟存储库

配置sbt

要配置sbt以通过Artifactory中定义的sbt存储库解析和部署工件,只需在Tree Browser中选择一个sbt存储库并单击给我介绍.Artifactory将显示您可以在相关sbt文件中使用的代码片段。

介绍我参加SBT

配置代理存储库

要将Artifactory中定义的存储库配置为sbt的代理存储库,请将下面的代码片段添加到您的~ / .sbt /存储库文件。

[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/

分别代理Maven和Ivy存储库

我们建议使用不同的存储库来代理Maven和Ivy存储库,作为中描述的最佳实践代理Ivy存储库SBT参考手册

要指定在sbt项目中添加的所有解析器都应该被忽略,而应该忽略那些在存储库配置中配置的解析器,请在sbt启动脚本中添加以下配置选项:

-Dsbt.override.build.repos = true

您还可以将此设置添加到您的/usr/local/etc/sbtopts

有关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并且可以自由分叉。

  • 没有标签