一、.Jenkins运行python时提示import error
1、环境:Ubuntu Server 64 ,版本16.04 TLS,已安装python3(3.5.2)
2、python项目中有import xlrd等模块,已提前pip install这些模块,在终端直接进入python3,import时候没有报错
3、Jenkins中配置从git上拉取源码,定时构建,构建方式是shell执行:python3 run_all.py
4、构建时候报错如下图:
原因:
还是配置的关系。。。应该是在非root用户下pip安装的模块,用这个用户执行是可以的,切到其他用户就不行了,而Jenkins中设置的是root启动,所以报了模块不存在
PS:本人遇到的问题与上述描述一致,上述引用自:https://blog.csdn.net/u012928160/article/details/81132558
二、Jenkins构建Python文件时,总是提示“no module named xxx” ,但通过IDE运行却能正常运行
1、产生原因:
IDE运行时,会搜索全部相关的模块;而通过cmd命令运行,或者Jenkins来配置时,则只会搜索当前目录下的模块。
2、解决方法:
- 若是在电脑中通过cmd来运行的话,需要配置系统环境变量,PYTHONPATH,值为当前项目的目录
比如,项目是在D盘下的一个文件夹下,目录为:D:\workspace\infonews-test-appium\project-name,则系统变量的值为该目录+项目名。
- 通过Jenkins来构建python文件时,则需要配置Jenkins的环境变量,PYTHONPATH,值应当为Jenkins下该job的目录。
比如,该job的工作空间在C盘下,目录为:C:\Program Files (x86)\Jenkins\workspace\apptest,最后‘apptest’则为job名,在Jenkins的系统设置中添加环境变量即可,值为:C:\Program Files (x86)\Jenkins\workspace\apptest\project-name。如下图
如上图配置完成之后,再构建项目里面的python文件,则不会报找不到模块的错误了。
PS:本人遇到问题与上述一致。 上述取自:https://blog.csdn.net/zy_1107615451/article/details/81133721
但是解决方法不同,可以在构建时加入pathonpath:
三、问题3:配置好oracle数据库(instantclient12),相关配置也都配置好了,在linux上执行脚本调用数据库正常,但是从Jenkins上调用,总是提示连不上补数据。
原因:从Jenkins上调用不会执行source etc/profile ? 导致配置不会生效。 目前具体真实原因还没有找到,应该也是与linux登陆用户有关,linux配置oracle相关ORCALE_HOME用的是root用户, Jenkins上调用连接用的是deploy用户,配置的文件是否没有对deploy生效? 对linux用户组的权限相关的东西不是很熟悉,待研究。
目前解决方法:如图,先进行source etc/profile (配置配在etc/profile里面)
四、问题4:windows (win10)作为slave,配置好oracle数据库(instantclient12),相关配置也都配置好了,在windows 上执行脚本调用数据库正常,但是从Jenkins上调用,总是提示连不上补数据。
配置了win7和win10, 有一台可以,有一台不行,目前还不清楚原因。 待继续找问题分析。
windows用的是JNLP Agent连接方式,不清楚是否也是与用户挂钩?!?!?
相关推荐
Jenkins Pipeline 调用 shell、python、java、groovy 脚本的正确使用姿势 Jenkins Pipeline 是一个强大的自动化工具,可以帮助开发者自动化构建、测试和部署流程。在设计 Pipeline 脚本的过程中,经常会遇到调用...
Python Django开发通过jenkinsfile管理构建pipeline脚本
### Python的Jenkins接口调用方式详解 #### 一、引言 随着自动化构建与持续集成(CI/CD)在软件开发过程中的普及,Jenkins作为一款强大的开源工具,成为了许多团队的选择。为了更好地实现自动化流程,将Python与...
jenkins-slave镜像
### Jenkins执行远程Linux命令 #### 一、概述 在现代软件开发流程中,持续集成(CI)和持续部署(CD)已成为不可或缺的一部分。Jenkins作为一款开源自动化工具,被广泛应用于构建、测试以及部署等各个环节。为了...
在Linux系统中,通常我们会将服务配置为Systemd或Init脚本,确保Jenkins在系统启动时自动启动。这涉及到创建一个Systemd单元文件,如`/etc/systemd/system/jenkins.service`,并在其中定义服务的启动命令、工作目录...
2. **解析和处理Job信息**:`joblist.txt`可能是存储Jenkins Job列表的文本文件,或者是一个记录了Job信息的输出结果。Python脚本可能读取这个文件,然后对每个Job执行进一步的操作,如触发构建、查看构建状态、获取...
可以用于k8s的slave节点构建工具,也可以用作其他用处
通过上述步骤,您可以成功搭建起一个完整的Jenkins与Python集成开发环境,并能够实现自动化构建和部署等功能。在整个搭建过程中,需要注意细节,尤其是配置文件的准确性和网络连接的稳定性。希望本文对您的学习有所...
jenkins-slave-python-centos7
shell脚本自动化运行job,运维,测试,开发作持续集成
1、jenkins 启动关闭命令脚本 service jenkins stop service jenkins start
在Ubuntu系统上搭建Jenkins是构建自动化服务器的一个常见选择,尤其对于开源软件和Java项目而言。Jenkins是一款功能丰富的持续集成工具,可以帮助开发者自动化构建、测试和部署代码,提高开发效率。下面我们将详细...
"Jenkins部署Linux内线插件包"就是为这种环境设计的,它包含了yarn、node、jdk和maven等关键组件,以及32个常用的Jenkins离线插件。 首先,让我们详细了解一下这些组件的作用: 1. **JDK (Java Development Kit)**...
Python+Selenium+Unittest环境搭建是自动化测试中的一种重要组件,本文将详细介绍如何搭建Python+Selenium+Unittest环境,并解决在搭建过程中可能遇到的问题。 一、安装Python 在安装Python时,需要勾选将Python...
jenkins节点管理window服务器段启动文件,通过java-Web启动代理
远程调用配置是指在Jenkins中配置远程调用脚本,以实现自动化测试和构建的目的。 二、JenkinsTrigger1.py脚本的作用 JenkinsTrigger1.py脚本是用于实现远程调用测试的关键脚本,该脚本使用4个参数分别为Jenkins的...
jenkins-jnlp-slave镜像