我最近开始使用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' }
venv/bin/activate 只是建立适当的环境路径而已。
venv/bin/activate
您可以通过在开头添加(假设这env.WORKSPACE是您的项目目录)来自己完成操作:
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"