问题标签 [jfrog]

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.

0 投票
1 回答
290 浏览

artifactory - JFrog REST api 客户端应用程序无法构建缺少 org.apache.commons.* 包

我们有一个使用 2017 版 JFrog Java 服务 jar 构建的 Java 应用程序。今天我正在尝试使用最新的 jfrog lib 重建它。我看到新的服务 jar 中没有 org.apache.* 包。

这就是我构建 jfrog 服务 jar 的方式。

  1. 下载 2.8.6 源 zip 并展开
  2. 将 gradle 升级到最新并运行“gradle clean build -x test -x javadoc”
  3. 然后将 services/build/lib/*services-2.8.6.jar 复制到我的项目 lib 文件夹中

当我尝试构建时,我看到了很多编译错误。旧的库被称为 artifactory-java-client-ning-services-1.2.0-all.jar 之类的东西。
我如何建造一个这样的?

Dror 回复后于 20 年 11 月 6 日更新:

我将构建策略更改为指向 jcenter 以下载并创建带有 gradle 文件的所有依赖项的 uber jar,如下所示。我仍然遇到缺课。

以下是其中一个错误:

错误:包 org.jfrog.artifactory.client.ArtifactoryClient 不存在导入 org.jfrog.artifactory.client.ArtifactoryClient.ProxyConfig;

在我使用的 Netbeans IDE 中,我可以在 jar 中展开每个包并查看其中的类。我在 org.jfrog.artifactory.client 包下看不到任何内容。这很奇怪。

我的 build.gradle:

2020 年 11 月 10 日更新:

我发现工件 sdk 发生了变化,并且我使用的是陈旧的类。我在我的类中修复了这些引用以使用更新的 SDK 对应项,问题就消失了。

我最终使用以下 gradle 文件来构建我需要的一切:

非常感谢 Dror 的精彩指点!

0 投票
1 回答
91 浏览

jenkins - 如何在詹金斯工作区中签出 Artifactory 回购

我是工件的新手,只是想知道是否有一种方法可以检查类似于 git 存储库的工件存储库,以便工件存储库的内容在 Jenkins 工作区中可见。

对于 git repo,我们得到了像 checkout 这样的选项作为子文件夹我想知道我们是否可以做一些类似于 Jenkins 中的 artifactory 的事情

有什么建议么

0 投票
1 回答
275 浏览

debian - 在 Artifactory 上传后无法立即下载 debian 文件

我已经使用以下命令上传了一个 debian 文件

即使 10 分钟后,我也无法通过apt-get update && apt-get download $package. 获取“无法找到包裹”。

但是当我通过 UI 上传文件时,它会在一分钟后变为可用。此外,当我单击重新索引时,它会在一分钟后变为可用。

我正在我们的 CI 管道中执行此操作,上传到工件后,我需要该工件在一分钟内可用以进行下一步。在这种情况下我该怎么办?为什么通过 curl 上传不索引包?

0 投票
1 回答
52 浏览

maven - 如何在工件中维护所需数量的 Maven 存储库版本?

我在 Jfrog artifactory中有一个maven存储库,我已配置为该存储库维护两个最新版本,但存储库包含所有次要(旧)版本,即存储库中的两个以上版本。

以下是配置片段(图 1)和存储库中的版本数(图 2) 图 1: 在此处输入图像描述

图 2 存储库中的版本

  1. 配置是否正确?
  2. 如果我的配置正确,我如何触发从存储库中删除不需要的版本的操作,即仅维护 2 个版本?

谁能帮我解决这个问题!

0 投票
1 回答
589 浏览

maven - 如何解决 jfrog 人工制品上的拒绝访问异常?

从 artifcatory 访问文件时出现问题。

我在 Jfrog 工件中有一个本地 maven 存储库。存储库名称是test并且此存储库包含 jar 文件。

我正在使用竹子(构建工具)将文件部署到另一个名为test1的存储库中,在部署时我有一个 jar 依赖项,它放在存储库test中,当我尝试从测试存储库位置访问/下载 jar 时,我是在竹子中获取访问被拒绝异常(未经授权,ReasonPhrase:Forbidden)错误。

但是,如果我在本地机器 .m2(settings.xml) 中使用相同的凭据,我就可以从工件测试中访问/下载文件/jar。

供参考:

  1. 用户权限:用户具有读取、部署和删除权限。
  2. 用户对测试仓库有上述权限
  3. 通过具有相同凭据的浏览器访问 url:能够下载文件。

我是 jfrog 的新手,任何人都可以帮助我解决这个问题。

0 投票
1 回答
131 浏览

artifactory - 由于分割违规导致的人工崩溃

我们在几个环境中运行 Artifactory OSS 7.4.3,都是 Linux (RHEL 7)。他们使用本地存储库,标准下载/上传 Maven 工件。其中两个环境在过去几周内遇到了“分段违规”错误。我无法找到在常规操作期间发生此错误的任何文档。我的问题是我应该如何解决错误?

发生这种情况后,该服务将不可用,直到有人重新启动 Artifactory。它显示在 console.log 文件中,但除了以下堆栈跟踪(在两个单独的实例中看起来几乎相同)之外,周围的日志记录似乎并不相关。

0 投票
1 回答
252 浏览

java - 使用 github 操作在另一个 repo 中使用 github repo 的资源(如 jar 文件)?

我有两个存储库和存储库 A 和存储库 B,并且我在两个存储库中都使用 GitHub 操作。Repo A 创建了一些运行 Repo B 所需的 jar 文件。

Repo A 的 build.yml 文件

Repo B 有一个类似的 build.yml 文件

当这些存储库在本地构建时变得更容易,它使用本地的 .gradle 和 .m2 在外部库中获取这些 jar。

在这里,我无法弄清楚如何在 Repo B 中使用来自 repo A 的 jar,因为工作流中的每个作业都在虚拟机的新实例中执行。

我想出了一个解决方案,在 Repo B 的 build.yml 文件中编写几行代码来克隆和构建 Repo A,但是构建需要很长时间。

我也想知道 Jfrog 对此有何帮助?

0 投票
1 回答
26 浏览

gradle - 如何在许多战争项目之间共享静态内容(使用工件?)

当前状态

我有十几个战争项目(Gradle)。它们都包含/共享一组静态数据内容。现在我将包(从 gi​​t)拉到每个项目目录中,这是一种将静态内容粘贴到“src/rootContent”中,将包视为源。

预期的解决方案

我想:

  1. 打包静态内容
  2. 在我的 JFrog 工件中发布包
  3. 在 Gradle 战争项目中使用 repo 中的包,以类似于声明 lib/jar 依赖项的方式

特别是对于第 3 点 - 在 war{} 关闭中我应该做什么?

谢谢T。

0 投票
1 回答
67 浏览

gradle - 使用 Gradle 将工件上传到 JFrog Artifactory

构建 Gradle 项目后,在 build\libs 中创建了一个.jar文件,我想将其用作 JFrog Artifactory 并尝试上传到 libs-release-local,它看起来像这样

https://company.jfrog.io/artifactory/libs-release-local/com/abc/xyz/blog-service/v1/

在这里我可以看到三个文件 blog-service-v1.jar、blog-service-v1.module、blog-service-v1.pom。

我可以手动上传 .jar 文件并将其从本地覆盖到 jfrog 工件使用

jfrog rt u blog-service-v1.jar libs-release-local/com/abc/xyz/blog-service/v1/

但是我从哪里得到另外两个文件呢?它是在 jfrog artifact 中自动创建的,还是我必须手动上传,如果我必须手动上传,那么我在哪里可以获得这些文件?

谢谢

0 投票
1 回答
335 浏览

apk - Artifactory alpine remote repo - 权限被拒绝问题

我在我的工件实例上创建了一个 alpine 远程仓库,但无法在我的 apk 客户端中安装 apk 包

当我在我的 alpine docker 中更新 apk 时,我的权限被拒绝:

例如

docker run -it alpine /bin/sh

echo "https://first.last%40mycompany.com:AKmyartifactorytoken@myserver.mycompany.com/artifactory/alpine_linux_org-remote/v3.10/main" > /etc/apk/repositories

APK更新

获取 https://first.last%40mycompany.com:AK..token@myserver.mycompany.com/artifactory/alpine_linux_org-remote/v3.10/main/x86_64/APKINDEX.tar.gz 错误:https://first .last%40mycompany.com:AK..token@myserver.mycompany.com/artifactory/alpine_linux_org-remote/v3.10/main: Permission denied WARNING: Ignoring APKINDEX.fe5b96c4.tar.gz: No such file or directory 1 错误; 提供 14 种不同的套餐

我相信问题与用户名/密码有关,因为当我不使用用户名/密码时,我会遇到同样的错误。您会注意到我正在对我的用户名进行 url 编码,将 @ 符号替换为 %40 我尝试过使用和不使用 url 编码

以下确实有效并成功下载了 APKINDEX.tar.gz:

wget https://first.last%40mycompany.com:AKmytoken@myserver.mycompany.com/artifactory/alpine_linux_org-remote/v3.10/main/x86_64/APKINDEX.tar.gz

非常感谢