如何为Django应用程序编写Groovy Jenkins文件来运行我的测试?

时间:2016-07-19 05:26:14

标签: django jenkins groovy

我最近开始使用Jenkins,我想使用Multibranch Pipelines,所以我可以测试项目中的各个功能分支。

该项目正在使用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'
}

1 个答案:

答案 0 :(得分:1)

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'

或致电pip

sh "${env.WORKSPACE}/venv/bin/pip install -r requirements.txt"