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

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

  1. 使用Jenkins构建过程中,需要使用多个Jenkins节点并发构建
  2. 由于条件限制,只有一台Windows宿主机,所以在这台宿主机上部署多个Jenkins节点
  3. shell命令中使用pip安装依赖,当多个构建并发时,有可能导致依赖被更改的情况
  4. 所以需要有环境隔离
  5. 这里仅针对特殊场景,构建的是GUI程序,必须使用Windows环境,如果其他情况,使用docker构建更佳,这里不做讨论
【Jenkins多节点python环境隔离(Windows)】参考文档:
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安装的依赖没有删除,需要自行测试是否有影响)

    推荐阅读