我试图运行以下代码在jenkins作业,代码是删除文件超过30天从ftp服务器的一个目录。我在jenkins中创建了freestyle项目作业,在build部分,我选择了"Execute shell“,并添加了以下代码。
#! /usr/bin/python
import time
import ftputil
host = ftputil.FTPHost('host', 'user', 'pass')
mypath = '/path/directory'
now = time.time()
host.chdir(mypath)
names = host.listdir(host.curdir)
for name in names:
if host.path.isfile(name):
host.remove(name)
host.close() 我在构建时遇到了下面的错误
Building remotely on docker-4 (maven linux docker) in workspace /var/lib/jenkins/workspace/Capacity/folder/Test_job
[Test_job] $ /usr/bin/python /tmp/jenkins8422988908580909797.sh
File "/tmp/jenkins8422988908580909797.sh", line 6
SyntaxError: Non-ASCII character '\xc2' in file /tmp/jenkins8422988908580909797.sh on line 6, but no encoding declared;我还尝试了“执行python脚本”构建选项,我遇到了类似的错误,如下所示。
Building remotely on docker-4 (maven linux docker) in workspace /var/lib/jenkins/workspace/Capacity/folder/Test_job
[Test_job] $ python /tmp/jenkins5375363980435767190.py
File "/tmp/jenkins5375363980435767190.py", line 6
SyntaxError: Non-ASCII character '\xc2' in file /tmp/jenkins5375363980435767190.py on line 6, but no encoding declared;我是jenkins工作和python的新手,有人可以指导我如何解决这个问题吗?
2)如果我选择jenkins管道作业,我如何从jenkinsfile中调用这个python代码。
发布于 2020-06-04 03:35:01
尝试全局安装ftputil。
pip install ftputil或
sudo pip install ftputil一旦我使用sudo全局安装了ftputil,下面的shell脚本就可以正常工作了。
#!/usr/bin/env python
import time
import datetime
import ftputil发布于 2020-06-04 03:42:04
这个python程序没有什么特别之处。如果你想从shell中执行它。然后创建python_prog.sh脚本文件,然后更改权限chmod +x python_prog.sh python_prog.py
python_prog.sh
#!/bin/sh
python python_prog.py最后,从终端. python_prog.sh或./python_prog.sh运行该脚本
https://stackoverflow.com/questions/62180018
复制相似问题