Невозможно заменить строку после совпадения строки в конвейере jenkins, используя переменные - PullRequest
0 голосов
/ 23 октября 2018

Мне нужно заменить строку в файле.Если строка начинается с термина «url», мне нужно заменить значение.

file.txt -

...
url : http://www.google.com
..

Мне нужно изменить это значение на url: http://www.facebook.com

Я попробовал следующий код, но он не работал -

FACEBOOK_URL = "http://www.facebook.com"
sh("sed -i \\"s?^url.*\\$?url: ${FACEBOOK_URL}?\\" file.txt")

Я использую конвейер Jenkins.Мне нужно заменить строку с помощью переменной.

1 Ответ

0 голосов
/ 23 октября 2018

Сборки Jenkins 2 Pipeline используют Groovy, и очень просто прочитать файл с помощью readfile , а затем мы можем внести изменения

def text = readFile "file.txt"
text.replaceAll("url.*", "url: ${FACEBOOK_URL}")

Приведенный выше код поможет заменитьтекст в файле, если вы хотите записать содержимое в файл, вы можете использовать writeFile

...