本文将介绍如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?的详细情况,特别是关于jenkins构建结果的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,
本文将介绍如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?的详细情况,特别是关于jenkins构建结果的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Execute Shell如何/何时在Jenkins中将构建标记为失败?、groovy – 如何在Jenkins工作流中编辑构建参数?、Jenkins - 当某些测试失败时构建总是不稳定,即使它必须失败、Jenkins将良好的构建标记为由于测试失败而失败的知识。
本文目录一览:- 如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?(jenkins构建结果)
- Execute Shell如何/何时在Jenkins中将构建标记为失败?
- groovy – 如何在Jenkins工作流中编辑构建参数?
- Jenkins - 当某些测试失败时构建总是不稳定,即使它必须失败
- Jenkins将良好的构建标记为由于测试失败而失败
如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?(jenkins构建结果)
目前,我正在Jenkins中构建和测试我的应用。如果作业中的测试失败,则将构建标记为“不稳定”。即使测试失败,是否有可能将构建标记为“稳定”?如果代码未编译,则将构建标记为“失败”,这很好。
答案1
小编典典有一个名为Jenkins Text Finder的插件:https :
//wiki.jenkins-ci.org/display/JENKINS/Text-
finder+Plugin
它允许在控制台日志中搜索正则表达式匹配项,如果找到,则可以将构建设置为各种状态,包括将其设置为“成功”(即,不是不稳定的)。
构建成功后,只需在控制台输出中回显唯一的标签/行,然后使用此插件查找该行即可。在插件中使用“ 发现成功 ”选项标记构建成功。
Execute Shell如何/何时在Jenkins中将构建标记为失败?
如何解决Execute Shell如何/何时在Jenkins中将构建标记为失败??
首先,将鼠标悬停在下面的灰色区域上。这不是答案的一部分,但绝对必须说:
如果您有一个shell脚本自己单独执行“签出,构建,部署”,那么为什么要使用Jenkins?您将继承詹金斯的所有功能,使其成为现实。 。詹金斯(Jenkins)执行SVN结帐本身至关重要。它允许仅在有更改时(或按计时器或手动(如果您愿意))触发构建。它跟踪构建之间的更改。它显示了这些更改,因此您可以查看哪个构建适用于哪个更改集。当提交者的更改导致构建成功或失败时,它将通过电子邮件发送给提交者(同样,根据您的喜好进行配置)。当修复程序修复了失败的构建后,它将向提交者发送电子邮件。越来越多。Jenkins归档工件也使Jenkins每次构建时都可以使用它们。尽管不像SVN结帐那样重要,但这再次成为使其成为Jenkins不可或缺的一部分。与部署相同。除非您有一个环境,否则部署通常会发生在多个环境中。Jenkins可以通过使用Promotions来跟踪部署了特定版本(具有特定的SVN更改集)的环境。您正在接受所有这些。听起来您被告知“您必须使用Jenkins”,但您实际上并不想这么做,而这样做只是为了让您的老板松了一口气,只打了勾号:“是的,我已经使用了Jenkins”
简短的答案是:Jenkin的 构建步骤的 命令的退出代码是确定 成功/失败的原因。-成功-失败 注意,这是确定 的成功/失败,而不是整个 作业的运行。整个作业运行的成功/失败会进一步受到多个构建步骤以及构建后操作和插件的影响。 0``anything else
您已经提到了Build step ''Execute shell'' marked build as failure
,所以我们将只关注一个构建步骤。如果您的构建步骤只有一行调用了shell脚本,那么shell脚本的退出代码将确定构建步骤的成功/失败。如果您有更多行,请 执行Shell脚本后仔细检查它们,因为它们可能会导致失败。
这-e
意味着即使只有1条命令失败, 您对该命令执行错误检查,shell脚本也会失败
(因为该脚本在进行错误检查之前就退出了)。这与Shell脚本的正常执行相反,Shell脚本通常会打印失败命令的错误消息(或将其重定向为null并通过其他方式处理),然后继续执行。
为了避免这种情况,请添加set +e
到您的Shell脚本的顶部。
由于您说脚本完成了所有应做的工作,因此失败的命令很可能位于脚本末尾。也许是最后的回声?还是某处的文物副本?没有看到完整的控制台输出,我们只是在猜测。
请发布作业运行的控制台输出,最好也发布shell脚本本身,然后我们才能确切告诉您哪一行失败。
解决方法
我在寻找答案时发现的恐怖故事…
好的,我有一个.sh脚本,它几乎完成了詹金斯应该做的所有事情:
- 从SVN检出源
- 建立项目
- 部署项目
- 自己清洗
因此,在Jenkins中,我只需要通过在ExecuteShell命令中运行脚本来“构建”项目。脚本已运行(下载了源代码,项目正在构建/部署中),但随后将构建标记为失败:生成步骤’Executeshell’将构建标记为失败,即使脚本已成功运行!我尝试用以下命令关闭脚本:
- 退出0(仍将其标记为失败)
- 出口1(按预期将其标记为失败)
- 完全没有退出命令(将其标记为失败)
Execute Shell何时,如何以及为什么将我的构建标记为失败?
groovy – 如何在Jenkins工作流中编辑构建参数?
def currentParamActions = build.getAction(ParametersAction.class) def currentParams = currentParamActions.getParameters() currentParams.each() { if ( it.name.equals("BRANCH_REVISION") ) { newParams.add( new StringParameterValue("BRANCH_REVISION",newRevision ) ) } else { newParams.add( it ) } } build.actions.remove(currentParamActions) new_param_actions = currentParamActions.createUpdated(newParams) build.actions.add(new_param_actions)
但是,似乎这在Workflow中不起作用,因为无法访问构建对象.在此先感谢您的帮助!
解决方法
The
currentBuild
variable may be used to refer to the currently running build. It is an object similar to that documented for the return value of thebuild
step.
根据org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper
这是currentBuild的类型,使用currentBuild.build()代替构建问题中的代码.
Jenkins - 当某些测试失败时构建总是不稳定,即使它必须失败
截至目前,Jenkins (Here is the open feature request) 中的 JUnit 插件没有直接可配置的阈值选项。但是,您可以在报告测试结果并设置构建状态后添加 if 条件。
def junitTestSummary = junit testResults: "**/*.xml"
// junitTestSummary.[failCount,totalCount,skipCount,passCount]
if(junitTestSummary.failCount>0){
error("Failing the pipeline. Because,there are ${junitTestSummary.failCount} tests failed")
}
Jenkins将良好的构建标记为由于测试失败而失败
由于某些单元测试失败,Jenkins将良好的构建标记为失败。如果我在不进行单元测试的情况下运行构建,则将获得“构建成功”状态。我如何配置Jenkins来执行以下操作:
-
构建成功+单元测试失败->发送自定义内容的电子邮件通知,例如构建成功+多少单元测试失败。
-
构建成功+单元测试成功->发送电子邮件通知,说明构建和单元测试均成功
-
构建失败->不要运行单元测试->在构建失败时发送电子邮件通知。
现在,通过我的Email-
ex设置,如果任何单元测试失败,我将不断收到“构建失败(良好构建)”通知。我认为Jenkins将良好的构建标记为由于测试失败而失败。
今天关于如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?和jenkins构建结果的分享就到这里,希望大家有所收获,若想了解更多关于Execute Shell如何/何时在Jenkins中将构建标记为失败?、groovy – 如何在Jenkins工作流中编辑构建参数?、Jenkins - 当某些测试失败时构建总是不稳定,即使它必须失败、Jenkins将良好的构建标记为由于测试失败而失败等相关知识,可以在本站进行查询。
本文标签: