带有 ConanClient 的 Jenkins Artifactory 插件:引用 ConanClient 返回的不相



出于某种原因,ConanClient.run()方法返回的BuildInfo对象包含对许多不相关的柯南包作为"模块"的引用。似乎这些软件包也是建立在同一个 Jenkins 奴隶之上的,但当然在不同的工作中。

这是一个导致大量BuildInfo发布到Artifactory的最小示例:

def conanUploadClient = Artifactory.newConanClient()
def buildInfoTest = conanUploadClient.run command: "upload ${aliasID} -r ${remoteName}".toString()
artifactoryServer.publishBuildInfo buildInfoTest

所有其他以前的 Conan 命令(如 conan install)都是使用另一个 ConanClient 实例执行的,以确保有关不相关包的错误信息不会从这些操作中继承。

这是一个"控制实验",导致没有任何关联的柯南包/"模块"发布到Artifactory的BuildInfo

def conanUploadClient = Artifactory.newConanClient()
def buildInfoTest = Artifactory.newBuildInfo()
artifactoryServer.publishBuildInfo buildInfoTest

来自其他构建的错误信息从何而来?

柯南 1.8.2, 视窗 10, 詹金斯 Artifactory 插件 2.16.2

似乎 Jenkins 插件读取了整个$CONAN_USER_HOME/conan_log.log并将其放入ConanClient.run()返回的BuildInfo中。我在构建之前删除了该文件,现在信息正常。

最新更新