Add support for dynamic environments
What does this MR do?
Implements proposal described in https://gitlab.com/gitlab-org/gitlab-ce/issues/21971.
Specifically:
- it adds a
.gitlab-ci.ymlconfiguration, - it allows environment name to have slashes,
- it allows environment names to use CI predefined variables,
- it allows to specify URL from
.gitlab-ci.yml, - it allows the URL to use CI predefined variables,
- it introduces
environment_typeto allow to easily group environments in the future
Does this MR meet the acceptance criteria?
- CHANGELOG entry added
- Documentation created/updated
- API support added
- Tests
- Added for this feature/bug
- All builds are passing
- Conform by the merge request performance guides
- Conform by the style guides
- Branch has no merge conflicts with
master(if you do - rebase it please) - Squashed related commits together