听起来可能是一个非常基本的问题 - 但我找不到任何文章解释了为什么Jenkins会提供后期制作步骤以及操作。jenkins发布步骤和行动 - 有什么区别
在詹金斯 - 我看到的选项是在后期生成步骤与作用不同,但
- 什么是执行的顺序?
- 什么时候应该使用哪个选项?
- 什么是最佳实践?
听起来可能是一个非常基本的问题 - 但我找不到任何文章解释了为什么Jenkins会提供后期制作步骤以及操作。jenkins发布步骤和行动 - 有什么区别
在詹金斯 - 我看到的选项是在后期生成步骤与作用不同,但
一目了然,这里是詹金斯的工作流程(无需额外的插件)
有插件,允许工具安装后立即执行动作,如Pre-SCM-step和EnvInject插件。还有插件可以添加更多可能的构建步骤和构建后步骤。
构建和构建后步骤之间的差异部分基于逻辑分离,部分基于工作流配置。从逻辑的角度来看,当你建立/编译一个项目时,这是一个“构建”步骤,而当你存档构件时,因为这发生在构建之后,这是一个“构建后”步骤。
但也有工作流程配置方面的考虑,它具有一切与:
当有多个 “生成” 的步骤,詹金斯:
0
(成功),詹金斯继续到下一个生成步骤(如果有的话)0
(失败),则Jenkins 标记生成为FAILED
,并且继续生成后生成操作。FAILED
与否)所以,换句话说:
SUCCESS
。FAILED
。FAILED
与否)执行后构建步骤。从技术上讲,所有生成后应在任何时候都可以执行的步骤,但在实践中,如果后期生成步骤例外,作业无法完成这可能会导致无法执行一些后建的步骤。
而且,通常生成后的步骤不改变生成状态,但也有一些是专门设计来做到这一点(例如,存档工件时,您可以选择标记,如果不是所有的文物建立FAILED
被发现,即使经过所有构建步骤,构建被标记为SUCCESS
)
因此,了解上述情况,您有责任设计您的工作,并决定哪些步骤需要一个接一个地执行,成功,并且会影响构建状态(即构建步骤),以及无论结果如何(即构建后步骤),需要始终执行哪些步骤。
因为我不断收到的意见,这里是一个全新干净安装詹金斯(Windows)中ver.1.634的截图(如在评论提到)。
的截图,请注意以下事项:
因此,再次重申我之前的评论:
只有一个生成后的“什么”
你是否要称之为“一步”或“行动“(詹金斯多年来改变了标签)。
自定义插件可以添加很多额外功能,但对于全新安装而言,基本作业就如我所描述的那样。
对于作为Maven项目生成步骤是不可配置(仅Maven的目标是配置为构建)创建项目(工作),所以两个新的额外的类别来配置:预编译步骤和后期构建步骤。
根据我的经验,pre/post-build步骤用于执行可能影响构建结果(如Sonar Analysis)的操作,以及基于构建结果执行的操作的构建后行为(如e邮件通知)。
澄清。构建后步骤可以设置为仅在构建具有特定状态时执行。即如果失败做某事(发送日志给某人?)如果通过或不稳定做某事。即标记来源,以便可以推广发布? 发布构建操作始终执行。您可以在此发送电子邮件,归档工件,将工件发送给主设备(如果使用从设备并拥有插件)等。 我使用Post build Step在我的GIT工作区中标记/标记成功构建的源代码。我用一个小脚本来做到这一点。 现在我只希望Post Build步骤在Freestyle作业中可用,因为它只是标记成功构建的一个很好的选项。
对于免费的样式作业,有一个Post Build Actions插件来执行一组脚本,可以设置为只有在构建成功时才执行的脚本等。 – jdalew 2016-12-29 17:08:37
伟大的问题。你有没有找到这方面的信息? – cnu 2017-11-14 22:00:23