詹金斯自动化

时间:2014-06-11 10:44:46

标签: jenkins perforce

在jenkins中有没有办法在我们检测到失败的构建时,作业会将perforce代码恢复为上一个成功的构建更改列表并再次触发构建。

流量 - 1.所以一旦我们构建失败 - Notifcation将被发送给开发团队,可能会导致构建失败的签到

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

  2. 发起构建。

3 个答案:

答案 0 :(得分:1)

Jenkins不是生产服务器。它运行任务,没有我为此目的所知的选项。

您的源代码是什么? webapps?其他 ? 你正在做什么步骤? 你在进行一些自动测试吗?

我的假设是你得到了一些可能使构建无效的测试。

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

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

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

如果这不能回复您的答案,请提供所要求的信息,以便取消您的工作流程。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

这是可能的,但我没有看到任何理由或用例,因为它不是一个正确的工作流程,可能会令人困惑。 但如果您决定这样做,则需要接下来的步骤: 示例如何使用Perforce源代码控制执行此操作。 作业设置中的步骤:

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