Ham*_*amy 6 cluster-computing gitlab docker gitlab-ci gitlab-ci-runner
我正在寻找一种在 GitLab 合并请求关闭(合并与否)时运行“清理”作业/管道/等的方法。
问题是这样的 - 每当打开合并请求时,我们都会在集群上创建功能部署。目前,我没有检测 MR 何时关闭的机制。随着时间的推移,这些旧的“功能部署”会在集群上累积。
我可以从集群中编写一个手动清理脚本(查看所有打开的功能,删除不再存在的功能),但这会有点麻烦而且容易出错。希望 GitLab 有一种方法可以使用非常简单/很好的管道+作业功能来进行此类清理
我们使用 GitLab 环境来审核应用程序。环境可以在 x 周后自动停止environment.auto_stop_in。这样做的优点是,当 MR 保持开放数月(因为它们可能会被遗忘)时,数据将在 x 周后清理(我们使用 2 周)。
在脚本中,您可以执行任何需要清理的操作。就像我们的例子一样,一个helm uninstall.
gitlab-ci.yaml
deploy_review:
stage: deploy
script: "./deploy_review.sh"
environment:
auto_stop_in: 2 weeks
name: review/$CI_COMMIT_REF_SLUG
on_stop: stop_review_app
deployment_tier: development
resource_group: deploy-review-$CI_COMMIT_REF_SLUG
stop_review_app:
stage: after_deploy
when: manual
only:
- branches
variables:
GIT_STRATEGY: none
script: "./stop_review_app.sh"
environment:
name: review/$CI_COMMIT_REF_SLUG
action: stop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2325 次 |
| 最近记录: |