在 GitLab-CI 中删除分支之前执行脚本

Bas*_*hur 10 gitlab gitlab-ci

删除分支,GitLab-CI 在动态环境中执行stop-environment脚本。这有效地迫使您将所有拆卸逻辑放入而不是仅调用的脚本中。.gitlab-ci.yml.gitlab-ci.yml

有谁知道解决方法?我有一个删除部署的 shell 脚本。该脚本是存储库的一部分,也可以在本地调用(即在 CI 环境中不是唯一的)。我希望 GitLab-CI 在删除动态环境时调用这个脚本, 但是当分支被删除时它显然不再存在。我也无法将此脚本放入工件中,因为它是在configure脚本构建之前生成的,并且包含机密。如果可以删除分支之前执行拆卸脚本,那就太好了。

这是相关的摘录 .gitlab-ci.yml

deploy_dynamic_staging:
    stage: deploy
    variables:
        SERVICE_NAME: foo-service-$CI_BUILD_REF_SLUG
    script:
        - ./configure
        - make deploy.staging
    environment:
        name: staging/$CI_BUILD_REF_SLUG
        on_stop: stop_dynamic_staging
    except:
        - master

stop_dynamic_staging:
    stage: deploy
    variables:
        GIT_STRATEGY: none
    script:
        - make teardown # <- this fails
    when: manual
    environment:
        name: staging/$CI_BUILD_REF_SLUG
        action: stop
Run Code Online (Sandbox Code Playgroud)