可能听起来像一个非常基本的问题 - 但我找不到任何解释Jenkins为什么提供构建后步骤以及行动的文章。
在Jenkins中 - 我确实看到后期制作步骤与行动的选项不同,但
答案 0 :(得分:29)
乍看之下,这里是詹金斯'工作流程(没有额外的插件)
有些插件可以在安装工具后立即执行操作,例如Pre-SCM-step和EnvInject插件。还有一些插件可以添加更多可能的构建步骤和构建后步骤。
构建和构建后步骤之间的区别部分基于逻辑分离,部分基于工作流配置。
从逻辑角度来看,当你构建/编译一个项目时,那就是" Build"步骤,而当你存档工件,因为这发生在构建之后,那就是"构建后"步骤
但是还有工作流配置注意事项,它与以下内容有关:
当多个" Build"詹金斯:
0
(成功),则Jenkins继续下一步构建步骤(如果有)0
(失败),则Jenkins 标记为FAILED
,继续 标记为构建后操作。< / LI>
FAILED
)所以,换句话说:
SUCCESS
。 FAILED
。 FAILED
是否为FAILED
),都会执行构建后步骤。 从技术上讲,所有后期构建步骤都应该始终执行,但在实践中,如果构建后步骤异常,则作业永远不会完成,这可能导致某些构建后的步骤未被执行。
此外,一般来说,构建后的步骤不会更改构建状态,但有些内容专门用于执行此操作(例如,在存档工件时,您可以选择标记构建{ {1}}如果找不到所有工件,即使在所有构建步骤之后,构建都标记为SUCCESS
)
因此,了解上述情况后,您有责任设计自己的工作,并决定一个接一个地执行哪些步骤,只有在之前成功的情况下,才会影响构建状态(即构建步骤) ,无论结果如何,都需要始终执行哪些步骤(即构建后步骤)。
由于我不断收到评论,以下是Jenkins(Windows)ver.1.634的全新清洁安装的截图(如评论中所述)。
在屏幕截图中,请注意以下内容:
所以,重新重复我之前的评论:
只有一个后期构建&#34;任何东西&#34;
是否要调用它&#34;步骤&#34;或&#34;行动&#34; (詹金斯多年来改变了标签)。
自定义插件可以添加许多附加功能,但是对于干净安装,基本工作就像我所描述的那样。
答案 1 :(得分:2)
对于作为Maven项目创建的项目(作业),构建步骤不可配置(只有maven目标可以为构建配置),因此可以配置两个新的额外类别:预构建步骤和构建后步骤
根据我的经验,前/后构建步骤用于执行可影响构建结果的操作(例如声纳分析),以及基于构建结果执行的操作的后构建操作(例如e-邮件通知)。
答案 2 :(得分:1)
澄清。 Post build Step可以设置为仅在构建具有特定状态时执行。即如果失败做某事(向某人发送日志?)如果通过或不稳定做某事。标记源,以便它可以被提升释放? 后期构建操作始终执行。您可以在其中发送电子邮件,存档工件,向master发送工件(如果使用从属设备并拥有插件)等。 我使用Post build Step在我的GIT工作区中标记/标记成功构建的源代码。我用一个小脚本来做到这一点。 现在我只希望在Freestyle工作中提供Post Build步骤,因为它只是标记成功构建的一个很好的选择。