gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 11:21:48 25 4
gpt4 key购买 nike

GitLab-CI 执行 stop-environment动态环境中的脚本 该分支已被删除。这有效地迫使您将所有拆卸逻辑放入 .gitlab-ci.yml而不是 .gitlab-ci.yml 的脚本只是打电话。

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

这是 .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

最佳答案

可能并不理想,但您可以在运行之前使用 gitlab API curl 脚本:

curl  \
-X GET https://gitlab.example. com/raw/master/script.sh\
-H 'PRIVATE-TOKEN: ${GITLAB_TOKEN}' > script.sh

关于gitlab - 在 GitLab-CI 中删除分支之前执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44882431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com