我试图运行位于'/home/modules/module.py'
的自定义Python模块
python脚本由Jenkins运行,位于'/home/user_name/scripts/script.py'
既然Jenkins主目录是'/var/lib/Jenkins',如何导入我的模块?在
我尝试在python脚本中添加以下内容:
import sys
sys.path.insert(0,'/home/modules') """also /home/modules/"""
import module
但我仍然收到错误:
^{pr2}$我在Ubuntu14.04和Python2.7中运行所有的东西
编辑:
我把Jenkins的用户目录改成这样:
root@dwh-01:~$ usermod -m -d /home/jenkins jenkins
在/etc/default/jenkins
中修饰{
我想我可以解决这个问题,但现在的问题是,如果我登录到jenkins shell并执行以下操作:
jenkins@dwh-01:/$ cd
bash: cd: jenkins/: No such file or directory
cd
命令的行为是否应该将我指向/home/jenkins/
?
如果我在/home/
中重复相同的操作,它仍然有效。在
如果我试着启动詹金斯,它会给我:
Starting Jenkins Continuous Integration Server jenkins
No directory, logging in with HOME=/
编辑-2:
用户jenkins home dir错误已修复,我只是使用usermod -d /home/jenkins jenkins
确保用户的主目录是/home/jenkins
我离导入模块又近了一步,但是在jenkins主目录之外还有一个问题。在
好吧,终于弄明白了。 我所做的是将
/etc/default/jenkins
文件中的变量JENKINS_USER和JENKINS_GROUP更改为我需要在JENKINS用户文件夹之外的用户(在/var/lib/jenkins
之外)。在这样,Jenkins运行的脚本将像我指定的选定用户一样运行。在
之后,我意识到在Jenkins中,即使工作目录是
/var/lib/jenkins/jobs/adjust_data_parser/workspace
,脚本和文件也可以从'/调用所以诀窍是:
-访问jenkins主目录之外的脚本
从模块导入的绝对路径。在
您应该有两个选项允许您将
module
导入到代码中。在选项1
选项2
^{pr2}$如果这两种方法都不管用,希望它们至少能为你和其他人指明正确的方向。在
相关问题 更多 >
编程相关推荐