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

  1. 使用Jenkins构建过程中,需要使用多个Jenkins节点并发构建
  2. 由于条件限制,只有一台Windows宿主机,所以在这台宿主机上部署多个Jenkins节点
  3. shell命令中使用pip安装依赖,当多个构建并发时,有可能导致依赖被更改的情况
  4. 所以需要有环境隔离
  5. 这里仅针对特殊场景,构建的是GUI程序,必须使用Windows环境,如果其他情况,使用docker构建更佳,这里不做讨论

参考文档:

https://docs.python.org/zh-cn/3/library/venv.html

使用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安装的依赖没有删除,需要自行测试是否有影响)

Jenkins多节点python环境隔离(Windows)的更多相关文章

  1. Jenkins自动化构建python nose测试

    [本文出自天外归云的博客园] 简介 通过Jenkins自动化构建python nose测试分两步: 1. 创建节点(节点就是执行自动化测试的机器): 2. 创建任务并绑定节点(用指定的机器来跑我们创建 ...

  2. Jenkins:管理节点

    Jenkins 管理节点 是管理所有即将在其上执行任务(JOB)的slave机器,包括各种OS类型的主机,都可以作为节点,因为Jenkins是java实现的,所以能安装JVM的OS都可以作为Jenki ...

  3. jenkins服务器使用python脚本rabbitmqadmin和shell对目标服务器进行管理

    jenkins服务器使用python脚本rabbitmqadmin和shell对目标服务器进行管理 准备工作: .jenkins服务器,安装rabbitmqadmi命令 rabbitmqadmin管理 ...

  4. 使用Python写Windows Service服务程序

    1.背景 如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32 ...

  5. python 基于windows环境的ftp功能

    描述: 1.基于备份服务器部署的py程序,将需要备份主机目录下的内容下载至备份服务器(服务端和远端都是windows server 2008) 2.py程序部署在windows服务器,后台运行,基于b ...

  6. 关于Python 获取windows信息收集

    收集一些Python操作windows的代码 (不管是自带的or第三方库)均来自网上 1.shutdown 操作 定时关机.重启.注销 #!/usr/bin/python #-*-coding:utf ...

  7. Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务

    说明:将mysql的管理节点和数据节点配置成windows服务是为了防止有人手误关闭管理节点或数据节点的dos命令窗口,管理节点或数据节点的命令窗口误关闭可能会造成mysql某台或某几台mysql不能 ...

  8. python安装(windows)

    1.python安装(windows) 1.1 下载安装包 https://www.python.org/downloads/ 1.2 安装 python2.7默认安装路径:C:\python27 注 ...

  9. Python入门-----Windows安装

    摘要:Python,windows安装 1.进入python的官方网站下载:https://www.python.org 点击Download,选择windows版本:

  10. python在windows(双版本)及linux环境下安装

    python下载 下载地址:https://www.python.org/downloads/ 可以下载需要的版本,这里选择2.7.12和3.6.2 下面第一个是linux版本,第二个是windows ...

随机推荐

  1. Appium 入门

    Appium安装总体需要以下几个步骤: 安装JDK 官网www.oracle.com去下载安装,尽量下载JDK7及以上的版本.然后去设置环境变量: 在系统变量下新建变量JAVA_HOME变量值指向JD ...

  2. win10家庭版升级为专业版

    1.选择此电脑点击属性 2.点击更改产品密匙 3.输入产品密匙 4N7JM-CV98F-WY9XX-9D8CF-369TT下一步等待升级重启即可.

  3. win10 扩展c盘 “PARTITION_BASIC_DATA_GUID"

    一不小心化身为c盘战士了,系统卡到不行 于是通过pe登入系统(我自己用的wintogo),然后下载傲梅分区助手(嘎嘎好用) 傲梅官网 https://www.disktool.cn/download. ...

  4. dcat-admin在弹框中使用grid的编辑框不提示也不报错

    显示效果 #版本:2.1.5-beta #点击编辑时没有反应,其实它已经把编辑框显示出来了,只是在当前这个弹框的后面,我们看不见,这样你可以在自己的项目中把弹框挪开或在F12中html搜索应该显示的代 ...

  5. RBAC(DAC)模型

    基于角色的访问控制模型 ⟨ , ,,, , , ,, ,⟩ U:用户集 S:会话集 O:资源集 Op:操作集 R:角色集 PERMS:OxOp:权限集 RH:RXR(是 的偏序,表示角色的层次结构,其 ...

  6. Linux学习 --- 网络基础知识

    1.1  IP地址 IP地址由两部分组成  网络号和主机号 .网络号为IP地址的高位组成,而主机号是IP地址的低位组成,两个的大小取决于网络的类型. IP地址根据网络的地址不同分为:A类,B类,C类, ...

  7. Vue.js的使用经验

    Vue.js的使用经验   Vue.js的意义 解耦了视图与数据 可复用的组件 前端路由 状态管理 虚拟DOM Vue提供了很多实例属性与方法,都以$开头 $el可以访问挂载Vue实例的元素. $se ...

  8. Xcode 12.x下载了iOS10.x模拟器无法创建对应Device问题修复

    转自: https://hiraku.tw/2021/04/6428/ 感谢原作者,如有侵权请评论联系删除文章 在升級到 Xcode 12 之後,有些人發現雖然 Xcode 允許安裝低版本的模擬器,但 ...

  9. 【GNU/Linux, Debian】使用cups连接HP Laserjet 1012 HB打印机

    woc我怎么第一版打的cpus Cups是个开源的打印软件,于2007年被苹果收购(包括作者负责人也被苹果雇佣),收购后任然使用GPL发行. 然而2021年年底,作为收购前负责人的他表示这个软件再也不 ...

  10. 日記かな、自分のサーバ作りの?(01、try…catch…の問題)

    今日まだ終わらないうちに.昼間から出会ったbugについて.取りまとめましょう. 一応try-catch-にかかわる問題かな- try(do something){ }catch{ } と try(){ ...