【问题标题】:Is there a way to push build status from a Jenkins pipeline build to a Perforce Swarm review?有没有办法将构建状态从 Jenkins 管道构建推送到 Perforce Swarm 审查?
【发布时间】:2020-05-20 15:23:51
【问题描述】:

我希望自动让 Jenkins 作业执行以进行审核,就像您可以通过与 Jenkins 集成的 GitHub/GitLab 为每个功能分支构建构建一样。 multibranch pipeline using Perforce Swarm 似乎很有希望:它会自动为 Swarm 项目的分支创建新工作,并为每个评论创建工作(实际上是一个功能分支)。这很好,因为现在我有自动管理的作业,我可以在我的构建中创建插件和其他工件。但是,我还希望将构建健康状况报告给 Swarm,以便审阅者可以轻松查看是否存在问题。以 GitLab 为例,您会在合并请求中看到构建失败。

Swarm 似乎有办法通过在创建或更新评论时将项目设置为 call an endpoint on a Jenkins job 来做到这一点。通过这样做,评论会调用 Jenkins 作业,然后状态会显示在评论中(通过或失败)。这是我想看到的。然而,这意味着我失去了动态工作,这对于保持构建及其工件的组织非常好。正如我所提到的,每个审查构建(功能分支)都会创建一个插件工件;在单个 Jenkins 工作中交错进行多个审查构建似乎......很混乱。

所以,这是我的问题:这两种工作方式似乎彼此相反,而不是一起工作。我可以让 Jenkins 自动找出构建(多分支)并为每次审查创建一个构建,但是 Swarm 永远不知道构建状态;或者我可以让 Swarm 触发审查,以便它了解构建状态,但随后我失去了多分支管道构建为我提供的干净组织和构建管理。

有什么方法可以让我的蛋糕也吃吗?想要做这件事似乎不是一件不合理的事情。正如我所提到的,这与 git 配合得很好。我只是以错误的方式接近这个吗?

【问题讨论】:

    标签: jenkins jenkins-plugins perforce swarm


    【解决方案1】:

    使用多分支 Jenkins 提供了立即扫描选项/端点。这是在 Job 顶层,而不是针对单个分支(尽管每个分支级别有一个 build now 选项)。 Swarm 现在在项目级别有一个“测试”选项,可以调用这个立即扫描选项。

    【讨论】:

    • 我不确定我是否理解它是如何工作的。如果 Swarm 的“测试”调用“现在扫描”,那不就是开始扫描分支并构建需要构建的任何分支吗?这些构建的结果将如何使其回到 Swarm?我认为“测试”进行的调用需要包含一个“更新”URL 回调来获取构建结果,并且“审查”端点的 Jenkins Perforce 插件知道如何处理它。我错过了什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    相关资源
    最近更新 更多