Передать переменные Дженкинсу из рабочей области
Я пытаюсь настроить сборку на Дженкинс. Когда сборка прошла успешно, я нажимаю на тег сборки, используя 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 в ссылке выше, он может предложить что-то еще.