我们希望使用公司内部常春藤/ maven存储库(artifactory)来提高解析速度和下载jar文件,并且我们还希望使用它来交换组织中不同团队之间的二进制jar文件.
我知道我们可以通过设置强制SBT去通过代理~/.repositories
与
[repositories]
local
my-ivy-proxy-releases: http://repo.alpinenow.com/artifactory/repo/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
my-maven-proxy-releases: http://repo.alpinenow.com/artifactory/repo/
Run Code Online (Sandbox Code Playgroud)
然后启动SBT -Dsbt.override.build.repos=true
.这种方法适合我.
但是,要求所有开发人员以这种方式设置是很麻烦的.我们想知道我们是否可以在Build.scala和plugin.sbt中完全覆盖默认的解析器而无需额外的配置.
到目前为止,我已经尝试了以下方法但没有成功.
1)在Build.scala和plugin.sbt中,我补充道
resolvers := "Local Repo" at "http://repo.alpinenow.com/artifactory/repo/",
externalResolvers := Seq(Resolver.url("Local Repo", url("http://repo.alpinenow.com/artifactory/repo"))(Resolver.ivyStylePatterns)),
Run Code Online (Sandbox Code Playgroud)
但它仍然从typesafe和maven1下载罐子.
2)然后我决定将存储库文件放入项目文件夹,并尝试直接在plugin.sbt和Build.scala中添加java选项
System.setProperty("-Dsbt.override.build.repos", "true"),
System.setProperty("-Dsbt.repository.config", "project/repositories"),
Run Code Online (Sandbox Code Playgroud)
但它仍然无效.我很好奇SBT获得解析器的java选项,因为很明显,它是在plugin.sbt和Build.scala之前.
任何的想法?
谢谢.
DB蔡
Artifactory为本地库提供了两个预定义的存储库:
libs-release-local
:内部库的本地存储库libs-snapshot-local
:内部快照的本地存储库Artifactory的Gradle脚本生成器可以使用artifactory
Gradle插件生成一个脚本,该脚本仅使用一个存储库进行工件发布.
这是一个例子(只有相关部分):
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'libs-release-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
resolve {
repository {
repoKey = 'libs-release'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想配置为使用该插件libs-release-local
或libs-snapshot-local
基于版本库(即,如果版本结尾-SNAPSHOT
,然后发布到libs-snapshot-local
).
我看到这是可能使用摇篮的集成maven
插件(见snapshotRepository
的元素mavenDeployer
在uploadArchives
任务),但是这个功能在似乎不可用artifactory
插件.
有没有办法实现这个理想的行为?
Docker引擎中的"Docker注册表"是否类似于Nexus/Artifactory?它们之间有什么相似之处和不同之处?如果我们已经拥有Nexus,我们可以使用它作为Docker注册表的替代方案并将其插入Docker引擎吗?
有人可以帮我清除这个吗?
我在哪里可以找到有关Maven存储库的Maven索引中包含的内容的更多详细信息?哪里可以找到有关这一切如何运作的更多细节?我对maven-indexer有点熟悉,但我仍有一些灰色斑点......
解压缩和压缩索引有什么区别?
Maven代理存储库是否只具有远程索引,还是它还保留了当前在本地缓存的工件的索引?
我正在研究这个主题,并且遗憾的是,很少有关于它的文档.
我遇到了 docker 的问题。场景是这样的:我们使用Codebuild+Packer+docker创建AMI,用于deploy。在这一步中,我们从工件中提取图像,并且除了提取 > 1Gb 的层之一外,一切都很好。多次重试后失败并显示错误:下载失败,重试:未知 blob,然后是“意外的 EOF”。你遇到过这样的问题吗?任何意见或建议都非常感谢。
我的公司使用 Artifactory 来存储其工件,当我尝试下拉图像时遇到此错误。
当我运行时docker compose up -d
出现错误,Error response from daemon: unauthorized: The client does not have permission for manifest
我不知道该怎么办。我被引导到这篇文章,但它没有做任何事情:K8s Image Pull from Private Artifactory 和 https://github.com/kubernetes-sigs/kustomize/issues/1420
但还是没有成功
具体来说 -> 我的 travis.yml 文件中 before_install: 部分中的“npm config set always-auth true”在 Travis 中给出错误:“npm ERR!always-auth
不是有效的 npm 选项”
我尝试过以下变化。
npm config set always-auth true npm config set always-auth=true npm config setregistry:always-auth true // 我事先设置了注册表 npm config setregistry:always-auth=true
这些都在 travis 中给出了相同的错误。
我可以下载最新的Artifactory OSS版本(5.2.1),但我似乎无法找到它的源代码.
Artifactory文档链接到https://api.bintray.com/content/jfrog/artifactory/jfrog-artifactory-oss-$latest-sources.tar.gz;bt_package=jfrog-artifactory-oss-zip,但没有来源在那个地址.
有谁知道真正的URL是什么,或者是否有可以克隆的公共svn或git repo?
我们公司使用Artifactory存储库来存储内部发布的包,并作为NPM注册表的代理.有时resolved
lockfiles/shrinkwrap文件中的字段是预期的,包含我们内部存储库的URL,但有时它们会显示为这样的内容(为了清晰起见,添加了换行符):
https://our.repository.com/artifactory/api/npm/some-repo/lodash/-/lodash-3.10.1.tgz
?dl=https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz
Run Code Online (Sandbox Code Playgroud)
然后,从拉取请求到拉取请求,这些dl
参数不断地振荡到存在或移除,这取决于哪个开发者做了npm install
,导致大量拉取请求和提交噪声.
我猜这是Artifactory添加了这个dl
参数,因为我没有在npm代码库中的代码搜索中看到它.
为什么会这样?我们可以禁用此行为吗?将此参数作为postshrinkwrap
脚本解决方法剥离是否安全?