【问题标题】:Delete GitLab environment from pipeline job从管道作业中删除 GitLab 环境
【发布时间】:2022-06-11 06:40:21
【问题描述】:

目前,我正在为每个合并请求创建 GitLab 环境以部署临时页面。一旦合并请求被合并,这些环境就会停止,但我想在管道中添加一个额外的步骤,以从“停止”环境中完全“删除环境”。我不想使用 GUI,我发现的唯一选项是 API 方法:

DELETE /projects/:id/environments/:environment_id

https://docs.gitlab.com/ee/api/environments.html#delete-an-environment

但是,这里的问题是它需要:environment_id 变量,我无法找到并获取它。

任何有关不同方法或如何获得:environment_id 的帮助将不胜感激。

【问题讨论】:

    标签: gitlab-ci cicd gitlab-pipelines gitlab-ci.yml


    【解决方案1】:

    您可以schedule for deletion所有停止审核应用环境:

    DELETE /projects/:id/environments/review_apps
    

    或者您可以list your environments 并使用namesearch 参数搜索您需要删除的那个。然后你可以得到environment_id 来删除那个环境。您可以添加 states 参数以仅获取停止的环境:

    GET /projects/:id/environments?states=stopped&name=review%2Fxxx
    

    然后只需对结果进行循环以调用DELETE 端点。您可以使用jq 获取结果中的environment_id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      • 2020-12-05
      • 2021-12-23
      • 2021-03-27
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多