Jenkins多节点python环境隔离(Windows)

  1. 应用Jenkins构建过程中,须要应用多个Jenkins节点并发构建
  2. 因为条件限度,只有一台Windows宿主机,所以在这台宿主机上部署多个Jenkins节点
  3. shell命令中应用pip装置依赖,当多个构建并发时,有可能导致依赖被更改的状况
  4. 所以须要有环境隔离
  5. 这里仅针对非凡场景,构建的是GUI程序,必须应用Windows环境,如果其余状况,应用docker构建更佳,这里不做探讨

参考文档:

https://docs.python.org/zh-cn...

应用python的venv虚拟环境

pipeline {    agent {        label "Windows"    }    stages {        stage('Build') {            steps {                //在当前目录下创立venv目录,用来搁置虚拟环境)                sh 'python -m venv ./venv'                //python的利用须要应用虚拟环境执行,即加上"./venv/Scripts/"                //Linux中是"./venv/bin"                sh './venv/Scripts/pip install pytest'            }        }        stage('Test') {            steps {                sh './venv/Scripts/pytest'            }        }    }}
  • 当python曾经设置环境变量时,能够间接应用
  • "python -m venv ./venv"创立
  • 当存在不同版本python时,应用对应版本的绝对路径
  • "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\python -m venv ./venv"创立
  • 执行命令会笼罩旧环境(pip装置的依赖没有删除,须要自行测试是否有影响)