Как я могу написать Groovy Jenkinsfile для приложения Django для запуска моих тестов?

django jenkins groovy

1501 просмотра

1 ответ

1898 Репутация автора

Я недавно начал использовать Jenkins, и я хочу использовать многоотраслевые конвейеры, чтобы я мог протестировать различные ветви функций в моем проекте.

В проекте используется django 1.8. Пока что мой Jenkinsfile выглядит так и не проходит на этапе тестирования, так как django не может найти мой файл настроек, даже если он там есть:

node {
    // Mark the code checkout 'stage'....
    stage 'Checkout'

    // Get the code from a GitHub repository
    git credentialsId: 'mycredentials', url: 'https://github.com/<user>/<project>/'

    // Mark the code build 'stage'....
    stage 'Build'

    env.WORKSPACE = pwd()

    sh 'virtualenv --python=python34 venv'
    sh 'source venv/bin/activate'

    sh 'pip install -r requirements.txt'

    env.DJANGO_SETTINGS_MODULE = "<appname>.settings.jenkins"

    // Start the tests
    stage 'Test'
    sh 'python34 manage.py test --keepdb'
}
Автор: mattjegan Источник Размещён: 19.07.2016 05:26

Ответы (1)


1 плюс

26 Репутация автора

Решение

venv/bin/activate не более чем создание правильных экологических путей.

Вы можете сделать это самостоятельно, добавив в начале, предполагая, что env.WORKSPACEэто каталог вашего проекта:

env.PATH="${env.WORKSPACE}/venv/bin:/usr/bin:${env.PATH}"

Позже, если вы хотите вызвать virtualenved python, просто добавьте его с указанным путем, как здесь:

stage 'Test'
sh "${env.WORKSPACE}/venv/bin/python34 manage.py test --keepdb'

Или позвонить в пипс

sh "${env.WORKSPACE}/venv/bin/pip install -r requirements.txt"
Автор: Rafal Размещён: 11.08.2016 01:26
Вопросы из категории :
32x32