summaryrefslogtreecommitdiff
path: root/db
Commit message (Collapse)AuthorAgeFilesLines
* fix thread join issuefix/import-url-migrationJames Lopez2016-07-081-4/+2
|
* import_url migration performance improvementsJames Lopez2016-07-081-6/+28
| | | | | | Nullifying empty import_urls upfront so the number of projects with import_url not NULL decreases to 1/5. Also, now processing batches in blocks of 1000, with a threaded process - a bit experimental.
* Merge branch 'fix/import-url-validator' into 'master' Robert Speicher2016-07-061-0/+86
|\ | | | | | | | | | | | | | | | | | | | | Fixing URL validation for import_url on projects Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/17536 This MR fixes problems related to bypassing `import_url` validation on projects. This makes sure the URL is properly validated so we don't enter crap and fail while running workers that handle this URL. It also adds a migration to fix current invalid `import_url`s See merge request !4753
| * typoJames Lopez2016-06-301-1/+1
| |
| * few more changes from suggestionsJames Lopez2016-06-301-1/+4
| |
| * Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into ↵James Lopez2016-06-303-13/+32
| |\ | | | | | | | | | | | | | | | | | | fix/import-url-validator # Conflicts: # spec/models/project_spec.rb
| * | few changes based on feedbackJames Lopez2016-06-301-3/+3
| | |
| * | Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into ↵James Lopez2016-06-227-1/+92
| |\ \ | | | | | | | | | | | | fix/import-url-validator
| * | | fixed a few MySQL issues and added changelogJames Lopez2016-06-201-11/+42
| | | |
| * | | started working on a migration for projects that have current import_url issuesJames Lopez2016-06-201-0/+52
| | | |
* | | | Rebasing caused `enabled_git_access_protocol` to become plural. Fixed here.Patricio Cano2016-07-051-1/+1
| | | |
* | | | Rename `enabled_git_access_protocols` to singular.Patricio Cano2016-07-051-1/+1
| | | |
* | | | Add setting that allows admins to choose which Git access protocols are enabledPatricio Cano2016-07-052-0/+12
| | | |
* | | | Add a migration to remove requesters that are owners of their project18790-dont-show-request-button-to-project-ownerRémy Coutable2016-07-052-1/+41
| | | | | | | | | | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* | | | Add index on both Award Emoji user and nameindex-on-emoji-name-and-userZ.J. van de Weg2016-07-052-1/+13
| | | |
* | | | Merge remote-tracking branch 'upstream/master' into save-artifacts_sizesLin Jen-Shin2016-07-043-13/+32
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (175 commits) Document Repository#keep_around Don't garbage collect commits that have related DB records like comments Update CHANGELOG Update RedCloth to 4.3.2 for CVE-2012-6684 Fix typo in Merge Requests API documentation Downgrade to Redis 3.2.2 due to massive memory leak with Sidekiq Enable Style/EmptyLines cop, remove redundant ones Update CHANGELOG Cache results from jQuery selectors to retrieve namespace name Fix import button when import fail due the namespace already been taken Fix snippets comments not displayed Fix emoji paths in relative root configurations Exclude requesters from Project#members, Group#members and User#members Upgrade Thin from 1.6.1 to 1.7.0. Many squashed commits Cache autocomplete results Upgrade Sidekiq from 4.1.2 to 4.1.4. Upgrade seed-fu from 2.3.5 to 2.3.6 use has_many relationship with events Support creating a todo on issuables via API ...
| * | | Add Application Setting to configure default Repository Path for new projectsshards-configAlejandro Rodríguez2016-06-292-0/+6
| | | |
| * | | Refactor repository paths handling to allow multiple git mount pointsAlejandro Rodríguez2016-06-292-13/+26
| | |/ | |/|
* | | Remove migration guide comment:Lin Jen-Shin2016-07-011-3/+0
| | | | | | | | | | | | | | | | | | They're accessible after doing `rails g migration` anyway. Though I somehow feel this comment could be useful for someone who's new and just browsing the source.
* | | Just save the size in total rather than individual filesLin Jen-Shin2016-06-282-4/+4
| | | | | | | | | | | | | | | Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4964#note_12741046
* | | Introduce ci_builds.artifacts_sizes as JSON:Lin Jen-Shin2016-06-281-0/+11
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | We store the sizes as a hash from path to bytes like: ``` ruby {'ci_artifacts.txt' => 27, 'other_artifacts_0.1.2/another-subdirectory/banana_sample.gif' => 71759, 'other_artifacts_0.1.2/doc_sample.txt' => 1314, 'rails_sample.jpg' => 35255, 'tests_encoding/utf8 test dir ✓/regular_file_2' => 7} ``` So that it's easier to access than reading gzip file again.
* | Merge branch 'feature/runner-lock-on-project' into 'master' Rémy Coutable2016-06-213-1/+28
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to lock runner on a specific project Make it possible to lock runner on a specific project. ![Screen_Shot_2016-06-20_at_4.03.08_PM](/uploads/186378643a20106ff0b67b6fd8bd7f28/Screen_Shot_2016-06-20_at_4.03.08_PM.png) ---- ![Screen_Shot_2016-06-20_at_9.54.52_PM](/uploads/c479abdffaf19f383bb6b5a42bdd6cc3/Screen_Shot_2016-06-20_at_9.54.52_PM.png) ---- ![Screen_Shot_2016-06-20_at_9.56.26_PM](/uploads/6ad838679b0c28a1fe2e20e9224387ea/Screen_Shot_2016-06-20_at_9.56.26_PM.png) Closes #3407 See merge request !4093
| * \ Merge remote-tracking branch 'upstream/master' into ↵feature/runner-lock-on-projectLin Jen-Shin2016-06-201-0/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | feature/runner-lock-on-project * upstream/master: Add notification_settings:events to schema Fixed mobile styling Set path for pinned nav cookie Fixed placement of close button on merge requests using request dot path instead Turn note into normal text Document environments and deployments Tweak grammar fix double query string in url Broken instructions. git fetch --all --tags doesn't refresh tags
| * \ \ Merge remote-tracking branch 'upstream/master' into ↵Lin Jen-Shin2016-06-206-0/+88
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | feature/runner-lock-on-project * upstream/master: (353 commits) Put some admin settings in dropdown Add styleguide on configuration settings documentation Remove Duplicated keys add UNIQUE index to fingerprint Avoid autoload issue such as 'Mail::Parsers::AddressStruct' Move appearance settings as sub tab to application settings use rails root join fixed a couple of errors spotted in production Fix RangeError exceptions when referring to issues or merge requests outside of max database values Fix bug in `WikiLinkFilter`. Grammar and typographic changes to artifacts documentation Tweak grammar Small frontend code fixes and restore 8a2d88f commit Warn about admin privilege to disable GitHub Webhooks Listing GH Webhooks doesn't stop import process for non GH admin users fixup! updated docs for api endpoint award emoji Update CHANGELOG Ensure Todos counters doesn't count Todos for projects pending delete Add endpoints for award emoji on notes Sort API endpoints and implement feedback Add endpoints for Award Emoji ...
| * | | | Add index for ci_runners.locked, feedback:Lin Jen-Shin2016-06-202-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4093#note_12571602 and https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4093#note_12571670
| * | | | Merge remote-tracking branch 'upstream/master' into ↵Lin Jen-Shin2016-06-1711-25/+205
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | feature/runner-lock-on-project * upstream/master: (337 commits) Update CHANGELOG for !4659 Center the header logo for all Devise emails Add previews for all customized Devise emails Customize the Devise `unlock_instructions` email Customize the Devise `reset_password_instructions` email Customize the Devise `password_change` emails Use gitlab-git 10.2.0 Use Git cached counters on project show page Fix indentation scss-lint errors Added title attribute to enties in tree view Closes #18353 Banzai::Filter::ExternalLinkFilter use XPath Reduce queries in IssueReferenceFilter Use gitlab_git 10.1.4 Fixed ordering in Project.find_with_namespace Fix images in emails Banzai::Filter::UploadLinkFilter use XPath Turn Group#owners into a has_many association Make project_id nullable CHANGELOG [ci skip] CHANGELOG [ci skip] ...
| * \ \ \ \ Merge branch 'master' into feature/runner-lock-on-projectLin Jen-Shin2016-06-14349-22/+433
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (147 commits) Update CHANGELOG Remove deprecated issues_tracker and issues_tracker_id from project Schema doesn’t reflect the changes of the last 3 migrations Revert CHANGELOG Also rename "find" in the specs Change to new Notes styleguide Add guide on changing a document's location Change logs.md location in README Move logs/logs.md to administration/logs.md Make "four phase test" Only show branches for revert / cherry-pick Instrument all Banzai::ReferenceParser classes Removed old comment from update_column_in_batches Update columns in batches until no rows are left Remove counters from Pipeline navigation Handle NULL migration errors in migration helpers Fix typo causing related branches to Error 500 Improved SVG sanitizer specs to include smoke tests for clean. Refactored SVG sanitizer Added SVG sanitizer fix to the changelog ...
| * | | | | | include the helperLin Jen-Shin2016-06-091-3/+3
| | | | | | |
| * | | | | | Update migration with add_column_with_default:Lin Jen-Shin2016-06-091-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4093#note_12278454
| * | | | | | Add config field to runner to lock it on projectGrzegorz Bizon2016-06-092-0/+9
| | | | | | |
* | | | | | | Merge branch '17949-error-500-on-gitlab-org-when-visiting-pipelines' into ↵Rémy Coutable2016-06-201-0/+9
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'master' Set missing stages on ci builds to 'test' to avoid regressions in the pipelines view ## What does this MR do? Sets a default stage on old `ci_builds`. ## Are there points in the code the reviewer needs to double check? Is the migration acceptable for online execution? ## Why was this MR needed? Old `ci_builds`with no stages cause a regression on the pipelines index view. ## What are the relevant issue numbers? #17949 Blocked by https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4680 See merge request !4381
| * | | | | | Set missing stages on ci builds to 'test' to avoid regressions in the ↵17949-error-500-on-gitlab-org-when-visiting-pipelinesAlejandro Rodríguez2016-06-201-0/+9
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | pipelines view
* | | | | | Add notification_settings:events to schemaissue_12758_2Felipe Artur2016-06-201-1/+2
|/ / / / /
* | | | | Remove Duplicated keys add UNIQUE index to fingerprint18697-uniqueness-key-validationPaco Guzman2016-06-204-1/+55
| |_|_|/ |/| | |
* | | | Merge master into issue_12758issue_12758Felipe Artur2016-06-175-1/+59
|\ \ \ \
| * \ \ \ Merge branch '2979-personal-access-tokens' into 'master' Douwe Maan2016-06-172-0/+27
| |\ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow creating Personal Access Tokens through the website Related to #2979 - Allow a user to create personal access tokens, and use them to authenticate - Refactor `API::Helpers` into `API::Helpers::Core` and `API::Helpers::Authentication` # Tasks - [ ] #2979 (!3749) - Personal Access Tokens - [x] Basic Implementation - [x] Add UI to add "Personal Access Tokens" - [x] Reload `lib/api` on every request - [x] Respect these tokens for API requests - [x] Just a param or a header too? - [x] Allow revoking tokens - [x] Expire tokens - [x] Left bar should have a "PAT" icon - [x] Scopes? - [x] Copy to Clipboard - [x] Show active/inactive tokens separately - [x] No need to check for expired/revoked in the appropriate places - [x] Why does regular ApplicationController check for private token? - [x] Support non-API requests - [x] Revert (or work on) `lib/api` eager loading - [x] Create MR - [x] Refactoring - [x] Fix tests - [x] Write more tests - [x] Add screenshots to MR - [x] Add description of query performance to MR - [x] Limit the number of queries in the `personal_access_tokens` page - [x] Wait for CI to pass - [x] Fix merge issues in schema.rb - [x] Assign MR to endboss - [x] Wait for feedback - [x] Fix feedback - [x] Wait for CI to pass - [x] Assign to @rspeicher - [x] Fix @rspeicher's comments - [x] Wait for CI to pass - [x] Assign back to @rspeicher - [x] Write documentation and ping @axil - [x] Wait for Axil to respond - [x] Assign to endboss - [x] Address Douwe's feedback - [x] Use the `private_token` or `authentication_token` param instead of `personal_access_token` - [x] Ditto for the header - [x] Assign to endboss - [x] Make sure CI is green - [x] Address Douwe's feedback - [x] Don't go through the `authenticate_user_from_private_token!` method, if a private token is supplied (or combine them) - [x] In `authenticate_user_from_personal_access_token!` don't hit DB if `token_string` is `nil` - [x] Use `current_user.personal_access_tokens.build` in the controller - [x] Remove the "We aren't using `personal_access_token` as the root param" comment - [x] `No need for = "...", we can just have the Inactive ... #{...} on the next line` in the view - [x] Render dates in a (more) human format - [x] CSS issue with table - [x] Don't show the tokens in the UI indefinitely - [x] How to implement scopes? Add-on to current impl? Doorkeeper? - [x] Wait for @DouweM's comments about scopes - [x] Address @DouweM's second review - [x] Try not using `native['innerHTML']` - [x] use contexts for all "when ..." - [x] Ensure consistency (styling) with other pages for "You don't have any tokens" message - [x] "Actions" table column doesn't need a label - [x] %td can be moved outside of the if/else statement - [x] The header title should be "Profile Settings" - [x] Can this be a `before_create`, so we don't need to use `generate`? - [x] If it couldn't be revoked, will we show an error? - [x] If it couldn't be saved, will we show an error? - [x] Merge master - [x] Update CHANGELOG entry - [x] Add tests for form errors? - [x] Post screenshots - [x] Tag @jschatz1 for review - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/0dff6fd/builds) to pass - [x] Respond to @jschatz1's comments - [x] Hardcoded colors should be variables - [x] Should not be allowed to chose a date in the past - [x] Use the same table as in the Applications tab - [x] button should say "Create Personal Access Token" - [x] Float the revoke to the right on the `a` - [x] Change revocation message. "Are you sure you want to revoke this certificate? This action cannot be undone." - [x] Date stays selected and looks selected even though date is set as "never". - [x] ~~hover on the calendar button shifts~~ (not caused by this MR - happens on `milestones#new` as well) - [x] Don't use the panel for the created token - [x] Use a normal flash for "Your new personal access token has been created" - [x] Show the input (with the token) below it full width. - [x] Put the "Make sure you save it - you won't be able to access it again." message near the input - [x] Have the input highlight all on single click - [x] Update screenshots - [x] Merge master in + conflicts - [x] Assign to @jschatz1 again - [x] Respond to @jschatz1's comments - [x] No button for clipboard, only link - [x] text-danger - [x] highlight fade on that area where the token was created - [x] Make sure [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/d754d99179f1ffe846fcc1d8e858163b39efc5dc/builds) is green - [x] Assign to @jschatz1 - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/faa0e3f7580bc38d4d12916b4589c64d6c2678a7/builds) to pass - [x] Respond to @DouweM's feedback - [x] move the redirect_to out of the if/else - [x] certificate -> token - [x] datepicker back to text field - [x] combine the get_user_from_private_token and get_user_from_personal_access_token methods in ApplicationController - [x] combine the get_user_from_private_token and get_user_from_personal_access_token methods in `lib/api/helpers` - [x] don't need the new constants - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/9d7cda3ddce52baad9618466a5d00319b333be57/builds) to pass - [ ] Wait for merge # Screenshots ![Screen_Shot_2016-06-16_at_8.30.33_AM](/uploads/30a168964b7c5e0eb322705747829fb6/Screen_Shot_2016-06-16_at_8.30.33_AM.png) ![Screen_Shot_2016-06-16_at_8.30.44_AM](/uploads/7a8202885df6120071bbe81b215aaead/Screen_Shot_2016-06-16_at_8.30.44_AM.png) ![Screen_Shot_2016-06-16_at_8.31.02_AM](/uploads/6905c0848864e390138b771389c7a1b2/Screen_Shot_2016-06-16_at_8.31.02_AM.png) ![Screen_Shot_2016-06-16_at_8.31.29_AM](/uploads/0bc92369fb2f9bc335773f6abec421c3/Screen_Shot_2016-06-16_at_8.31.29_AM.png) See merge request !3749
| | * | | Merge remote-tracking branch 'origin/master' into 2979-personal-access-tokensTimothy Andrew2016-06-1610-25/+184
| | |\ \ \
| | * | | | Fix rubocop spec.Timothy Andrew2016-06-141-1/+1
| | | | | |
| | * | | | Merge remote-tracking branch 'origin/master' into 2979-personal-access-tokensTimothy Andrew2016-06-14349-22/+433
| | |\ \ \ \ | | | | |_|/ | | | |/| |
| | * | | | Merge remote-tracking branch 'origin/master' into 2979-personal-access-tokensTimothy Andrew2016-06-0911-10/+131
| | |\ \ \ \ | | | | |_|/ | | | |/| |
| | * | | | Merge remote-tracking branch 'origin/master' into 2979-personal-access-tokensTimothy Andrew2016-06-0314-27/+138
| | |\ \ \ \
| | * \ \ \ \ Merge remote-tracking branch 'origin/master' into 2979-personal-access-tokensTimothy Andrew2016-05-114-12/+25
| | |\ \ \ \ \
| | * | | | | | Merge the "personal access token"-related migrations.Timothy Andrew2016-04-283-10/+2
| | | | | | | |
| | * | | | | | Allow expiration of personal access tokens.Timothy Andrew2016-04-281-0/+5
| | | | | | | |
| | * | | | | | Allow revoking personal access tokens.Timothy Andrew2016-04-281-0/+5
| | | | | | | |
| | * | | | | | Allow creating Personal Access Tokens through the website.Timothy Andrew2016-04-282-0/+25
| | | | | | | |
| * | | | | | | Make project_id nullableKamil Trzcinski2016-06-162-1/+22
| | |_|_|_|_|/ | |/| | | | |
| * | | | | | Add index on `requested_at` to the `members` tableadd-index-on-requested_at-to-membersRémy Coutable2016-06-152-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* | | | | | | Implement custom notification level optionsFelipe Artur2016-06-151-0/+7
|/ / / / / /
* | | | | | Merge branch 'environments-and-deployments' into 'master' Rémy Coutable2016-06-154-13/+96
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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