栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Jenkins可以处理gui / non-gui交互式python或java程序吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jenkins可以处理gui / non-gui交互式python或java程序吗?

抱歉,Jenkins不是交互式应用程序。它是为自动执行而设计的。

获取Jenkins作业(以及从该作业执行的所有内容)的输入的唯一可行方法是使用在作业开始 之前 填充的作业参数。诚然,用于参数输入的Jenkins
GUI并不是最大的功能,但确实可以完成。一旦Jenkins作业在作业开始时收集了作业参数,便可以将这些参数传递给作业期间随时执行的任何内容(Python,shell等)。要做到这一点,必须有两件事是正确的:

  • 您需要在作业开始 之前 收集所有输入数据
  • 无论您的工作调用是什么(Python,Shell等),都需要能够以交互方式而不是通过命令行接收其输入。

如何获得程序输入

设计良好的脚本应该能够简单地在命令行上接受参数:

./goodscript.shMyName
这将是最简单的方法,其中值
MyName
将存储在
$1
脚本的第一个参数中。随后的命令行参数将在变量中可用
$2
$3
依此类推。

./goodscript.sh -name MyName -age30
这样做是一种更好的方法,其中脚本可以通过在参数值之前指定参数名称来获取多个参数,而不必考虑其顺序。您可以阅读有关将getopt用于此参数传递方法的信息

上面的两个示例都假定

goodscript.sh
编写足够好,能够处理那些命令行参数。如果脚本未显式处理命令行参数,则执行上述操作将无济于事。

您可以将某些输出“管道”到一个不是旨在显式处理命令行参数的交互式脚本中:

echo MyName |./interactivescript.sh
将值传递
MyName
interactivescript.sh
提供给用户的第一个交互式提示。问题是您只能将值传递给第一个交互式提示。

Jenkins工作参数GUI

就像我上面说的,您可以使用Jenkins
GUI收集各种作业参数(下拉列表,复选框,文本输入)。我假设您知道如何使用参数设置Jenkins作业。如果没有,请在作业配置中单击
“此构建已参数化” 复选框。如果您不知道如何设置,那就是一个不同的问题,需要单独解释。

但是,一旦您的Jenkins作业预先收集了所有参数,就可以在 “执行shell”
步骤中引用它们。如果您使用的是Windows,则将它们称为

%PARAM_NAME%
,对于Linux ,则将其称为
$PARAM_NAME

说明您需要帮助的内容:让脚本接受命令行参数,或者从jenkins job GUI传递这些命令行参数,我将进一步扩展此答案



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448979.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号