установка переменной среды в скриптовом конвейере - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь создать virtualenv (этап) в Jenkins и устанавливаю необходимые переменные среды перед созданием virtualenv.

        stage('create virtualenvironment') {
            sh 'export PATH=/usr/local/bin/virtualenv:$PATH'
            sh 'export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python'
            sh 'export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv'
            sh 'source /usr/local/bin/virtualenvwrapper.sh'
            echo 'createvirtualenvwrapper'
            sh 'mkvirtualenv testproject'
        }

Когда я выполняю этот скрипт - я получаю это сообщение -

mkvirtualenv: command not found

Когда я печатаю все перечисленные выше переменные env, ничего не устанавливается?Не уверен, что команда sh работает должным образом в скриптовом конвейере.

1 Ответ

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

Я не уверен на 100%, но я предполагаю, что когда вы делаете sh 'Some command', он выполняет сценарий оболочки, и это делается.

Итак, каждый вашКоманды обрабатываются как отдельный сценарий оболочки, который выполняет команды и действует только для этого сеанса и закрывается после завершения сценария.

Поэтому попробуйте объединить все вышеперечисленные команды в одну команду shс mkvirtualenv testproject, и он должен работать.

Для удобства чтения создайте новый сценарий оболочки, такой как runProject.sh, и приведенные выше команды в этом сценарии оболочки, а затем вы можете просто вызвать

sh runProject.sh

Надеюсь, это поможет:)

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