2017-02-13 49 views
1

我有一个竹服务器,建立码头图像,并通过反向代理推送到artifactory。由于反向代理(NGINX)的推送不提供构建信息,因此我需要为进一步的需求创建它。Artifactory REST API:如何将Docker图像工件添加/附加到Build Info?

我碰到这个REST API https://www.jfrog.com/knowledge-base/how-to-create-and-deploy-a-build-info-json-file-via-the-rest-api/

那得非常不错,但问题是,当我去到Web UI,并检查构建,每一个神器它只出现的名字,甚至类型,但“回购路径”列显示“未找到路径(外部解析或删除/覆盖)”。

通过附加伪影到现有的模块(/ API /建造/附加),或(在链接等上文)创建一个新的构建,我的模块部看起来像:

[{ 
    "id":"my-module", 
    "artifacts":[ 
    { 
     "type": "txt", 
     "sha1": "73f4617b4a64dc95c63581609ea0734aab987d98", 
     "md5": "00ebbb0b0444645b9489825d7a11c4bf", 
     "name": "MyArtifact.txt" 
    } 
    ] 
}] 

伪影JSON是创建查看逆向代理推送的工件的属性。

总之,我想创建链接到已经上传到artifactory中的工件的构建信息。

  1. 任何想法为什么这是不正确地链接工件到 编译信息?
  2. 我是否需要额外的属性?
  3. 真的有可能做我想找的东西吗?

我没有使用JFrog的artifactory客户端来执行我的任务。我只是使用高级休息客户端来测试命令,并从我的Java类使用泽西客户端。

回答

1

我遇到了同样的问题,终于找到了一些他们的源代码。看起来,工件是通过属性链接的。

所以,如果您的构建信息名称是Test,并且构建信息数为1

您需要添加以下属性MyArtifact.txt

build.name =测试 build.number = 1

我也相信,您需要发布您的构建信息后,这些属性已被添加到神器

+0

谢谢你的人,你救了我的命! artifactory文档在注释中提到了这一点:“注意:所有构建模块必须具有build.name和build.number属性集以及正确的SHA1和MD5才能在构建信息中正确链接。”但它并没有在我的脑海中转化,我需要用属性来更新每一件神器。这应该被标记为正确的答案。 – peepa