В скрипте Jenkins groovy я пытаюсь загрузить зависимость с помощью следующего:
@Grab(group='myorg', module='SuiteCreator', version='1.16.1', conf='jar', transitive=false)
import myorg.myorgAPI
У меня есть файл / home / jenkins / .groovy / grapeConfig.xml со следующим:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-settings>
<settings defaultResolver="downloadGrapes"/>
<resolvers>
<chain name="downloadGrapes">
<sftp user="admin" userPassword="pw" host="ivy.myorg.com" name="myrepository" checkmodified="true">
<ivy pattern="/data/ivy/repo/[organisation]/[module]/[branch]/[revision]/ivy-[revision].xml"/>
<artifact pattern="/data/ivy/repo/[organisation]/[module]/[branch]/[revision]/[artifact]-[revision].[ext]"/>
</sftp>
</chain>
</resolvers>
</ivy-settings>
ivy-1.16.1.xml Модуля, который я пытался получить:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.0">
<info organisation="myorg" module="SuiteCreator" branch="master" revision="1.16.1" status="release" publication="20190417105814"/>
<configurations>
<conf name="jar" description="Distribution jar"/>
</configurations>
<publications>
<artifact name="myorg-suitecreator" type="jar" ext="jar" conf="jar"/>
</publications>
</ivy-module>
Итак, япросто пытаюсь захватить артефакт: myorg-suitecreator-1.16.1.jar .
Когда я запускаю свой скриптовый скрипт в Jenkins, я получаю следующую ошибку:
2019.07.09 18:06:15 org.codehaus.groovy.control.MultipleCompilationErrorsException: сбой при запуске: 2019.07.09 18:06:15 Общая ошибка при конвертации: ошибка при получении Grapes - [ошибка загрузки: myorg # SuiteCreator # master; 1.16.1! SuiteCreator.jar] 2019.07.09 18:06:15 2019.07.09 18:06:15 java.lang.RuntimeException: Ошибка при получении Grapes - [ошибка загрузки: myorg # SuiteCreator # master; 1.16.1!SuiteCreator.jar] 2019.07.09 18:06:15 at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод)
Из ошибки кажется, что Grape полагает, что имя артефакта плюща совпадает с именем модуля.Имя артефакта ivy-1.16.1.xml по адресу: / ivy-module / публикации / артефакт / @ имя определяется как myorg-suitecreator Однако появляется Grab попытаться загрузить: SuiteCreator.jar .
Шаблон артефакта в grapeConfig.xml:
<artifact pattern="/data/ivy/repo/[organisation]/[module]/[branch]/[revision]/[artifact]-[revision].[ext]"/>
И поэтому файл, который я пытаюсь получитьна самом деле: / data / ivy / repo / myorg / SuiteCreator / 1.16.1 / myorg-suitecreator-1.16.1.jar
Есть ли у кого-нибудь какие-либо предложения о том, как получить этоработать (или если Grab может загружать артефакты с другим именем артефакта от имени модуля из Ivy?).