詹金斯自动化
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,允许您删除作业、启动作业、获取有关以前运行的作业的信息。您可以利用其中一些服务以及您的工件存储库来实现您描述的体验。
【讨论】:
以上是关于詹金斯自动化的主要内容,如果未能解决你的问题,请参考以下文章
Docker 从入门到放弃Docker+Jenkins_自动化持续集成