通过Jenkins在我的Git上执行python脚本

通过Jenkins在我的Git上执行python脚本,python,git,jenkins,Python,Git,Jenkins,所以我是詹金斯/吉特的新手。我的问题可能是基本的,但请花时间回答 所以我在尝试一件简单的事情。我有一个简单的Python脚本,它是我在git上推出的。就是这样: def about_me(your_name): print("The wise {} loves Python.".format(your_name)) def HW(): print("Hello World!") def Both(): HW() about_me("A

所以我是詹金斯/吉特的新手。我的问题可能是基本的,但请花时间回答

所以我在尝试一件简单的事情。我有一个简单的Python脚本,它是我在git上推出的。就是这样:


def about_me(your_name):
    print("The wise {} loves Python.".format(your_name))            

def HW():
    print("Hello World!")

def Both():
    HW()
    about_me("Ab")

Both()
F  = open(r"C:\Users\AMRABET\Documents\VSC\HW\a.txt", "a")
F.write("ok\n")

没什么大不了的。只是控制台/文件打印。 我把它推到我git上的master branch上

接下来,我试图通过詹金斯执行它。在阅读了互联网上的多个主题后,我了解到实际上Jenkins并不运行代码。它只会建造它

所以我建造了它。我在Jenkins和Git之间配置了一个连接,成功了。这是生成的输出:


Running as SYSTEM
Building in workspace C:\Program Files (x86)\Jenkins\workspace\GitJob
using credential 1f413199-4637-40b4-96b9-a06e1d5aab4c
 > C:\Program Files\Git\bin\git.exe rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > C:\Program Files\Git\bin\git.exe config remote.origin.url https://github.com/MbtAbd/HelloWorld # timeout=10
Fetching upstream changes from https://github.com/MbtAbd/HelloWorld
 > C:\Program Files\Git\bin\git.exe --version # timeout=10
using GIT_ASKPASS to set credentials 
 > C:\Program Files\Git\bin\git.exe fetch --tags --force --progress https://github.com/MbtAbd/HelloWorld +refs/heads/*:refs/remotes/origin/*
 > C:\Program Files\Git\bin\git.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10
 > C:\Program Files\Git\bin\git.exe rev-parse "refs/remotes/origin/origin/master^{commit}" # timeout=10
Checking out Revision 34500678072eb8536821606367d6ecf329d344d9 (refs/remotes/origin/master)
 > C:\Program Files\Git\bin\git.exe config core.sparsecheckout # timeout=10
 > C:\Program Files\Git\bin\git.exe checkout -f 34500678072eb8536821606367d6ecf329d344d9
Commit message: "Added the file writing stuff"
 > C:\Program Files\Git\bin\git.exe rev-list --no-walk 34500678072eb8536821606367d6ecf329d344d9 # timeout=10
Finished: SUCCESS

谁能告诉我如何通过Jenkins运行构建结果?StackOverflow上的所有其他线程都建议执行shell操作sh'python script.py',但在我的例子中,我实际上没有py文件


感谢您的帮助。谢谢社区

据我所知,您有一个python脚本,希望在Jenkins上运行

当他们说PY文件时,他们指的是.PY文件,它只不过是您的python脚本

您需要做的是通过谷歌搜索每一个步骤来遵循以下步骤:

创建Jenkins作业并在其中配置git repo。 在构建步骤中,选择执行shell脚本选项。 将命令命名为python3您的_script_name.py或使用python2您的_script_name.py取决于您的python版本。 保存作业并单击Build。 检查正在运行的作业的控制台输出。
让我知道这是否是您预期的情况。

根据我对初始操作的理解,他希望在git签出后运行.py脚本

所以这很简单,你可以在Jenkins项目中进行git签出

创建构建步骤后,我使用windows,因此我使用,执行windows批处理命令,并按如下方式运行它:

echo%WORKSPACE%应该打印jenkins从Git下载的文件目录


python-u%WORKSPACE%\pythonScript.py调用位于根文件夹中的目录中的脚本

为什么没有.py文件?首先,您的python脚本实际上不需要构建,而且构建脚本所做的似乎并不比签出提交多。此外,你说没有py文件是什么意思?这正是你放在git存储库中的文件,不是吗?还有,为什么要从Jenkins开始运行这个脚本?是的。我的意思是我不想编译我机器上的py脚本。我想让它执行他在git上找到的脚本。这就是我的意思在Jenkins上使用sh'python script.py'执行机器上的script.py文件,不是吗?Jenkins似乎是用于此的错误工具,但更重要的是,在构建机器上使用sh'python script.py'执行脚本,即刚刚签出git提交的脚本。它确实应该有可用的脚本文件。当我选择执行Python脚本时,我应该在脚本字段中放置什么?我想让它执行它,不管他从windows机器上的GitShell脚本得到什么?