Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jenkins-外部程序(“shell脚本”)可以改变阶段吗?_Jenkins_Jenkins Pipeline - Fatal编程技术网

jenkins-外部程序(“shell脚本”)可以改变阶段吗?

jenkins-外部程序(“shell脚本”)可以改变阶段吗?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我有一个外部程序来完成所有的构建/运行/测试。我并不特别想尝试将其分为三个不同的程序/脚本/管道阶段,但我希望根据阶段得到失败/时间细分 有没有办法让shell脚本改变它所处的阶段?例如,我可以想象Jenkins足够聪明,能够从shell脚本中识别输出,例如“STAGE:”,它正在运行并切换STAGE,但我找不到任何此类特性的文档 将脚本拆分为多个部分不是很可行-它需要将一堆状态保存到Jenkins指定的一些中间TMP文件中,这看起来很混乱。根据我与詹金斯的经验以及对你问题的研究,我可以毫无疑问

我有一个外部程序来完成所有的构建/运行/测试。我并不特别想尝试将其分为三个不同的程序/脚本/管道阶段,但我希望根据阶段得到失败/时间细分

有没有办法让shell脚本改变它所处的阶段?例如,我可以想象Jenkins足够聪明,能够从shell脚本中识别输出,例如“STAGE:”,它正在运行并切换STAGE,但我找不到任何此类特性的文档


将脚本拆分为多个部分不是很可行-它需要将一堆状态保存到Jenkins指定的一些中间TMP文件中,这看起来很混乱。

根据我与詹金斯的经验以及对你问题的研究,我可以毫无疑问地得出结论,你特别要求的东西在詹金斯或我能找到的任何插件中都是不可能的

如果您能够将流程拆分为多个脚本,那么您将能够实现所描述的“阶段结构”

就我个人而言,我强烈推荐管道。我最近将我所有的多重工作转换为流水线工作流程,其好处是巨大的。我还通过以下插件实现了一个非常有用的“阶段视图”:

根据我与Jenkins的经验以及对您问题的研究,我可以毫无疑问地得出结论,您特别要求的内容在Jenkins或我能够找到的任何插件中都是不可能的

如果您能够将流程拆分为多个脚本,那么您将能够实现所描述的“阶段结构”

就我个人而言,我强烈推荐管道。我最近将我所有的多重工作转换为流水线工作流程,其好处是巨大的。我还通过以下插件实现了一个非常有用的“阶段视图”:

这真的很不幸,因为这意味着我必须任意分割一个已经存在的工具流,强制它保存状态,然后重新启动,这样我们才能看到Jenkins中的阶段。我突然想到,我可以编写一个groovy脚本,在读取输出的同时运行一个脚本,并在groovy中相应地切换阶段。这将是多么混乱。这将是一个有点混乱,但这可能是你最好的方式来完成你想要的,而不必掏空你现有的工具。听起来像是阻力最小的路径,这真的很不幸,因为这意味着我必须任意分割一个已经存在的工具流,强制它保存状态,然后重新启动,这样我们才能看到Jenkins中的阶段。我突然想到,我可以编写一个groovy脚本,在读取输出的同时运行一个脚本,并在groovy中相应地切换阶段。这将是多么混乱。这将是一个有点混乱,但这可能是你最好的方式来完成你想要的,而不必掏空你现有的工具。听起来这条路阻力最小