Запустите скрипт sed с путями (текущим путем) в конвейерах Jenkins. - PullRequest
0 голосов
/ 11 июня 2018

Мне нужно заменить несколько путей в нескольких файлах:

Источник: / var / ww / html Замена: "текущая папка": bash pwd

stage('Test: Static Analysis') {
    steps {
        sh "sed -i -e 's/\\/var\\/www\\/html/$WORKSPACE/g' reports/codereview/*.xml"
    }
}

Я также пробовал:

stage('Test: Static Analysis') {
    steps {
         script {
            def path = pwd();
            path = path.replace("\\/", "/");
            echo "Path: ${path}"
            sh "sed -i -e 's/\\/var\\/www\\/html/${path}/g' reports/codereview/*.xml"
         }
     }
}

Как получить текущий каталог с помощью bash (pwd) или $ WORKSPACE и экранировать / с помощью \\/?

Спасибо!

1 Ответ

0 голосов
/ 11 июня 2018

Это сделал трюк:

sh "sed -i -e 's/\\/var\\/www\\/html/${WORKSPACE.replace('/', '\\/')}/g' reports/codereview/*.xml"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...