詹金斯发布步骤和行动 - 有什么区别

 书友35194403 发布于 2022-12-14 19:51

可能听起来像一个非常基本的问题 - 但我找不到任何解释Jenkins为什么提供构建后步骤以及行动的文章.

在詹金斯 - 我确实看到后期制作步骤与行动的选项不同,但是

执行的顺序是什么?

我们应该何时使用哪个选项?

什么是最佳做法?

Slav.. 30

一目了然,这是詹金斯的工作流程(没有额外的插件)

    [根据需要,如果需要]安装工具,(如JDK,Ant,Maven等).

    [可选]执行SCM签出(例如SVN或Git).

    执行构建步骤(例如构建Ant项目,编译代码等).

    [可选]执行构建后步骤(例如存档工件,发送电子邮件等).

有些插件允许在安装Tools之后立即执行操作,例如Pre-SCM-stepEnvInject插件.还有一些插件可以添加更多可能的构建步骤和构建后步骤.

构建和构建后步骤之间的区别部分基于逻辑分离,部分基于工作流配置.

从逻辑角度来看,当您构建/编译项目时,这是一个"构建"步骤,而当您存档工件时,由于这是在构建之后发生的,这是一个"构建后"步骤.

但是还有工作流配置注意事项,它与以下内容有关:

" 什么时候构建失败",并且

" 构建状态 "(例如成功,不稳定,失败)

当有多个 "Build"步骤时,Jenkins:

执行第一个构建步骤

检查第一个构建步骤的退出代码

    如果退出代码是0(成功),Jenkins继续下一个构建步骤(如果有的话)

    如果退出代码不是0(失败),Jenkins将构建标记为FAILED,并继续进行Post-build操作.

Jenkins执行Post-build步骤(无论是否标记了构建FAILED)

所以,换句话说:

如果构建步骤成功,Jenkins可以执行以下构建步骤(如果有).

如果构建步骤失败,Jenkins将不会执行以下构建步骤.

如果所有构建步骤都成功,Jenkins将标记构建SUCCESS.

如果任何构建步骤失败,Jenkins将标记构建FAILED.

无论构建状态(FAILED或不是),都会执行构建后步骤.

从技术上讲,所有后期构建步骤都应该始终执行,但是在实践中,如果构建后步骤异常,则作业永远不会完成,这可能导致某些构建后步骤未执行.

此外,通常构建后的步骤不会更改构建状态,但有一些是专门为此而设计的(例如,当存档工件时,FAILED如果找不到所有工件,您可以选择标记构建,即使毕竟构建步骤,构建标记SUCCESS)

因此,了解上述情况后,您有责任设计自己的工作,并决定一个接一个地执行哪些步骤,只有在之前成功的情况下才会执行,并且会影响构建状态(即构建步骤),以及需要执行哪些步骤无论结果如何(即构建后的步骤).

编辑:

由于我不断收到评论,这里是Jenkins(Windows)ver.1.634的全新干净安装的截图(如评论中所述).

在屏幕截图中,请注意以下内容:

新的自由式项目.

滚动条一直向下,页面上没有更多内容.

版本1.634(根据要求).

使用添加构建步骤下拉列表构建部分.

"构建后操作"部分,其中包含" 添加构建后操作"下拉列表.

所以,重新重复我之前的评论:

只有一个后期构建"任何东西"

是否要将其称为"步骤"或"行动"(詹金斯多年来改变了标签).

自定义插件可以添加许多附加功能,但是对于干净的安装,基本的工作就像我所描述的那样.

在此输入图像描述

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有