删除分支后,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)
小智 2
可能并不理想,但您可以在运行脚本之前使用 gitlab API 卷曲脚本:
curl \
-X GET https://gitlab.example. com/raw/master/script.sh\
-H 'PRIVATE-TOKEN: ${GITLAB_TOKEN}' > script.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2165 次 |
| 最近记录: |