Exp*_*ing 10 python virtualenv python-2.7 jenkins jenkins-plugins
我已经创建了一个运行我的python脚本的virtualenv.
现在,当我将这个python脚本与Jenkins集成时,我发现当时执行Jenkins正在使用错误的python环境.
我怎样才能确保Jenkins使用正确的virtualenv?
举个例子,对于我的情况,我想使用virtualenv测试.我如何使用这个预先准备的virtualenv来运行我的python脚本.
source test/bin/activate
Run Code Online (Sandbox Code Playgroud)
Iva*_*uev 11
你应该安装一个python插件.我用过ShiningPanda.然后,您将能够在Manage Jenkins> Configure System> Python> Python安装中创建单独的虚拟环境配置.在作业配置中将有Python Builder步骤,您可以在其中选择python环境.
只需确保您没有从现有的python虚拟环境中启动Jenkins服务.
首先,你应该避免使用ShiningPanda,因为它已经坏了.它将如果您尝试运行并行作业失败,并且也与Jenkins2管道不兼容.
当建立并联(并行)詹金斯运行将追加@2
,@3
...到工作区的目录,以便两次执行不会共享相同的文件夹中.Jenkins确实克隆了原始工作空间,所以如果它包含您在之前版本中创建的virtualenv,请不要感到惊讶.
您需要自己处理virtualenv创建,但您必须非常小心如何使用它:
因此,您唯一安全的选择是为工作区内的每个构建创建一个唯一的虚拟环境文件夹.您可以使用$JOB_NUMBER
环境变量轻松完成此操作.
即使您有并行运行的作业,这也会有所不同.这也不会重复.
缺点:
--site-packages
,可能会大大加快创建速度(如果系统上已经安装了大量数据包) #/bin/bash
set -euox pipefail
# Get an unique venv folder to using *inside* workspace
VENV=".venv-$BUILD_NUMBER"
# Initialize new venv
virtualenv "$VENV"
# Update pip
PS1="${PS1:-}" source "$VENV/bin/activate"
# <YOUR CODE HERE>
Run Code Online (Sandbox Code Playgroud)
第一行是实现bash字符串模式,更多细节见http://redsymbol.net/articles/unofficial-bash-strict-mode/
归档时间: |
|
查看次数: |
12989 次 |
最近记录: |