Jenkins Artifactory Plugin (gradle) не читает версию из gradle.properties

В настоящее время я пытаюсь настроить Jenkins, поэтому я могу автоматически создавать свои выпуски. Он должен изменить номер версии от SNAPSHOT до версии выпуска и выполнить все действия, связанные с SVN. После этого он должен переключиться на новую версию SNAPSHOT и зафиксировать ее. Прежде чем переключиться с maven на gradle, тот же плагин работал правильно.

Я уже создал сборку gradle, которая работает правильно. Он читает версию из свойства "версия" в файле gradle.properties. Эта версия является той, которая используется в сборке gradle. Также можно запустить "artifactoryPublish", чтобы опубликовать JAR для моего artifactory.

Проблема:

Когда я открываю диалог "Artifactory Pro Release Staging" (http://imgur.com/T44BtQB), он не заполняет поля "Release version", Следующая версия разработки ", и ни одно из других полей. Если я заполняю поля вручную, все работает правильно. Кроме того, версия в gradle.properties изменена и проверена правильно.

Как я могу решить эту проблему?

Используемые версии:

Спасибо!

Ответ 1

Как я вижу это, кажется, что ваши gradle.properties не могут быть связаны с остальными вашими файлами с помощью SVN. Вы можете это проверить?

Если он зафиксирован и фактически присутствует со всеми другими исходными файлами, когда Jenkins выполняет задание сборки, возможно, стоит убедиться, что задание сборки Jenkins ищет файл gradle.properties в нужном месте. По умолчанию поведение плагина Gradle заключается в поиске файла gradle.properties в корне каждого проекта. Если это не ваш файл gradle.properties, вы можете установить путь вручную. Для этого добавьте следующее в "переключатели" в задаче Jenkins:

-Dgradle.user.home=$HOME/.gradle

Сообщите мне, если это поможет.

Ответ 2

В соответствии с вашим описанием, когда вы получаете доступ к странице "Освобождение от артикуляции", поля "Release version" и "Next development version" пусты. Возможно, это связано с тем, что вы не определили имена свойств для своей версии и следующей версии разработки в настройке задания Jenkins. Вот как вы это делаете: 1. Откройте файл gradle.properties и найдите имя свойства своей версии. Например, если ваши gradle.properties содержат: версия = 1,2-СНАПШОТ то имя "версия". 2. Откройте конфигурацию задания Jenkins и поместите "версию" в текстовые поля "Release property" и "Next development correct". Вы должны найти их в настройках "Release Staging".

Теперь, страница Artifactory Release Staging должна знать, откуда взять ваши версии. Эта конфигурация не требуется при использовании Artifactory Release Staging для Maven, потому что в Maven версия может быть найдена только в одном месте - в файле pom.

Надеюсь, что это поможет

Ответ 3

возможно, это происходит из-за причины ниже, при чтении свойств

  1. Разрешение файла - проверьте файловую группу и владельца в рабочей области, где расположен ваш gradle.properties 2. (Не уверен в деталях, это помогло мне в решении) После обновления правильной группы владельцев файлов удалил свойство version из артефакта jenkins. Раздел управления выпуском и запуск сборки, а после ее успешного завершения включил версию в раздел управления выпуском артефакта jenkins и запустил сборку, и это решило проблему.