Artifactory插件中的模件工件和依赖关系数据

时间:2014-06-06 14:06:37

标签: jenkins jenkins-plugins artifactory

我正在尝试复制引用here的模块和依赖项数据。目前,当我们从Jenkins向Artifactory部署工件时,没有提供依赖项和模块信息。

我们的项目有一个已定义的pom.xml,但下面演示的信息都没有填充。 Jenkins如何获取此依赖关系信息以发送给Artifactory?我们正在使用Artifactory Pro。

enter image description here

1 个答案:

答案 0 :(得分:2)

为了在Artifactory中包含此信息,您应该使用Jenkins Artifactory plugin(问题标签表明您使用的是Jenkins),以便将构建结果部署到Artifactory中。
该集成适用于Gradle,Maven,Ivy和freestyle构建工作 使用插件将构建结果部署到Artifactory时,插件将在部署结束时向Artifactory(通过REST)发送BuildInfo数据对象。 BuildInfo是一个结构化的JSON对象,包含有关构建环境,工件和依赖项的所有数据。插件在构建过程中收集此信息,并反映实际使用/完成的内容(这不是基于构建的静态分析)。使用各种类型的构建信息提取器(按照构建技术)收集信息,例如,在Maven作业的情况下,通过安装Maven execution listener从Maven收集信息。 对于自由式工作,支持generic builds。如果您的自由式作业正在执行Maven构建,您也可以使用Maven Artifactory Plugin来收集和部署构建信息。

数据的JSON表示看起来像这样(但有更多信息):

{
  "version" : "1.0.1",
  "name" : "build-name",
  "number" : "100",
  "type" : "MAVEN",
  "buildAgent" : {
    "name" : "Maven",
    "version" : "3.0.5"
  },
  "agent" : {
    "name" : "Jenkins",
    "version" : "1.534"
  },
  "modules" : [ {
    "id" : "org.foo:bar:1.0.0-SNAPSHOT",
    "artifacts" : [ {
      "type" : "jar",
      "sha1" : "b790a0659bf001a64ee2ca88590e4bc6e0818f4b",
      "md5" : "0879ee3509f623c58a40a9db30df8090",
      "name" : "bar-1.0.0-SNAPSHOT.jar"
    },],
    "dependencies" : [ {
      "type" : "jar",
      "sha1" : "686ef3410bcf4ab8ce7fd0b899e832aaba5facf7",
      "md5" : "b45be74134796c89db7126083129532f",
      "id" : "commons-beanutils:commons-beanutils:1.8.3",
      "scopes" : [ "provided" ]
    }]
  }
}

使用Artifactory的OSS版本时,Build Integration包括Generic BuildInfo View以及使用Artifactory的REST APIs遍历和查看构建信息的功能。模块工件和依赖关系视图,构建存储库视图以及导出和操作构建项目的能力需要Pro版本。

要使用Jenkins Artifactory插件,请按照提供的说明here