gitlab-org--gitlab-foss/doc
Rémy Coutable be09845914 Merge branch 'environments-and-deployments' into 'master'
Add environments and deployments

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:
- [x] Write initial implementation
- [x] Improve implementation (@ayufan)
- [x] Write tests (@ayufan)
- [x] Improve UX of the forms (cc @markpundsack) - reviewed by @markpundsack
- [x] Improve implementation of the views (cc @jschatz1) - done by @iamphill 
- [x] Write .gitlab-ci.yml documentation for `environments` - done by @ayufan
- [ ] Write user documentation (@ayufan and @markpundsack)

See merge request !4605
2016-06-15 13:48:09 +00:00
..
administration Merge branch 'fix-sidekiq-troubleshooting' into 'master' 2016-06-14 23:52:47 +00:00
api Merge branch 'doc/issue-move-assigns-labels-and-milestone' into 'master' 2016-06-15 09:36:19 +00:00
ci Merge branch 'environments-and-deployments' into 'master' 2016-06-15 13:48:09 +00:00
container_registry Move registry CI example to CI docs 2016-06-13 22:06:13 -07:00
customization
development Instrument private/protected methods 2016-06-14 15:17:51 +02:00
downgrade_ee_to_ce
gitlab-basics Change all occurrences of doc.gitlab.com to docs.gitlab.com 2016-05-13 16:26:56 -05:00
hooks Change all occurrences of doc.gitlab.com to docs.gitlab.com 2016-05-13 16:26:56 -05:00
incoming_email
install Added 8.9 install/update guides 2016-06-07 15:20:40 +02:00
integration Update Google integration API workflow 2016-05-23 18:35:04 +00:00
intro Change all occurrences of doc.gitlab.com to docs.gitlab.com 2016-05-13 16:26:56 -05:00
legal
logs Move logs/logs.md to administration/logs.md 2016-06-13 13:52:20 +02:00
markdown Merge branch 'adambutler/gitlab-ce-feature/support-diff-of-issue-title-rename' 2016-05-20 16:23:04 -05:00
migrate_ci_to_ce errros -> errors 2016-05-29 22:34:58 -07:00
monitoring fixing typo in link #17809 2016-05-24 20:26:43 +02:00
operations succes -> success 2016-05-29 22:35:23 -07:00
permissions Improve design after review 2016-06-14 18:34:48 +02:00
profile Add documentation for U2F registration & authentication. 2016-06-06 12:50:31 +05:30
project_services
public_access
raketasks Change all occurrences of doc.gitlab.com to docs.gitlab.com 2016-05-13 16:26:56 -05:00
security Change landing page when skipping confirmation email and add documentation 2016-05-16 14:56:32 -03:00
ssh
system_hooks
update Fix version references in 8.8 to 8.9 update guide 2016-06-08 14:20:46 -04:00
web_hooks Fix hook data for Wiki Page event 2016-05-31 11:24:58 -03:00
workflow Add documentation for the 'only_allow_merge_if_build_succeeds.rb' feature 2016-06-10 14:36:57 +02:00
README.md Change logs.md location in README 2016-06-13 14:19:29 +02:00

Documentation

User documentation

  • API Automate GitLab via a simple and powerful API.
  • CI GitLab Continuous Integration (CI) getting started, .gitlab-ci.yml options, and examples.
  • GitLab as OAuth2 authentication service provider. It allows you to login to other applications from GitLab.
  • GitLab Basics Find step by step how to start working on your commandline and on GitLab.
  • Importing to GitLab.
  • Markdown GitLab's advanced formatting system.
  • Migrating from SVN Convert a SVN repository to Git and GitLab
  • Permissions Learn what each role in a project (external/guest/reporter/developer/master/owner) can do.
  • Profile Settings
  • Project Services Integrate a project with external services, such as CI and chat.
  • Public access Learn how you can allow public and internal access to projects.
  • Container Registry Learn how to use GitLab Container Registry.
  • SSH Setup your ssh keys and deploy keys for secure access to your projects.
  • Webhooks Let GitLab notify you when new code has been pushed to your project.
  • Workflow Using GitLab functionality and importing projects from GitHub and SVN.

Administrator documentation

Contributor documentation

  • Documentation styleguide Use this styleguide if you are contributing to documentation.
  • Development Explains the architecture and the guidelines for shell commands.
  • Legal Contributor license agreements.