2016-12-15 3 views
2

Я столкнулся с странными проблемами с сценарием конвейера. У меня есть многоканальная линия ш блоб какМноголинейная оболочка трубопровода Дженкинса с управляющим символом

sh """ 
    git tag -fa \\"${version}\\" -m \\"Release of ${version}\\" 
""" 

И это как-то работает, как:

+ git tag -fa '"1.0-16-959069f' 
error: Terminal is dumb, but EDITOR unset 
Please supply the message using either -m or -F option. 

Таким образом, ее уронить -m и сообщение. Я пробовал одиночные экраны, двойные экраны, ничего не работает.

+0

ли просто 'ш" "" git tag -fa '$ {version}' -m 'Выпуск $ {version}' "" "' работает? – izzekil

+0

nope. Я пробовал одинарные кавычки, и я тоже пытался убежать только один раз. – devshorts

ответ

1

Я понятия не имею, почему это работает, но это сделал

def tagGithub(String version) { 
    def exec = """ 
    git tag -d ${version} || true 
    git push origin :refs/tags/${version} 

    # tag new version 
    git tag -fa ${version} -m "Release of ${version}" 
    git push origin --tags 
    """ 

    sh exec 
} 

Что-то с инлайн Дженкинс заводной интерполяция кажется разорен, делает интерполяцию в другой вар, а затем выполняет он работал

+1

он не работает даже для меня так –

+1

Так как я вычислял «версию», у него в конце появился новый символ линии. Поэтому я добавил 'version.trim()' и начал работать. –

Смежные вопросы