создать python виртуальную среду в конвейере jenkins - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь создать виртуальную среду внутри конвейера Дженкинса

stage('build') {
        steps {

            sh script:'''
                            #/bin/bash
                              pip install virtualenv --user

                              # Get an unique venv folder to using *inside* workspace
                              VENV=".local"

                              # Initialize new venv
                              virtualenv "$VENV"

                              # Update pip
                              PS1="${PS1:-}" source "$VENV/bin/activate"


                                pip install --user -r requirements.txt
                                '''

        }
    }

Я также пытался выполнить команду

withEnv(["HOME=${env.WORKSPACE}"]) {

в начале этапа, и я продолжаю получать эту ошибку

Не удалось установить пакеты из-за ошибки EnvironmentError: [Errno 13] Отказано в разрешении: '/.local' Проверьте разрешение

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

Я запускаю Jenkins на MacOS

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

это то, что решено (без создания виртуальной среды)

    stage('build') {
        steps {
            withEnv(["HOME=${env.WORKSPACE}"]) {
            sh script:'''
                            #/bin/bash
                            echo "PATH is: $PATH"
                              python --version
                              python -m pip install --upgrade pip --user
                              ls
                              pip install --user -r requirements.txt
                              export PATH="$WORKSPACE/.local/bin:$PATH"
                                '''
            }
        }
    }
0 голосов
/ 02 апреля 2020

попробуйте вместо

VENV="`pwd`/.local"

или, возможно,

VENV="$HOME/.local"

, поскольку вы знаете дом

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