无法在Jenkins中将Python脚本作为作业执行

2024-04-28 22:52:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图执行一个Python脚本,该脚本在Jenkins中使用selenium作为作业,但出现以下错误

    17:45:55 Started by timer
    17:45:55 Running as SYSTEM
    17:45:55 Building in workspace /Users/it/.jenkins/workspace/crawler
    17:45:55 [crawler] $ /bin/sh -xe /var/folders/t2/sk1vw_mn7mz7ncjw75lzh7r40000gn/T/jenkins8733501635454851045.sh
    17:45:55 + export PYTHONPATH=/Users/it
    17:45:55 + PYTHONPATH=/Users/it
    17:45:55 + cd /Users/it
    17:45:55 + python3 crawler_continious_execution_1.py
    17:45:56 Traceback (most recent call last):
    17:45:56   File "crawler_continious_execution_1.py", line 1, in <module>
    17:45:56     from selenium import webdriver 
    17:45:56 ModuleNotFoundError: No module named 'selenium'
    17:45:56 Build step 'Execute shell' marked build as failure
    17:45:56 Finished: FAILURE

即使我已经安装了SELENIUM模块

it@rgits-Mac-mini ~ % pip3 install selenium           
Requirement already satisfied: selenium in /usr/local/lib/python3.7/site-packages (3.141.0)
Requirement already satisfied: urllib3 in /usr/local/lib/python3.7/site-packages (from selenium) (1.25.8)
it@rgits-Mac-mini ~ % 

我已经搜索了谷歌和其他堆栈线程,并按以下方式进行了搜索,但没有一个有效,并且给出了以下结果。有人能帮我解决这个问题吗。

Last login: Wed Apr 15 11:08:19 on ttys000
it@rgits-Mac-mini ~ % sudo su jenkins 
Password:
su: unknown login: jenkins
it@rgits-Mac-mini ~ % sudo su -jenkins
su: illegal option -- j
usage: su [-] [-flm] [login [args]]
it@rgits-Mac-mini ~ % whoami
it
it@rgits-Mac-mini ~ % su: unknown login: jenkins

zsh: command not found: su:
it@rgits-Mac-mini ~ % sudo su -s /bin/bash jenkins
Password:
su: illegal option -- s
usage: su [-] [-flm] [login [args]]
it@rgits-Mac-mini ~ % 

我在Jenkins安装上创建的用户是Jenkins_admin,Mac用户是“IT”

尝试了许多方法,但无法以JENKINS用户的身份安装SELENIUM。正如您所见,selenium已安装,但通过Jenkins显示“模块未找到错误”,如果有人能在这方面提供帮助,将非常有帮助。

