使用Artifactoryx ?
JFrog Artifactoryx用户指南
有问题吗?想要报告问题?联系JFrog支持
概述
Artifactory提供了与sbt的集成,允许您配置它来解析依赖关系,并将构建输出部署到sbt存储库。你所需要做的就是对你的build.sbt
配置文件。
配置
局部存储库
本地sbt存储库用作目标,您可以在其中部署数据库的输出build.sbt
脚本。要创建sbt存储库,请设置包类型来SBT.
远程存储库
一个远程存储库作为在远程URL上管理的注册表的缓存代理。
从远程存储库请求的工件(如JAR文件)将根据需要缓存。您可以从远程存储库缓存中删除下载的构件,但是,您不能手动将构件部署到远程SBT存储库。
要定义远程sbt存储库来代理远程sbt注册表,请遵循以下步骤:
- 在管理模块,在存储库|远程,单击“新”。
- 在“新建存储库”对话框中,设置包类型来SBT,设置库的关键属性中指定远程注册中心的URLURL字段如下所示:
- 点击“保存并完成”
配置远程sbt存储库所需的参数与用于Maven存储库的参数相同。详情请参阅类型特定的基本设置下远程存储库.
虚拟存储库
Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。
这允许您从为虚拟存储库定义的单个URL访问本地托管的jar和远程代理的sbt注册中心。
若要定义虚拟sbt存储库,请创建虚拟存储库,设置包类型成为SBT,的基础本地和远程SBT存储库基本设置选项卡。
单击“Save & Finish”创建存储库。
配置虚拟sbt存储库所需的参数与用于Maven存储库的参数相同。详情请参阅虚拟存储库.
配置sbt
要配置sbt以通过Artifactory中定义的sbt存储库解析和部署工件,只需在Tree Browser中选择一个sbt存储库并单击给我介绍.Artifactory将显示您可以在相关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/
要指定在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并且可以自由分叉。