- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人向我解释过,如果你想让 Artifactory 管理你的存储库(我就是这样做的),并且如果你不想自己手写你自己的 Ivy 描述符(我不这样做),那么你的选项是:
仔细权衡我的选择后,我决定编写一个 Python 脚本来生成这些描述符。我会将希望部署/安装到存储库的所有 Artifactory 放入 deploy/
文件夹中,并且脚本将迭代在此文件夹中找到的任何 Artifactory ,向用户查询有关它的信息,然后在脚本内为我执行部署。
虽然最后一个要求不是强制性的,但如果脚本能够访问 Artifactory 的 RESTful API 并在正确的位置为我部署描述符和 Artifactory ,那就太好了。
This page解释了 API,这也是我问题的主题。
API 公开的唯一基于 PUT
的操作是:
PUT http://localhost:8080/artifactory/<repo>/<organization>/<module>/<version>/<artifact>:sample-metadata
<xml-metadata-content/>
此操作的说明是:
Attach the XML metadata to an item (file or folder).
这是我正在寻找的吗?例如,如果我有一个名为 my-utils-2.3.jar
的 jar,那么我希望能够将其放在 deploy/
目录中,让我的脚本不仅生成 my-utils-2.3-ivy.xml
,而且将这两个项目部署到我的存储库:正确的位置(在本例中为 http://localhost:8080/artifactory/my-repo/my/utils/2.3/
)。
如果这不是我想要的,那么 Artifactory 的 API 是否支持我想要的(相关文档在哪里!)?
而且,如果这是我正在寻找的内容,那么我有第二个与安全相关的问题。我想保证我所有存储库的安全。理想情况下,执行此 Python 脚本的用户必须提供 Artifactory admin
用户名和密码才能成功执行部署。
但是在此操作的定义中我没有看到任何对身份验证的支持!我是否可以假设 Artifactory 不验证 REST 调用?!?
提前致谢!
编辑:
我在 Artifactory/Users 老 nabble 论坛上找到了以下示例:
curl -X PUT -u user:password --data-binary @/absolute/path/my-utils-2.3.jar "http://localhost/artifactory/my-repo/my/utils/2.3/"
这就是我正在寻找的吗?这样,我可以将 PyCurl 用于curl/libcurl 接口(interface),并且仍然实现安全性。如果是这样,那么为什么要求我通过curl而不是Artifactory进行身份验证?
最佳答案
Artifactory 对所有 REST 调用使用 HTTP BASIC 身份验证。您提到的curl示例将不起作用,因为您需要指定文件的完整目标路径(当前命令将仅在Artifactory中(重新)创建目录并忽略文件流)。您应该使用:
curl -XPUT -f -uadmin:password --data-binary @/absolute/path/my-utils-2.3.jar "http://localhost/artifactory/my-repo/my/utils/2.3/my-utils-2.3.jar"
但是,您可以使用 Ivy 通过 IBiblio resolver 直接从第 3 方 Maven 存储库进行解析。 (参见“usepoms”),或者使用convertpom自动将poms转换为ivy描述符。任务。
Artifactory 还允许您在内部应用这种类型的 pom->ivy 转换,并通过基于 groovy 的 user plugin 将 ivy 文件存储到其缓存中。拦截“afterRemoteDownload”事件。
关于java - Artifactory:通过脚本将 Ivy 描述符发布到存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9434188/
我有一个主 Ivy 项目,其他人通过 svn:externals 属性将其包含在他们的项目中。该项目包含 Ivy jar,连接到我们项目的默认 ivysettings.xml 文件,以及一些允许我标准
我正在尝试将文件库添加到 Ivy ,但它不起作用。 以下是使用的文件: Ivy .xml ivysettings.xml 构建文件
我以为我不需要问这个,但我没有任何进展。 这个问题的解决方案: How are maven scopes mapped to ivy configurations by ivy实际上解决了问题,但在其
考虑如下 ivy.xml: 当我运行 Ivy 时,它会获取 EHCache 的所有依赖项
我来自 Maven 背景。我正在从事的项目不是基于 Java 的。但是,需要使用独立的 Ivy 进行依赖管理。存储库管理器是 Nexus。 该项目产生了几个 zip 工件,需要通过独立的 Ivy 将它
似乎没有 ivy:unpublish 任务(例如,参见 here)。 所以,我认为应该在文件系统级别手动或通过删除 ~/.ivy2/local 子文件夹的 Ant 任务执行取消发布? (当目标是从本地
有没有人有使用 Ivy 的具体例子或 与 delivertarget 的任务属性做递归交付?官方文档相当......稀疏。是否有关于何时使用它而不是正常的 Ant“父”构建机制(例如, )来进行递归
我正在使用 ivy,我工作的公司有一些有趣的小 ivy 和 ant 教程。 当在依赖项部分使用时,每个教程都有助于完全绕过箭头在 ivy 构建 xml 文件中的作用。 因此,鉴于此设置:
有关 Apache Ivy 的三个简单问题: (1) 在我们的项目中,我们使用了 100 多个“通用”JAR(log4j、junit、commons-cli 等)。我们是否必须为所有这些文件编写 iv
我正在使用 ivy,我工作的公司有一些有趣的小 ivy 和 ant 教程。 当在依赖项部分使用时,每个教程都有助于完全绕过箭头在 ivy 构建 xml 文件中的作用。 因此,鉴于此设置:
是否有人测试过如何在启用安全性的 Archiva 中部署工件。我有以下配置 我的ivysettings.xml 我的build.xml
解析了我的 ivy.xml 文件后,我想创建一个新的 resolved-ivy.xml 文件,其中包含所有传递依赖项 在解析中找到。 这有可能吗? 这与交付不同,交付(我相信)只从您的 ivy.xml
我有一个本地 Artifactory 存储库,其中有两个用于 commons-logging 的 jar 。 : 一个给 version 1.0.4一个用于 version 1.1.1 .我正在尝试使
我正在使用 ~/.sbt/repositories文件告诉 sbt 0.13.5 要从哪些存储库中检索。该文件仅包含 local和 file://具有与标准 sbt 非常相似的自定义布局的存储库,具有
在 Gradle 中,我们配置了一个本地 Maven 存储库,并将工件上传到那里以用于我在其他项目的本地构建中使用。 我更喜欢使用 Ivy 存储库(因此我可以为工件名称使用自定义模式)。 您如何配置
更新快照依赖项时,我无法让 Ivy 更新缓存。解析器(具有以下设置: 一个示例 Artifactory 文件名(在 Artifactory 中)是: my-jar-1.999-SNAPSHOT.ja
我在设置 sbt 时遇到了问题。我下载了一个“zip”并展开它,但是当我运行 sbt 命令时,发生了错误。 module not found: org.scala-sbt#sbt;0.13.8
Maven 存储库,例如 Maven Repository提供最广泛的依赖管理项目。 Ivy 提供了访问 maven 存储库并从那里下载 Artifact 的可能性。这些存储库中只有 pom 文件,没
有没有办法在我调用 ivy:retrieve 时选择使用哪个 ivy.xml 文件? 寻找 at the documentation看来我可以使用 settingsRef 属性来选择要使用的 IVY
这是我的 ivy.xml 的示例: 使用 ivy 1.0,我可以下载这两个工件 当我将版本升级到 ivy-2.0.0 时,仅下载其中一个工件。 Ivy 设置中是否有我必须指定的内容
我是一名优秀的程序员,十分优秀!