it@rgits-Mac-mini ~ % whoami
it
it@rgits-Mac-mini ~ % sudo su jenkins
Password:
su: unknown login: jenkins
it@rgits-Mac-mini ~ % su jenkins
Password:
su: Sorry
it@rgits-Mac-mini ~ % su jenkins
Password:
su: Sorry
it@rgits-Mac-mini ~ % sudo jenkins
Running from: /usr/local/Cellar/jenkins/2.220/libexec/jenkins.war
webroot: $user.home/.jenkins
2020-04-16 20:50:37.553+0000 [id=1] INFO    org.eclipse.jetty.util.log.Log#initialized: Logging initialized @999ms to org.eclipse.jetty.util.log.JavaUtilLog
2020-04-16 20:50:37.766+0000 [id=1] INFO    winstone.Logger#logInternal: Beginning extraction from war file
2020-04-16 20:50:37.823+0000 [id=1] WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2020-04-16 20:50:37.934+0000 [id=1] INFO    org.eclipse.jetty.server.Server#doStart: jetty-9.4.25.v20191220; built: 2019-12-20T17:00:00.294Z; git: a9729c7e7f33a459d2616a8f9e9ba8a90f432e95; jvm 1.8.0_242-b08
2020-04-16 20:50:38.600+0000 [id=1] INFO    o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2020-04-16 20:50:38.730+0000 [id=1] INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0
2020-04-16 20:50:38.731+0000 [id=1] INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults
2020-04-16 20:50:38.735+0000 [id=1] INFO    o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 660000ms
2020-04-16 20:50:39.477+0000 [id=1] INFO    hudson.WebAppMain#contextInitialized: Jenkins home directory: /var/root/.jenkins found at: $user.home/.jenkins
2020-04-16 20:50:45.963+0000 [id=1] INFO    o.e.j.s.handler.ContextHandler#doStart: Started w.@5e3f861{Jenkins v2.220,/,file:///private/var/root/.jenkins/war/,AVAILABLE}{/var/root/.jenkins/war}
2020-04-16 20:50:45.980+0000 [id=1] INFO    o.e.j.server.AbstractConnector#doStop: Stopped ServerConnector@1e67b872{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2020-04-16 20:50:45.981+0000 [id=1] INFO    o.e.j.server.session.HouseKeeper#stopScavenging: node0 Stopped scavenging
2020-04-16 20:50:45.982+0000 [id=1] INFO    hudson.WebAppMain#contextDestroyed: Shutting down a Jenkins instance that was still starting up
java.lang.Throwable: reason
    at hudson.WebAppMain.contextDestroyed(WebAppMain.java:388)
    at org.eclipse.jetty.server.handler.ContextHandler.callContextDestroyed(ContextHandler.java:937)
    at org.eclipse.jetty.servlet.ServletContextHandler.callContextDestroyed(ServletContextHandler.java:565)
    at org.eclipse.jetty.server.handler.ContextHandler.stopContext(ContextHandler.java:905)
    at org.eclipse.jetty.servlet.ServletContextHandler.stopContext(ServletContextHandler.java:367)
    at org.eclipse.jetty.webapp.WebAppContext.stopWebapp(WebAppContext.java:1450)
    at org.eclipse.jetty.webapp.WebAppContext.stopContext(WebAppContext.java:1415)
    at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:980)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:284)
    at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:547)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:93)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:180)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:201)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:111)
    at org.eclipse.jetty.server.Server.doStop(Server.java:454)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:93)
    at winstone.Launcher.shutdown(Launcher.java:311)
    at winstone.Launcher.<init>(Launcher.java:202)
    at winstone.Launcher.main(Launcher.java:362)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at Main._main(Main.java:375)
    at Main.main(Main.java:151)
2020-04-16 20:50:46.005+0000 [id=1] INFO    o.e.j.s.handler.ContextHandler#doStop: Stopped w.@5e3f861{Jenkins v2.220,/,null,UNAVAILABLE}{/var/root/.jenkins/war}
Exception in thread "Jenkins initialization thread" java.lang.NoClassDefFoundError: hudson/util/HudsonFailedToLoad
    at hudson.WebAppMain$3.run(WebAppMain.java:247)
Caused by: java.lang.ClassNotFoundException: hudson.util.HudsonFailedToLoad
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:543)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
    ... 1 more
2020-04-16 20:50:46.016+0000 [id=1] INFO    winstone.Logger#logInternal: Jetty shutdown successfully
java.io.IOException: Failed to start Jetty
    at winstone.Launcher.<init>(Launcher.java:191)
    at winstone.Launcher.main(Launcher.java:362)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at Main._main(Main.java:375)
    at Main.main(Main.java:151)
Caused by: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:8080
    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:346)
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.server.Server.doStart(Server.java:385)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at winstone.Launcher.<init>(Launcher.java:189)
    ... 7 more
Caused by: java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:220)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:85)
    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:342)
    ... 14 more
2020-04-16 20:50:46.018+0000 [id=1] SEVERE  winstone.Logger#logInternal: Container startup failed
java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:220)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:85)
    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:342)
Caused: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:8080
    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:346)
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.server.Server.doStart(Server.java:385)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at winstone.Launcher.<init>(Launcher.java:189)
Caused: java.io.IOException: Failed to start Jetty
    at winstone.Launcher.<init>(Launcher.java:191)
    at winstone.Launcher.main(Launcher.java:362)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at Main._main(Main.java:375)
    at Main.main(Main.java:151)
it@rgits-Mac-mini ~ % whoami
it
it@rgits-Mac-mini ~ % python -m pip install -U selenium

Requirement already up-to-date: selenium in /usr/local/lib/python3.7/site-packages (3.141.0)
Requirement already satisfied, skipping upgrade: urllib3 in /usr/local/lib/python3.7/site-packages (from selenium) (1.25.8)
it@rgits-Mac-mini ~ % 

Tags: orgservermacitjavaatsusun