Skip to content

Add environments and deployments

Kamil Trzciński requested to merge environments-and-deployments into master

This MR is a continuation of https://gitlab.com/gitlab-org/gitlab-ce/issues/17009.

The current implementation is as follow:

  1. We have two new tables: environments and deployments.
  2. We have a new tab: Environments under Pipelines where you can see all you environments and add a new one.
  3. We add a new option to .gitlab-ci.yml to track where we should create a deployment for environment.
  4. If environment in .gitlab-ci.yml is specified it will create a deployment. If environment does not exist it will be created. (this got changed)
  5. The deployment is always successful and shows the time of the action, in that case a build that presumably should do deployment. In the future we could extend deployment with statuses: success, failure. We could extend deployments with information that this is partial or full deployment.
  6. User have to create environments that he will track first.
  7. User can remove environments.
  8. User can retry/rollback past deployment (in that case we retry past build). The new build when succeeds it will create a new deployment.
  9. Currently environment have only one parameter: name. In the future it should have: variables, credentials and possibly runners and maybe other resources.
  10. Currently deployment have this parameters: sha, ref, deployable (in this case a build), user (who triggered a deployment), created_at.

The .gitlab-ci.yml:

deploy to production:
  stage: deploy
  script: dpl travis...
  environment: production

What needs to be done:

Merge request reports