Bamboo: доступ к переменной скрипта в последующей задаче maven - PullRequest
1 голос
/ 07 июня 2019

Я видел много постов, где люди просят получить доступ к переменным Bamboo в скрипте, но это не об этом.

Я определяю переменную в задаче «Сценарий оболочки», как показано ниже, и затем я хотел бы получить доступ к этой переменной в последующей задаче maven.

#!/bin/sh
currentBuildNumber=${bamboo.buildNumber}
toSubtract=1
newVersion=$(( currentBuildNumber - toSubtract ))
echo "Value of newVersion: ${newVersion}"

Этот идет отлично. Однако у меня есть последующее задание maven 3, где я пытаюсь получить доступ к этой переменной, набрав ${newVersion} Я получаю ниже ошибка

error   07-Jun-2019 14:12:20    Exception in thread "main" java.lang.StackOverflowError
simple  07-Jun-2019 14:12:21    Failing task since return code of [mvn --batch-mode -Djava.io.tmpdir=/tmp versions:set -DnewVersion=1.0.${newVersion}] was 1 while expected 0

По сути, я хотел бы автоматизировать номер версии встроенных jar-файлов, просто используя $ {bamboo.buildNumber} и вычитая некоторое число, чтобы мне не приходилось вводить новый номер версии каждый раз, когда я запускаю сборку .

Ценю вашу помощь ... спасибо,

РЕДАКТИРОВАТЬ: Я также опубликовал тот же вопрос на форуме Atlassian ... Я буду обновлять этот пост, когда я получу ответ там ... https://community.atlassian.com/t5/Bamboo-questions/Bamboo-Access-script-variable-in-subsequent-maven-task/qaq-p/1104334

1 Ответ

2 голосов
/ 11 июня 2019

Как правило, лучшее решение, которое я нашел, - вывести результат в файл и использовать задачу Inject Variables для считывания переменной в сборку.

Например, в некоторых сборках мне нужна переменная SUFFIX, поэтому в bash-скрипте я в итоге выполняю

SUFFIX=suffix=-beta-my-feature
echo $SUFFIX >> .suffix.cfg

Затем я могу использовать задачу Inject Variables для чтения этого файла

Задача Inject Variables

Убедитесь, что это переменная Result, и вы сможете получить к ней доступ, используя ${bamboo.NAMESPACE.name} для суффикса, это будет ${bamboo.VERSION.suffix}

...