Команда curl не найдена при выполнении из декларативного Jenkinsfile - PullRequest
0 голосов
/ 10 апреля 2020

Это работает из конвейера Jenkins:

stages {
        stage('path') {
            steps {

                sh '''
                    #!/bin/bash
                    path="path/to/xml"
                    info=`curl --user $USER:$PASSWORD ${path}/test.xml | grep '<stakeoverflow>' | tail -1 | sed "s/.*<stakeoverflow>\\([^<]*\\)<\\/stakeoverflow>.*/\\1/"`
                    echo "${info}"
                    '''
            }
        }
}

Вот сценарии bash:

test. sh

function test_call {
    : '
     test comment
    '

    test_commands
    url_commands
    main

}

function test_commands {
    : '
     test comment two
    '
    # get essentails vars
    another_test
    echo "***************${PATH}***************"

    info=`curl --user $USER:$PASSWORD ${PATH}/test.xml | grep '<stakeoverflow>' | tail -1 | sed "s/.*<stakeoverflow>\([^<]*\)<\/stakeoverflow>.*/\1/"`

    echo "info is: ${info}"

}

Я пробовал также с двойным возвратом sla sh, но выскакивала та же ошибка, что упоминалась ниже в вопросе.

При попытке это:

stage('path') {
            steps {

                sh '''
                set +x
                chmod +x test.sh
                echo "***********loading bash script***********"
                source test.sh
                curl --version
                test_call
                '''
            }
        }

Это не помогает с помощью «" »или« »я получаю этот вывод:

curl --version
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2

Вот ошибка:

curl: command not found
grep: command not found
tail: command not found
sed: command not found

После того, как я добавил путь скручивания следующим образом:

info=`/usr/bin/curl --user $USER:$PASSWORD ${PATH}/test.xml | grep '<stakeoverflow>' | tail -1 | sed "s/.*<stakeoverflow>\([^<]*\)<\/stakeoverflow>.*/\1/"`

Я получаю следующие ошибки:

grep: command not found
tail: command not found
sed: command not found

Похоже, что-то не так с 'или ".

NB Я тестировал тот же сценарий ios на тот же самый узел Дженкинса

Что я здесь не так делаю? Я довольно смущен, чтобы понять проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...