Jenkins:带参数的 Python 脚本

Jenkins:带参数的 Python 脚本

注意:之前从未使用过詹金斯

我有一个 Python 脚本,它接受 3 个参数来运行。通过终端,您可以像这样使用它:

python script.py arg1 arg2 arg3

我想创建一个新的 jenkins 作业,它基本上利用这个脚本并在提供 3 个参数后运行它。但是我找不到运行此类作业的任何示例。该脚本放在 github repo 中,因此其路径如下所示:https://github.com/username/repo/folder/script.py。这是我所做的:1. 我继续创建了一份新工作New Item --> Freestyle Project。2. 在 GitBucket --> Githubproject 下,我添加了路径:https://github.com/username/repo/ 3. 然后单击This build is parameterized并添加了 3 个选择参数,即可能的选项。4. 然后在 build 下,我选择执行 shell 并给出命令python script.py $param1 $param2 $param3

我的问题是,在步骤 2 中,我是否应该提供脚本的路径,或者https://github.com/username/repo/folder/script.py我现在拥有的路径是否正确。

任何建议/教程链接都会有帮助

答案1

如果你所需要的只是一个特定的文件-你可以只使用shell脚本 在此处输入图片描述

#!/bin/bash

wget -q -O sample.py https://raw.githubusercontent.com/Alexhha/hello-world/master/python/sample.py
/usr/bin/python sample.py ${ARG1} ${ARG2} ${ARG3}

sample.py 只是一个简单的脚本

import sys

print 'Sample output: %s, %s, %s' % (str(sys.argv[1]), str(sys.argv[2]), str(sys.argv[3]))

运行示例构建

在此处输入图片描述

你将得到类似下面的内容

在此处输入图片描述

该脚本位于私人仓库中

如果您在脚本内部克隆并且需要避免提示,则可以将令牌添加到克隆 URL:

git clone https://<token>@github.com/owner/repo.git

或者

git clone https://<token>:[email protected]/owner/repo.git

注意:令牌应被视为密码。将令牌放在克隆 URL 中会导致 Git 以纯文本形式将其写入 .git/config 文件。不幸的是,HTTP 密码也会发生这种情况。

答案2

听起来你需要做的就是在 exec shell 对话框中添加命令。其他设置对我来说听起来不错。你的 Jenkins 作业的控制台输出是什么?

如果您添加了 git repo 位置并且系统对该 repo 具有正确的访问权限,或者您在 Jenkins 作业中设置了凭据,请尝试通过添加 Python 的完整路径和脚本的本地路径来设置执行 shell 命令。

我们的 Jenkins 安装从每个作业的本地工作区容器执行。

执行 Shell:

/usr/bin/python ./folder/script.py $param1 $param2 $param3

相关内容