问题标签 [jfrog-mission-control]
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.
json - JFrog Mission Control API 中的 JSON 对象数组
我正在使用任务控制版本 1.1
我尝试与想要创建存储库的 REST API 进行通信。我的 JSON 输入如下:
我已经验证我的配置脚本允许这两个用户变量。当我将用户输入更改为只有一个值时(连同配置脚本):
REST API 工作得很好。
我收到的错误消息很大,但它基本上是一个杰克逊错误,上面写着“无法反序列化 java.util.LinkedHashMap 的实例出 START_ARRAY 令牌”。我以前曾与 Jackson 合作过,当我无法将 JSON 数组对象正确反序列化到我的数据模型中时,我收到了这个,所以我认为这就是这里发生的事情。
有没有其他人遇到过这个问题,或者解决了这个问题?
linux - 有没有办法提取 Artifactory 的存储摘要?
我们目前在操作系统上使用 Artifactory 版本 4.9.0:Linux。我们知道,从 Artifactory 用户界面中,我们可以看到所有存储库的存储摘要。 https://www.jfrog.com/confluence/display/RTF/Monitoring+Storage
我正在寻找一种编写脚本(shell)并提取存储库密钥和工件大小的摘要报告的方法。
我们需要知道这些信息的存储位置。更具体地说,我们可以在哪个文件中找到此信息。
先感谢您。
artifactory - ArtifactoryPublish 给出错误:无法执行 gradle 任务
当运行 jenkins 管道并使用 artifactoryPublish 运行 gradle 时,它给了我这个错误消息和堆栈跟踪。我使用以下配置:
1 jenkins 管道作业(版本 2.19 jenkins 和 artifactory 插件 2.7.2) 2 脚本:
我们执行以下操作:在管道中(jenkinsfile)
- 构建,分级:
buildscript { repositories { jcenter() } dependencies { classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.4.5" classpath files(bndURI, bndRepoURI) }
}
- 詹金斯的输出:
[管道] getArtifactoryServer [管道] newGradleBuild [管道] ArtifactoryGradleBuild [efpi-core] $ /var/jenkins_home/tools/hudson.plugins.gradle.GradleInstallation/Gradle_3.1/bin/gradle clean artifactoryPublish -b build.gradle 错误:无法'不执行 gradle 任务。[Pipeline] } [Pipeline] // 节点 [Pipeline] 管道结束
org.jfrog.hudson.pipeline.steps.ArtifactoryGradleBuild$Execution.run(ArtifactoryGradleBuild.java :124) at org.jfrog.hudson.pipeline.steps.ArtifactoryGradleBuild$Execution.run(ArtifactoryGradleBuild.java:95) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousStepExecution.start(AbstractSynchronousStepExecution.java:40) at org. jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:184) 在 org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126) 在 org.jenkinsci.plugins.workflow.cps。 CpsScript.invokeMethod(CpsScript.java:120) 在 org.jfrog.hudson.pipeline.types.GradleBuild.run(GradleBuild.java:66) 在 org.jfrog.hudson.pipeline.types。GradleBuild$run$1.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java: 113)在 org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151) 在 org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21) 在 org.jenkinsci.plugins。 scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) at org.kohsuke.groovy.sandbox.impl.Checker .checkedCall(Checker.java:146) at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) at WorkflowScript.run(WorkflowScript:14) atgroovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.kohsuke.groovy.sandbox.impl.Checker$1 .call(Checker.java:151) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115 ) 在 org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) 在 org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) 在 com.cloudbees.groovy .cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) 在 WorkflowScript.run(WorkflowScript:14) 在groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.kohsuke.groovy.sandbox.impl.Checker$1 .call(Checker.java:151) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115 ) 在 org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) 在 org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) 在 com.cloudbees.groovy .cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) 在 WorkflowScript.run(WorkflowScript:14) 在runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor .java:21) 在 org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) 在 org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115)在 org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) 在 com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) 在 WorkflowScript.run(WorkflowScript:14 ) 在runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor .java:21) 在 org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) 在 org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115)在 org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) 在 com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) 在 WorkflowScript.run(WorkflowScript:14 ) 在onMethodCall(GroovyInterceptor.java:21) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java :149) 在 org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) 在 com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) 在 WorkflowScript.run(工作流程脚本:14)在onMethodCall(GroovyInterceptor.java:21) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java :149) 在 org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) 在 com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) 在 WorkflowScript.run(工作流程脚本:14)在运行(工作流脚本:14)在运行(工作流脚本:14)在 cps.transform(本机方法)在 com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:48) 在 com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109) 在 com .cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82) 在 sun.reflect.GeneratedMethodAccessor186.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java .lang.reflect.Method.invoke(Method.java:498) 在 com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) 在 com.cloudbees.groovy.cps.impl.CollectionLiteralBlock $ContinuationImpl.dispatch(CollectionLiteralBlock.java:55) 在 com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl。项目 (CollectionLiteralBlock.java:45) 在 sun.reflect.GeneratedMethodAccessor263.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:第 498 章.groovy.cps.Next.step(Next.java:58) at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001( SandboxContinuable.java:18) 在 org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33) 在 org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30) 在 org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108) 在 org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30) 在 org .jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:164) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:324) at org.jenkinsci.plugins.workflow.cps .CpsThreadGroup.access$100(CpsThreadGroup.java:78) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:236) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call( CpsThreadGroup.java:224) 在 org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:47) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 hudson.remoting。SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util .concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在java.lang.Thread.run(Thread.java:745) 完成:失败java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread .java:745) 完成:失败java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread .java:745) 完成:失败
rest - 如何使用 REST API 在存储库之间移动工件?
任何人都可以帮助我找到一种方法,使用 curl 将工件从一个 JFROG 存储库复制到另一个存储库。
我找到了一种将文件发送到存储库的方法
curl -u user:pass -X PUT ' http://artifactory:8081/artifactory/test-product/test.txt ' -T filetosend.txt
从存储库中删除文件
curl -u user:pass -X DELETE ' http://artifactory:8081/artifactory/test-product/test.txt '
但我真的不知道如何将文件从一个存储库移动到另一个存储库。我这样做
curl -u user:pass -X MOVE 'http:(slashes)artifactory:8081/artifactory/test-product/test.txt' 'http:(slashes)artifactory:8081/artifactory/test-release/test2.txt'
但它不起作用。
我尝试了不同的方法,但没有任何结果。
非常感谢您提前。
docker - 无法从 alpine linux 容器内部运行 jfrog 可执行文件
我正在使用一个alpine linux
容器,特别是python:3.4-alpine
和openjdk:8-jdk-alpine
. 当我尝试执行我放置在可执行文件中的任何脚本或可执行文件时,我得到Not Found
错误。
例如。在python:3.4-alpine
我要安装的容器中时,jfrog
我按照此处的命令(curl
通过 apk 安装之后)。此命令下载一个 shell 脚本并将其通过管道传送到 sh,后者下载并创建jfrog
具有正确权限的可执行文件。当我试图运行这个可执行文件时,我得到了
bin/sh: ./jfrog: 未找到
更新
我发现bin/ash
默认情况下使用的是root用户,我不知道它是什么。所以我bin/sh jfrog
手动调用,我得到
/# bin/sh jfrog jfrog: line 1: ELF: not found jfrog: line 1: 语法错误:未终止的引号字符串
知道我做错了什么吗?我怀疑它只与容器中存在的 root 用户有关。
search - 用于在日期范围内列出文件类型的人工查询语言
我正在尝试列出特定日期范围内的文件类型,因此可以从工件存储中删除这些大文件,如何做到这一点让我感到困惑,所以我想到了使用青蛙 cli 方式使用 --spec 开关,我有一个表达式,但它并不完全有效,我也需要使用相同的表达式进行删除,任何帮助都将是非常可观的。
nuget - 在 Artifactory 中阻止覆盖 NuGet 工件
此问题涉及 Artifactory Pro 4.14.2 中的本地 NuGet 存储库。
我们使用一个名为的服务帐户DevNetRunnerSvc
将 NuGet 工件发布到 Artifactory。此帐户配置了Deploy/Cache
权限,没有配置Delete/Overwrite
权限。
但是,DevNetRunnerSvc
仍然能够覆盖此存储库中的工件:
我需要一些帮助来保护工件免受任何和所有覆盖(适用于已发布的 NuGet 包),或者确定这是一个应该转发给 JFrog 的错误。
附加信息:
- 用于发布工件的(轻微清理的)命令是
jfrog rt upload $(Join-Path $env:CI_PROJECT_DIR "$($env:PACKAGE).$($env:VERSION).nupkg") nuget-org-dev/org/$($env:PACKAGE)/$($env:PACKAGE).$($env:VERSION)-$($env:CI_BUILD_REF_SLUG).nupkg
- 在调试此问题时,我已从
DevNetRunnerSvc
所有组中删除。 - 成功删除
Deploy/Cache
权限DevNetRunnerSvc
会阻止其将工件发布到此存储库。 适当地阻止了从该存储库向另一个存储库“提升”已发布的工件:
[Info] Moving artifact: nuget-org-dev/org/org.Infra.Pipeline/org.Infra.Pipeline.0.2.2-master.nupkg to: nuget-org/org/org.Infra.Pipeline/org.Infra.Pipeline.0.2.2.nupkg [Error] Artifactory response: 409 Conflict { "messages": [ { "level": "ERROR", "message": "User doesn't have permissions to move 'nuget-org-dev:org/org.Infra.Pipeline/org.Infra.Pipeline.0.2.2-master.nupkg'. Needs delete permissions." } ] }
用于执行上述命令的命令是
jfrog rt move "nuget-org-dev/(org)/($($env:PACKAGE))/($($env:PACKAGE).$($env:VERSION))-$($env:CI_BUILD_REF_SLUG)(.nupkg)" "nuget-org/{1}/{2}/{3}{4}"
- 我已将自己添加为该存储库的观察者。覆盖工件时
DevNetRunnerSvc
,我收到以下事件通知:Thu Apr 13 12:25:34 EDT 2017 [devnetrunnersvc/10.228.128.23] [CREATED] nuget-org-dev/org/org.Infra.Pipeline/org.Infra.Pipeline.0.2.2-master.nupkg
curl - 无法获取在特定日期范围内创建的工件
我需要使用 REST API 从旧工件中手动清理 Jfrog 工件。
出于这些目的,首先,我必须识别在特定日期范围内创建的工件。
问题是当我使用
我收到这个错误
什么意思,那个方法是不允许的?我该如何处理?
完整的命令是
java - 如何使用 jenkins 构建后操作将工件从一组工件部署到 jfrog 工件
我的 Maven 组项目层次结构像
当我运行 maven 命令clean package install
时,maven_group_project
它会给出sub_module_1.jar
, sub_module_2.jar
和sub_module_3.jar
.
我只想sub_module_1.jar
在工件(jFrog)中发送一个()。
我使用这个插件发送工件https://wiki.jenkins-ci.org/display/JENKINS/Artifactory+Plugin
我如何设置模式以仅发送一个工件或以任何其他方式发送工件。
注意:这是一个 Maven 构建项目
maven - 使用属性从 Maven 部署到 JFrog Artifactory
我有一个 Jenkins 工作,它具有 REPOSITORY 和 BRANCH 输入变量,并使用 Invoke 顶级 Maven 目标插件。它使 Maven 干净部署到 jfrog 工件。
但是有一个问题:我不知道如何将属性发送到已部署的工件。我的意思是像这样的属性,我们在 JFROG ARTIFACTORY 中拥有:
我知道,有Maven3-Artifactory Integration插件可以使用属性进行部署,但在我的情况下它不起作用,因为我的工作应该适用于不同的工件服务器。
我还在Invoke 顶级 Maven 目标中找到了一个参数Properties, 但它什么也没做(已部署工件的属性列表仍然为空)
如何通过 maven Invoke 顶级 Maven 目标插件向 JFROG ARTIFACTORY 发送属性?提前致谢。