Передать переменные Дженкинсу из рабочей области

Я пытаюсь настроить сборку на Дженкинс. Когда сборка прошла успешно, я нажимаю на тег сборки, используя Post build Action Git Publisher.

До сих пор это делалось вручную, а тегу присваивался номер версии ABCD (из текстового файла). Теперь мы используем Jenkins, D происходит из переменной $BUILD_NUMBER Jenkins, но ABC хранятся в текстовом файле в рабочей области. Есть ли способ передать ABC издателю git? или придется делать все команды git в скрипте?

Использование Jenkins v1.624. Обновление в настоящее время не возможно (прежде чем люди предложат это)

1 ответ

Не совсем уверен, будет ли это работать после сборки Git Publisher (как я не использую), и я могу только проверить это на:

Дженкинс вер. 2.32.3
EnvInject + Плагин 1.93.1
Groovy + плагин 1,30

Основано на предложении 'Joerg S' в этом посте:

Создание переменной среды Jenkins с использованием Groovy

Добавьте шаг сборки "Выполнить Groovy Script" для чтения в файле рабочей области (tmpFile) содержащий ABC и преобразовать его в файл свойств на основе Java - name:value):

def custom_tag = new File('tmpfile').text.trim()
File propFile = new File('properties.text')
propFile.write "CUSTOM_TAG:"+custom_tag

Затем добавьте шаг сборки "Inject Environment Variables" для чтения в новом файле, чтобы Properties File Path является properties.text

После этого вы сможете использовать ${CUSTOM_TAG} в вашем посте git опубликуйте как TAG, так как теперь это переменная окружения.

Если это не сработает, проверьте код groovy в ссылке выше, он может предложить что-то еще.

Другие вопросы по тегам