GVKun编程网logo

如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?(jenkins构建结果)

13

本文将介绍如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?的详细情况,特别是关于jenkins构建结果的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,

本文将介绍如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?的详细情况,特别是关于jenkins构建结果的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Execute Shell如何/何时在Jenkins中将构建标记为失败?、groovy – 如何在Jenkins工作流中编辑构建参数?、Jenkins - 当某些测试失败时构建总是不稳定,即使它必须失败、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中将构建标记为失败?

如何解决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工作流中编辑构建参数?

groovy – 如何在Jenkins工作流中编辑构建参数?

我知道您可以直接在Jenkins工作流中访问构建参数.我有一个名为BRANCH_REVISION的参数,我需要更新,以便调用xml api将显示新值而不是原始值.这是我在使用以下groovy片段的非工作流脚本中所做的事情:

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中不起作用,因为无法访问构建对象.在此先感谢您的帮助!

解决方法

请参阅<工作流程作业配置> →工作流程→☑片段生成器→全局变量→变量:currentBuild:

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 the build step.

根据org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper这是currentBuild的类型,使用currentBuild.build()代替构建问题中的代码.

Jenkins - 当某些测试失败时构建总是不稳定,即使它必须失败

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将良好的构建标记为失败。如果我在不进行单元测试的情况下运行构建,则将获得“构建成功”状态。我如何配置Jenkins来执行以下操作:

  1. 构建成功+单元测试失败->发送自定义内容的电子邮件通知,例如构建成功+多少单元测试失败。

  2. 构建成功+单元测试成功->发送电子邮件通知,说明构建和单元测试均成功

  3. 构建失败->不要运行单元测试->在构建失败时发送电子邮件通知。

现在,通过我的Email-
ex设置,如果任何单元测试失败,我将不断收到“构建失败(良好构建)”通知。我认为Jenkins将良好的构建标记为由于测试失败而失败。

今天关于如何在Jenkins中进行测试工作以将构建标记为稳定且不是不稳定?jenkins构建结果的分享就到这里,希望大家有所收获,若想了解更多关于Execute Shell如何/何时在Jenkins中将构建标记为失败?、groovy – 如何在Jenkins工作流中编辑构建参数?、Jenkins - 当某些测试失败时构建总是不稳定,即使它必须失败、Jenkins将良好的构建标记为由于测试失败而失败等相关知识,可以在本站进行查询。

本文标签: