1

我的目标是编写一个脚本,将我们的 Heroku 管道中的“阶段”应用程序推广到生产环境,但前提要推广任何更改。

我可以通过以下方式毫无问题地进行推广:

// POST /pipeline-promotions
{
    "pipeline": {
        "id": "<pipeline-id>"
    },
    "source": {
        "app": {
            "id": "<stage-app-id>"
        }
    },
    "targets": [
        {
            "app": {
                "id": "<production-id>"
            }
        }
        
    ]
}

我的问题是,如果我执行此操作,但不存在任何更改,发布操作仍会在生产应用程序上启动。

换句话说,我如何确定是否有任何更改可用于升级 - 就像 heroku 在其 GUI 中所做的那样?

在此处输入图像描述

4

1 回答 1

1

感谢 Heroku 的支持,我设法解决了这个问题。

可以通过在查看时比较 slug id 来完成pipelines/<pipeline-id>/latest-releases

如果 slug-id 相同,则无需进行任何更改。

于 2020-09-24T06:25:17.703 回答