Я использую Jenkins Pipeline для создания, установки и развертывания проекта maven, развертывания в artifactory. Я использую для этого плагин Artifactory, и в основном он работает очень хорошо.
Однако в скриптовом конвейере мне нужно получить URL-адреса, на которые были развернуты артефакты. Я ожидал, что они будут помещены в получившуюся buildInfo, но «артефакты» всегда пусты.
Я попытался создать новую buildinfo вручную, а затем использовать ее с функцией rtMaven run
.
def rtBuildInfo = Artifactory.newBuildInfo()
rtBuildInfo.name = "Something"
rtBuildInfo.number = env.BUILD_NUMBER
Я пытался не создавать buildInfo вручную, а просто запускал rtMaven run
. Пусто.
Я пробовал вручную запустить rtServer.publishBuildInfo rtBuildInfo
до и после развертывания. Пусто.
Я пробовал использовать append
для разных buildInfo и указывать его вручную в качестве аргумента на разных этапах. Пусто.
Файлы точно загружены. Я вижу: [pool-9-thread-3] INFO org.jfrog.build.extractor.maven.BuildInfoClientBuilder - [pool-9-thread-3] Deploying artifact: https://...
В журнале, и я вижу файлы, загруженные внутри Artifactory.
Однако в журнале также говорится: [main] INFO org.jfrog.build.extractor.maven.BuildDeploymentHelper - Artifactory Build Info Recorder: publish build info set to false, build info will not be published...
Но я не нашел способ сделать это, а не вызывать rtServer.publishBuildInfo
как отдельный шаг.
Но когда я распечатываю buildInfo, это выглядит так:
"name": "Something",
"artifacts": [
],
"number": "68"
Что у меня сделать, чтобы получить buildInfo с "артефактами", заполненными списком записей с установленными "localPath" и "remotePath"?