Build Teamcity-返回上一步

Build Teamcity-返回上一步,build,continuous-integration,teamcity,Build,Continuous Integration,Teamcity,在这种情况下,我们有许多构建同时运行,但是我们需要序列化进入的结果。在构建过程中的各个检查点,我们基本上会说“如果有东西进入了主分支,那么就让它失败”。。。我们真正想做的是说“如果有什么东西进入了主分支,回到第一步” teamcity有没有其他方法可以进行不同的构建步骤? ie在构建中创建一个循环?(不要将整个构建放在一个步骤中)尝试 它们允许您指定项目运行的顺序,这样,如果您有项目A、B和C,B的触发器是A的成功完成,C的触发器是B的成功完成 A => B => C 他们

在这种情况下,我们有许多构建同时运行,但是我们需要序列化进入的结果。在构建过程中的各个检查点,我们基本上会说“如果有东西进入了主分支,那么就让它失败”。。。我们真正想做的是说“如果有什么东西进入了主分支,回到第一步”

teamcity有没有其他方法可以进行不同的构建步骤?
ie在构建中创建一个循环?(不要将整个构建放在一个步骤中)

尝试

它们允许您指定项目运行的顺序,这样,如果您有项目A、B和C,B的触发器是A的成功完成,C的触发器是B的成功完成

    A => B => C
他们还让你用叉子叉,这样A的成功可以触发B&C,当B&C都完成时,D就走了:

         B
    A =>    => D
         C
  • 如果您想在a=>B=>a机制中进行此操作,可以尝试在构建链中进行此操作

    A是您的第一次构建。 B是您的测试构建。 C是您的从属版本

    B依赖于A,C依赖于B

    您需要创建一个build B,它轮询repo并检查build a启动后是否有任何更改。如果有任何更改,它将失败,因此不会触发生成C,生成链将失败。但是,由于新的更改,将触发生成A,并创建整个新的生成链

  • 您还可以更改vcs轮询以设置静默期。对于ex,您可以将构建更改为在触发之前等待5分钟,以检查是否有任何新的更改。如果有新的更改,将重置静默期

  • 更好的方法是以比构建所用时间更长的时间轮询存储库。例如,如果总构建时间为10分钟,则以15分钟的间隔轮询存储库。但是,这取决于您想要实现的目标,可能不适合您的目的

  • 您还可以使用来确保在任何给定时间只有一个目标正在运行


  • 谢谢,但最重要的是我需要它来循环-我可以去A=>B=>A吗?我不确定。。。有几种不同的触发器,如重试触发器等,但似乎应该有一种更简单的方法。您正在监视主分支上出现的内容,如果是这样,是否希望重新启动构建?一个想法是,你可以尝试调整安静期,以便更好地抓住即将到来的变化。然后确保步骤A是快速的,步骤B(假设它类似于自动部署或集成测试)有较长的静默期,或者每小时自动运行一次。