2014-06-11 73 views
0

jenkins有没有什么办法可以让我们一旦发现失败的构建,作业就会将perforce代码恢复到最后成功的构建变更列表并重新构建构建版本。Jenkins自动化

流量 - 1,所以一旦我们已经构建失败 - Notifcation将分差缩小到开发团队与导致构建失败

  1. 恢复最近代码的最后一个工作可能签入代码并提交

  2. 启动构建。

回答

1

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

  1. 之前构建触发您需要保存最新的变更表号$ P4_CHANGELIST - 1 Perforce的插件詹金斯:Perforce plugin for Jenkins
  2. 构建
  3. 获取最后一个错误代码 Get last error code from the: batch
  4. 如果代码!= 0然后结帐并建立changelsit $ P4_CHANGELIST - 1
1

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

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

我的假设是你有一些测试可能会使构建无效。

这些测试应该拼命地跑: *一个模拟服务器上,以防止你的服务器 *或其他地方

注意,如果构建失败,没有被部署上部署。

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

如果这没有回复你的答案,请提供要求的信息,以便undestrand多一点你的工作过程。

1

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

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

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