Ответ 1
Да, если вы перейдете к рабочему пространству задания, вы обнаружите, что Bamboo не делает простой git клон "под капотом", а пульт установлен на внутренний путь к файлу.
К счастью, Bamboo хранит исходный URL-адрес репозитория как ${bamboo.repository.git.repositoryUrl}, поэтому все, что вам нужно сделать, - установить удаленное указание назад на оригинал и нажать туда. Это то, что я использовал с базовыми репозиториями git и Stash, создав тег на основе номера сборки.
git tag -f -a ${bamboo.buildNumber} -m "${bamboo.planName} build number ${bamboo.buildNumber} passed automated acceptance testing." ${bamboo.planRepository.revision}
git remote add central ${bamboo.planRepository.repositoryUrl}
git push central ${bamboo.buildNumber}
git ls-remote --exit-code --tags central ${bamboo.buildNumber}
Последняя строка - просто заставить задачу сбой, если вновь созданный тег не может быть прочитан.
РЕДАКТИРОВАТЬ: Не поддавайтесь искушению использовать переменную ${bamboo.repository.git.repositoryUrl}, так как это не обязательно укажет на репо, извлеченное из вашей работы.
Также помните, что если вы проверяете несколько источников, ${bamboo.planRepository.repositoryUrl} указывает на первое репо в задаче "Исходный код". Более конкретные URL-адреса указаны с помощью:
${bamboo.planRepository.1.repositoryUrl}
${bamboo.planRepository.2.repositoryUrl}
...
и т.д.