詹金斯自动化

Posted

技术标签:

【中文标题】詹金斯自动化【英文标题】:Jenkins automation 【发布时间】:2014-06-11 10:44:45 【问题描述】:

在 jenkins 中是否有任何方法,一旦我们检测到失败的构建,作业将 perforce 代码恢复到最后成功的构建更改列表并再次触发构建。

流动 - 1. 所以一旦我们构建失败 - 通知将发送给开发团队,可能会导致构建失败

    将最近的代码恢复为上一个工作代码并提交

    启动构建。

【问题讨论】:

【参考方案1】:

这是可能的,但我看不出有任何理由或用例这样做,因为它不是正确的工作流程并且可能会造成混淆。 但是,如果您决定这样做,则需要执行以下步骤: 示例如何使用 Perforce 源代码控制来做到这一点。 作业设置中的步骤:

    在构建触发器之前,您需要保存最新的更改列表编号 $P4_CHANGELIST - 1 Jenkins 的 Perforce 插件:Perforce plugin for Jenkins 构建 获取最后一个错误代码 Get last error code from the: batch 如果代码 != 0 则签出并构建 changelsit $P4_CHANGELIST - 1

【讨论】:

【参考方案2】:

Jenkins 不是生产服务器。它运行任务并且没有我知道的用于此目的的选项。

你的源代码是什么?网络应用程序?其他的 ? 您正在执行哪些步骤? 你在执行一些自动测试吗?

我的假设是您进行了一些可能使构建无效的测试。

应该运行这些测试: * 在模拟服务器上以防止在您的服务器上部署 * 或其他地方

这样,如果构建失败,则不会部署任何内容。

如果构建成功,您可以正常部署您的项目。

如果这没有回复您的答案,请提供所需的信息,以了解更多您的工作流程。

【讨论】:

【参考方案3】:

如果您使用 Nexus 或 Artifactory 等工件存储库来管理项目工件,那么当检测到故障时,您始终可以重新部署应用程序的先前工作版本。

您没有取消任何可能破坏构建的签入代码,但您正在保留您的测试环境。您可以配置 Jenkins 以通知签入最新错误更改集的用户,他们可以解决问题。

Jenkins 还提供了丰富的 API,允许您删除作业、启动作业、获取有关以前运行的作业的信息。您可以利用其中一些服务以及您的工件存储库来实现您描述的体验。

【讨论】:

以上是关于詹金斯自动化的主要内容,如果未能解决你的问题,请参考以下文章

动态 CRM Visual Studio 詹金斯

在詹金斯运行纽曼

Docker 从入门到放弃Docker+Jenkins_自动化持续集成

jenkins是啥

jmeter实战:jmeter+ant+jenkins轻量级接口自动化测试(windows)

virtualenv pip install mysql-python 失败