`

记录几个搭建Jenkins linux slave的时候python脚本调用问题。

 
阅读更多

一、.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连接方式,不清楚是否也是与用户挂钩?!?!?

 

 

  • 大小: 95.9 KB
  • 大小: 67.1 KB
分享到:
评论

相关推荐

    干货:Jenkins Pipeline调用shell、python、java、groovy脚本的正确使用姿势.doc

    Jenkins Pipeline 调用 shell、python、java、groovy 脚本的正确使用姿势 Jenkins Pipeline 是一个强大的自动化工具,可以帮助开发者自动化构建、测试和部署流程。在设计 Pipeline 脚本的过程中,经常会遇到调用...

    Python Django开发 通过jenkinsfile管理构建pipeline脚本

    Python Django开发通过jenkinsfile管理构建pipeline脚本

    python的Jenkins接口调用方式

    ### Python的Jenkins接口调用方式详解 #### 一、引言 随着自动化构建与持续集成(CI/CD)在软件开发过程中的普及,Jenkins作为一款强大的开源工具,成为了许多团队的选择。为了更好地实现自动化流程,将Python与...

    jenkins-slave镜像

    jenkins-slave镜像

    jenkins 执行远程linux命令

    ### Jenkins执行远程Linux命令 #### 一、概述 在现代软件开发流程中,持续集成(CI)和持续部署(CD)已成为不可或缺的一部分。Jenkins作为一款开源自动化工具,被广泛应用于构建、测试以及部署等各个环节。为了...

    jenkins开机启动和备份脚本

    在Linux系统中,通常我们会将服务配置为Systemd或Init脚本,确保Jenkins在系统启动时自动启动。这涉及到创建一个Systemd单元文件,如`/etc/systemd/system/jenkins.service`,并在其中定义服务的启动命令、工作目录...

    python3的通过API授权多个用户访问多个仓库以及jenkins信息获取的脚本

    2. **解析和处理Job信息**:`joblist.txt`可能是存储Jenkins Job列表的文本文件,或者是一个记录了Job信息的输出结果。Python脚本可能读取这个文件,然后对每个Job执行进一步的操作,如触发构建、查看构建状态、获取...

    jenkins的slave jar包

    可以用于k8s的slave节点构建工具,也可以用作其他用处

    Jenkins_python一步一步环境配置

    通过上述步骤,您可以成功搭建起一个完整的Jenkins与Python集成开发环境,并能够实现自动化构建和部署等功能。在整个搭建过程中,需要注意细节,尤其是配置文件的准确性和网络连接的稳定性。希望本文对您的学习有所...

    jenkins-slave-python-centos7

    jenkins-slave-python-centos7

    linux shell脚本控制运行jenkins job.sh,用到curl请求运行job,jq处理json,shell脚本

    shell脚本自动化运行job,运维,测试,开发作持续集成

    jenkins 启动关闭命令脚本

    1、jenkins 启动关闭命令脚本 service jenkins stop service jenkins start

    ubuntu上搭建jenkins

    在Ubuntu系统上搭建Jenkins是构建自动化服务器的一个常见选择,尤其对于开源软件和Java项目而言。Jenkins是一款功能丰富的持续集成工具,可以帮助开发者自动化构建、测试和部署代码,提高开发效率。下面我们将详细...

    Jenkins部署Linux内线插件包

    "Jenkins部署Linux内线插件包"就是为这种环境设计的,它包含了yarn、node、jdk和maven等关键组件,以及32个常用的Jenkins离线插件。 首先,让我们详细了解一下这些组件的作用: 1. **JDK (Java Development Kit)**...

    python+selenium+unittest环境搭建1

    Python+Selenium+Unittest环境搭建是自动化测试中的一种重要组件,本文将详细介绍如何搭建Python+Selenium+Unittest环境,并解决在搭建过程中可能遇到的问题。 一、安装Python 在安装Python时,需要勾选将Python...

    jenkins_slave.jar

    jenkins节点管理window服务器段启动文件,通过java-Web启动代理

    Jenkins远程调用配置说明.docx

    远程调用配置是指在Jenkins中配置远程调用脚本,以实现自动化测试和构建的目的。 二、JenkinsTrigger1.py脚本的作用 JenkinsTrigger1.py脚本是用于实现远程调用测试的关键脚本,该脚本使用4个参数分别为Jenkins的...

    jenkins-jnlp-slave镜像

    jenkins-jnlp-slave镜像

Global site tag (gtag.js) - Google Analytics