2016-07-19 6 views
4

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

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

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' 
} 

ответ

1

venv/bin/activate не делает не более, чем создание надлежащих экологических путей.

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

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

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

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

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

sh "${env.WORKSPACE}/venv/bin/pip install -r requirements.txt" 
Смежные вопросы