Skip to content

Record stop actions of deployments

Problem

We don't currently persist deployments records if it's action: stop. This causes a performance issue as a job needs to expand_environment_name to get an associated environment (#persisted_environment). We should start persisting deployments for stop actions as well, in order to make it performant.

Proposal

Some idea from @ayufan

  • Maybe we can use build_metadata.
  • We have a plan to move majority of things to build_metadata
  • stop action is an annotation of CI Build action
  • Maybe better is to introduce a new one in ci_build_metadata which is environment_name+environment_action?
  • We could use env_name when present otherwise expand env name?
  • With my policy of killing older CI builds (like 3 months) the problem of ci_builds.env would go away in 3-5 months from now.
  • the idea of that is that we can drop it when we don’t need it anymore and loose retrying capabilities, thus some annotations
  • env+action fits into that description

Related: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22861

Edited by Shinya Maeda