问题标签 [artifactory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 将python包鸡蛋存放在神器中是个好主意吗?
目前我正在开发自动化测试框架。这个测试框架有不同的包。这些包将在不同的项目中引用,并且可以由开发人员在本地进行修改。我想管理python包鸡蛋。我正在考虑使用 Artifactory。我试图为 Python 寻找 Artifactory 帮助,但我找不到任何有用的东西。
我应该使用 Artifactory 还是 PIP ?
编辑:
python中是否有任何方法或命令可以帮助我将鸡蛋放入神器中?
python - 如何使用python将任何文件放入工件中?
我有一个要求,任何文件都应该使用 python 语言放入工件中。我试图在整个互联网上搜索,但找不到任何帮助。
请分享代码片段或可以帮助我实现这一目标的东西。
非常感谢您提供任何帮助。
gradle - Gradle脚本无法解析工件
我正在使用 Gradle 访问 Artifactory。Artifactory 具有特定的依赖关系,但不知何故 gradle 无法向 Artifactory 发送任何请求。即使我试图清理缓存并运行gradle build
命令来获取文件。但我没有取得任何成功。通过 gradle.build 文件如下。
每当我运行 gradle 脚本时,它都会失败并出现以下异常和堆栈跟踪。
一件非常奇怪的事情是,相同的脚本文件在另一台机器上工作,但在我的机器上却不起作用,即使另一台机器具有相同的配置和设置。
我试图在互联网上搜索,但无法获得任何帮助。任何形式的帮助都非常感谢这里。
scala - 让 Maven 和 SBT 都使用本地 Artifactory-server
我需要让 Maven 和 SBT 都使用本地 Artifactory-server,它是唯一具有 Internet 连接的机器。服务器、CI 机器等无法访问外部世界。
尤其是 SBT,我的头发变白了。
连接到 Artifactory 的 SBT 问题
使用 0.11.[0..3] 我可以通过以下方式 SBT 访问 Artifactory:
- 解压 sbt-launcher.jar
- 获取 sbt.boot.properties 并将其复制到某处
- 编辑 sbt.boot.properties 以仅包含“本地”存储库和我们的 Artifactory 服务器
对于 0.12 或 0.13 版本,我没有运气。我已经尝试过这里的说明:https ://github.com/harrah/xsbt/pull/472 。所以我做了以下工作:
- 我自己建立了 SBT
- 我已将“存储库”文件放入 ~/.sbt/
“存储库”文件包括:
[repositories]
local
ivy-proxy: http://devserver:8081/artifactory/repo/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]
maven-proxy: http://devserver:8081/artifactory/repo/
我在 SBT 的启动命令中包含了“-Dsbt.override.build.repos=true”,现在看起来像这样:
java -Xms1536m -Xmx1536m -XX:MaxPermSize=384m -XX:ReservedCodeCacheSize=192m -Dsbt.override.build.repos=true -Dsbt.global.base=/Users/amjr/.sbt/0.13.0-SNAPSHOT -jar /Users/amjr/.bin/.lib/0.13.0-SNAPSHOT/sbt-launch.jar
但是 0.12 和 0.13 拒绝访问 Artifactory,而是尝试直接连接到 typesafe、maven central 等。
SBT确实访问它时的工件和问题
现在对于 0.11 系列的 SBT,我可以让它连接到 Artifactory。然后是 SBT 无法找到编译项目所需的包的问题。这是示例:
这显然与 Artifactory 配置有关。如果有人有任何指示我应该如何以及应该使用 Artifactory 代理哪些存储库以便成功地将它与 SBT 一起使用,我将不胜感激。
ivy - Ivy/Maven Resolve:不要拉传递“提供”的罐子
我在我的项目中使用 Ivy,但我们使用 Artifactory 作为我们的 jar 存储库。我实际上使用<ivy:makepom>
Ant 任务来创建 Maven pom.xml
,因此我可以通过 Maven deploy:deploy 工作流将 jars 和 war 部署回我的 Maven 存储库。
我构建了一个名为的大 jar common-all.jar
,它的编译需要大约 30 个 jar。我指定了大约 10 个 jar,Ivy 拉下依赖项。作为编译过程的一部分,我指定了 log4j jar 和一些 JBoss jar。当然,这些罐子将由我们的环境提供。
有了这个Jar,我也打了一堆。我将 指定common-all.jar
为我的依赖项的一部分,并且common-all.jar
需要的 30 个罐子也被拉下。一切都很好。
问题是当我建立战争时。我不希望将 JBoss jar 或 log4j jar 作为战争的一部分。这些将由环境提供。我已将它们标记为pom.xml 文件中提供的内容。当我建立common-all.jar
.
现在,问题是我如何在编译战争代码时指定我想要这些,但我不想将它们包含在我的战争本身中。
这是我的ivy.xml
文件示例。
如何指定common-all.jar
编译需要某些特定的 jar,但是当我在战争中构建它时,我不想要所有这些 jar
java - Maven 如何与不同的存储库交互?
Maven 如何与 Nexus 和 Artifactory 等不同的存储库交互?
是使用他们的 REST API 完成的吗?可以将依赖工件解析到实际位置以使用这些 API 获取它们,但是这两个 API 彼此有些不同(据我所知[Artifactory] [Nexus])和 Maven pom 文件中的存储库定义元素不包含用于说明存储库类型的属性。
那么 Maven 是如何将 artifact 的 groupId、artifactId 和 version 解析为不同存储库中的实际文件的呢?这些存储库是否实现了其他一些标准化 API,使 Maven 能够以与存储库无关的方式从它们请求文件?
artifactory - Artifactory 远程仓库和 Terracota
我想设置我的 maven settings.xml 文件以从 Artifactory 缓存下载所有外部依赖项,而不是直接从任何公共存储库(如 repo1、repo2 或 Jboss)下载它们。我按照http://wiki.jfrog.org/confluence/display/RTF/Configuring+Artifacts+Resolution上的说明进行操作,但我遇到了 terracota 库的错误,错误是:
我尝试在远程存储库部分添加 terracota 存储库,但这也不起作用。
请指教。
maven - Maven 覆盖所有存储库
我将我的 pom 配置为覆盖中央存储库和快照。但是,一些依赖项具有自己的 pom 设置和自己的存储库,并且这些依赖项倾向于访问 Web。
例如,grizzly 设置 glassfish 存储库。ActiveMQ 设置 jboss 等。
我可以设置类似 - 覆盖所有存储库以转到我自己的存储库吗?
artifactory - 工件是否支持同一工件的多个版本?
假设我有工件“mylibrary-5.2.jar”和“mylibrary-5.3.jar”代表我们的项目为我们的其他项目之一创建和发布的库的 5.2 和 5.3 版本。
Artifactory 是否支持拥有每个这些工件的多个“版本”来表示在发布期间执行的不同构建以构建此工件?
例如,为了生成“mylibrary”的 5.2 版本(即工件:mylibrary-5.2.jar )的最终版本,我们进行了 3 次构建,以获得通过了集成环境自动化测试和用户验收测试的版本。
因此,有三个独立的构建为 5.2 版生成了三个独立的工件。我们希望能够保留并可能在以后调用这些不同构建的工件(用于测试等)。
为了做到这一点,以下哪个选项会起作用?
将工件捕获为单独的工件,即 build-5.2-b1.jar(构建 1 的工件)、build-5.2-b2.jar(构建 2 的工件)、build-5.2-b3.jar(构建 3 的工件)和 build- 5.2.jar(最终生产版本;与构建 3 匹配)
捕获一个名为“build-5.2.jar”的单个工件,该工件具有捕获构建 1 到 3 的工件的版本,并且可以稍后按版本号调用。
- 我们没有考虑过的其他一些选择,但应该
ant - 在 Artifactory 中创建本地存储库
我刚刚开始在我们公司安装 Jenkins 以及 Artifactory 和 Ivy。
Jenkins 将调用我们的 ant 构建脚本,然后这些脚本将转向 Ivy 从本地 repo 中检索 jars(仅)。
我们希望有 2 个本地存储库:1 个用于我们的本地工件,1 个用于 3rd 方 jars。
我们的目的是确保开发人员仅检索已在 Artifactory 中由管理员“批准”的第 3 方 jar。
然后构建脚本将从本地存储库中获取。
所以我的问题是:我们如何设置本地存储库以包含构建的工件?如果 Artifactory 无法访问互联网,它如何检索第 3 方罐子?
有没有更好的方法来做到这一点?