From 073ba05d315881730de3995042cc4256c116e2c4 Mon Sep 17 00:00:00 2001 From: Jarka Kadlecova Date: Thu, 31 Aug 2017 12:38:32 +0200 Subject: Support discussion lock in the API --- doc/api/issues.md | 57 +++++++++++++++++++++++++++++++++++++++++++---- doc/api/merge_requests.md | 11 ++++++++- 2 files changed, 63 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/api/issues.md b/doc/api/issues.md index 8ca66049d31..61e42345153 100644 --- a/doc/api/issues.md +++ b/doc/api/issues.md @@ -109,7 +109,8 @@ Example response: "human_time_estimate": null, "human_total_time_spent": null }, - "confidential": false + "confidential": false, + "discussion_locked": false } ] ``` @@ -214,7 +215,8 @@ Example response: "human_time_estimate": null, "human_total_time_spent": null }, - "confidential": false + "confidential": false, + "discussion_locked": false } ] ``` @@ -320,7 +322,8 @@ Example response: "human_time_estimate": null, "human_total_time_spent": null }, - "confidential": false + "confidential": false, + "discussion_locked": false } ] ``` @@ -403,6 +406,7 @@ Example response: "human_total_time_spent": null }, "confidential": false, + "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", @@ -477,6 +481,7 @@ Example response: "human_total_time_spent": null }, "confidential": false, + "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", @@ -510,6 +515,8 @@ PUT /projects/:id/issues/:issue_iid | `state_event` | string | no | The state event of an issue. Set `close` to close the issue and `reopen` to reopen it | | `updated_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) | | `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` | +| `discussion_locked` | boolean | no | Updates an issue to lock or unlock its discussion | + ```bash curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/4/issues/85?state_event=close @@ -552,6 +559,7 @@ Example response: "human_total_time_spent": null }, "confidential": false, + "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", @@ -650,6 +658,7 @@ Example response: "human_total_time_spent": null }, "confidential": false, + "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", @@ -727,6 +736,7 @@ Example response: "human_total_time_spent": null }, "confidential": false, + "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", @@ -757,6 +767,44 @@ POST /projects/:id/issues/:issue_iid/unsubscribe curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/5/issues/93/unsubscribe ``` +Example response: + +```json +{ + "id": 93, + "iid": 12, + "project_id": 5, + "title": "Incidunt et rerum ea expedita iure quibusdam.", + "description": "Et cumque architecto sed aut ipsam.", + "state": "opened", + "created_at": "2016-04-05T21:41:45.217Z", + "updated_at": "2016-04-07T13:02:37.905Z", + "labels": [], + "milestone": null, + "assignee": { + "name": "Edwardo Grady", + "username": "keyon", + "id": 21, + "state": "active", + "avatar_url": "http://www.gravatar.com/avatar/3e6f06a86cf27fa8b56f3f74f7615987?s=80&d=identicon", + "web_url": "https://gitlab.example.com/keyon" + }, + "author": { + "name": "Vivian Hermann", + "username": "orville", + "id": 11, + "state": "active", + "avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon", + "web_url": "https://gitlab.example.com/orville" + }, + "subscribed": false, + "due_date": null, + "web_url": "http://example.com/example/example/issues/12", + "confidential": false, + "discussion_locked": false +} +``` + ## Create a todo Manually creates a todo for the current user on an issue. If @@ -849,7 +897,8 @@ Example response: "downvotes": 0, "due_date": null, "web_url": "http://example.com/example/example/issues/110", - "confidential": false + "confidential": false, + "discussion_locked": false }, "target_url": "https://gitlab.example.com/gitlab-org/gitlab-ci/issues/10", "body": "Vel voluptas atque dicta mollitia adipisci qui at.", diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md index bff8a2d3e4d..e5d1ebb9cfb 100644 --- a/doc/api/merge_requests.md +++ b/doc/api/merge_requests.md @@ -192,6 +192,7 @@ Parameters: "should_remove_source_branch": true, "force_remove_source_branch": false, "web_url": "http://example.com/example/example/merge_requests/1", + "discussion_locked": false, "time_stats": { "time_estimate": 0, "total_time_spent": 0, @@ -267,6 +268,7 @@ Parameters: "should_remove_source_branch": true, "force_remove_source_branch": false, "web_url": "http://example.com/example/example/merge_requests/1", + "discussion_locked": false, "time_stats": { "time_estimate": 0, "total_time_spent": 0, @@ -378,6 +380,7 @@ Parameters: "should_remove_source_branch": true, "force_remove_source_branch": false, "web_url": "http://example.com/example/example/merge_requests/1", + "discussion_locked": false, "time_stats": { "time_estimate": 0, "total_time_spent": 0, @@ -471,6 +474,7 @@ POST /projects/:id/merge_requests "should_remove_source_branch": true, "force_remove_source_branch": false, "web_url": "http://example.com/example/example/merge_requests/1", + "discussion_locked": false, "time_stats": { "time_estimate": 0, "total_time_spent": 0, @@ -500,6 +504,7 @@ PUT /projects/:id/merge_requests/:merge_request_iid | `labels` | string | no | Labels for MR as a comma-separated list | | `milestone_id` | integer | no | The ID of a milestone | | `remove_source_branch` | boolean | no | Flag indicating if a merge request should remove the source branch when merging | +| `discussion_locked` | boolean | no | Flag indicating if the merge request's discussion is locked | Must include at least one non-required attribute from above. @@ -554,6 +559,7 @@ Must include at least one non-required attribute from above. "should_remove_source_branch": true, "force_remove_source_branch": false, "web_url": "http://example.com/example/example/merge_requests/1", + "discussion_locked": false, "time_stats": { "time_estimate": 0, "total_time_spent": 0, @@ -658,6 +664,7 @@ Parameters: "should_remove_source_branch": true, "force_remove_source_branch": false, "web_url": "http://example.com/example/example/merge_requests/1", + "discussion_locked": false, "time_stats": { "time_estimate": 0, "total_time_spent": 0, @@ -734,6 +741,7 @@ Parameters: "should_remove_source_branch": true, "force_remove_source_branch": false, "web_url": "http://example.com/example/example/merge_requests/1", + "discussion_locked": false, "time_stats": { "time_estimate": 0, "total_time_spent": 0, @@ -1028,7 +1036,8 @@ Example response: "id": 14, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon", - "web_url": "https://gitlab.example.com/francisca" + "web_url": "https://gitlab.example.com/francisca", + "discussion_locked": false }, "assignee": { "name": "Dr. Gabrielle Strosin", -- cgit v1.2.1 From 994e7d135947ca162c147c5e0992a0190de22808 Mon Sep 17 00:00:00 2001 From: Jarka Kadlecova Date: Fri, 1 Sep 2017 14:03:57 +0200 Subject: Create system notes for MR too, improve doc + clean up code --- doc/api/issues.md | 2 +- doc/api/merge_requests.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/api/issues.md b/doc/api/issues.md index 61e42345153..479f8754bcc 100644 --- a/doc/api/issues.md +++ b/doc/api/issues.md @@ -515,7 +515,7 @@ PUT /projects/:id/issues/:issue_iid | `state_event` | string | no | The state event of an issue. Set `close` to close the issue and `reopen` to reopen it | | `updated_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) | | `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` | -| `discussion_locked` | boolean | no | Updates an issue to lock or unlock its discussion | +| `discussion_locked` | boolean | no | Flag indicating if the issue's discussion is locked. If the discussion is locked only project members can add or edit comments. | ```bash diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md index e5d1ebb9cfb..64daed7c326 100644 --- a/doc/api/merge_requests.md +++ b/doc/api/merge_requests.md @@ -504,7 +504,7 @@ PUT /projects/:id/merge_requests/:merge_request_iid | `labels` | string | no | Labels for MR as a comma-separated list | | `milestone_id` | integer | no | The ID of a milestone | | `remove_source_branch` | boolean | no | Flag indicating if a merge request should remove the source branch when merging | -| `discussion_locked` | boolean | no | Flag indicating if the merge request's discussion is locked | +| `discussion_locked` | boolean | no | Flag indicating if the merge request's discussion is locked. If the discussion is locked only project members can add, edit or resolve comments. | Must include at least one non-required attribute from above. -- cgit v1.2.1 From f5c38eccbe4c8f554f7f112b0233722dbb2c3628 Mon Sep 17 00:00:00 2001 From: Markus Koller Date: Tue, 19 Sep 2017 16:32:52 +0200 Subject: Add link to OpenID Connect documentation --- doc/topics/authentication/index.md | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/topics/authentication/index.md b/doc/topics/authentication/index.md index fac91935a45..597c98fbf6b 100644 --- a/doc/topics/authentication/index.md +++ b/doc/topics/authentication/index.md @@ -11,6 +11,7 @@ This page gathers all the resources for the topic **Authentication** within GitL - [Security Webcast with Yubico](https://about.gitlab.com/2016/08/31/gitlab-and-yubico-security-webcast/) - **Integrations:** - [GitLab as OAuth2 authentication service provider](../../integration/oauth_provider.md#introduction-to-oauth) + - [GitLab as OpenID Connect identity provider](../../integration/openid_connect_provider.md) ## GitLab administrators -- cgit v1.2.1 From 9cc8c631ba237fefdc8c97aeee1baf2dd2514581 Mon Sep 17 00:00:00 2001 From: Valery Sizov Date: Thu, 14 Sep 2017 18:55:19 +0300 Subject: Add documentation for MR's fast-forward merge method --- .../project/merge_requests/fast_forward_merge.md | 35 ++++++++++++++++++++++ doc/user/project/merge_requests/index.md | 14 +++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 doc/user/project/merge_requests/fast_forward_merge.md (limited to 'doc') diff --git a/doc/user/project/merge_requests/fast_forward_merge.md b/doc/user/project/merge_requests/fast_forward_merge.md new file mode 100644 index 00000000000..610a01a205f --- /dev/null +++ b/doc/user/project/merge_requests/fast_forward_merge.md @@ -0,0 +1,35 @@ +# Fast-forward merge requests + +Retain a linear Git history and a way to accept merge requests without +creating merge commits. + +## Overview + +When the fast-forward merge ([`--ff-only`][ffonly]) setting is enabled, no merge +commits will be created and all merges are fast-forwarded, which means that +merging is only allowed if the branch could be fast-forwarded. + +When a fast-forward merge is not possible, the user must rebase the branch manually. + +## Use cases + +Sometimes, a workflow policy might mandate a clean commit history without +merge commits. In such cases, the fast-forward merge is the perfect candidate. + +## Enabling fast-forward merges + +1. Navigate to your project's **Settings** and search for the 'Merge method' +1. Select the **Fast-forward merge** option +1. Hit **Save changes** for the changes to take effect + +Now, when you visit the merge request page, you will be able to accept it +**only if a fast-forward merge is possible**. + +![Fast forward merge request](img/ff_merge_mr.png) + +If the target branch is ahead of the source branch, you need to rebase the +source branch before you will be able to do a fast-forward merge. + +![Fast forward merge rebase](img/ff_merge_rebase.png) + +[ffonly]: https://git-scm.com/docs/git-merge#git-merge---ff-only diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md index 26c6277d33a..29b4dcbc5cf 100644 --- a/doc/user/project/merge_requests/index.md +++ b/doc/user/project/merge_requests/index.md @@ -23,12 +23,13 @@ With GitLab merge requests, you can: - Organize your issues and merge requests consistently throughout the project with [labels](../../project/labels.md) - Add a time estimation and the time spent with that merge request with [Time Tracking](../../../workflow/time_tracking.html#time-tracking) - [Resolve merge conflicts from the UI](#resolve-conflicts) +- Enable [fast-forward merge requests](https://docs.gitlab.com/ce/user/project/merge_requests/fast_forward_merge.html) + With **[GitLab Enterprise Edition][ee]**, you can also: - View the deployment process across projects with [Multi-Project Pipeline Graphs](https://docs.gitlab.com/ee/ci/multi_project_pipeline_graphs.html#multi-project-pipeline-graphs) (available only in GitLab Enterprise Edition Premium) - Request [approvals](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html) from your managers (available in GitLab Enterprise Edition Starter) -- Enable [fast-forward merge requests](https://docs.gitlab.com/ee/user/project/merge_requests/fast_forward_merge.html) (available in GitLab Enterprise Edition Starter) - [Squash and merge](https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html) for a cleaner commit history (available in GitLab Enterprise Edition Starter) - Enable [semi-linear history merge requests](https://docs.gitlab.com/ee/user/project/merge_requests/index.html#semi-linear-history-merge-requests) as another security layer to guarantee the pipeline is passing in the target branch (available in GitLab Enterprise Edition Starter) - Analise the impact of your changes with [Code Quality reports](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality_diff.html) (available in GitLab Enterprise Edition Starter) @@ -89,6 +90,15 @@ in a merged merge requests or a commit. [Learn more about cherry-picking changes.](cherry_pick_changes.md) +## Fast-forward merge requests + +> Included in [GitLab Enterprise Edition Starter][products]. + +If you prefer a linear Git history and a way to accept merge requests without +creating merge commits, you can configure this on a per-project basis. + +[Read more about fast-forward merge requests.](fast_forward_merge.md) + ## Merge when pipeline succeeds When reviewing a merge request that looks ready to merge but still has one or @@ -254,4 +264,4 @@ git checkout origin/merge-requests/1 ``` [protected branches]: ../protected_branches.md -[ee]: https://about.gitlab.com/gitlab-ee/ "GitLab Enterprise Edition" \ No newline at end of file +[ee]: https://about.gitlab.com/gitlab-ee/ "GitLab Enterprise Edition" -- cgit v1.2.1 From 8e7b88155658165baf70981033a9737ee0ad09f2 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 19 Sep 2017 00:04:19 -0500 Subject: Update fast-forward mr widget docs and add images --- doc/user/project/merge_requests/fast_forward_merge.md | 4 ++-- doc/user/project/merge_requests/img/ff_merge_mr.png | Bin 0 -> 21380 bytes .../merge_requests/img/ff_merge_rebase_locally.png | Bin 0 -> 21013 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 doc/user/project/merge_requests/img/ff_merge_mr.png create mode 100644 doc/user/project/merge_requests/img/ff_merge_rebase_locally.png (limited to 'doc') diff --git a/doc/user/project/merge_requests/fast_forward_merge.md b/doc/user/project/merge_requests/fast_forward_merge.md index 610a01a205f..085170d9f03 100644 --- a/doc/user/project/merge_requests/fast_forward_merge.md +++ b/doc/user/project/merge_requests/fast_forward_merge.md @@ -28,8 +28,8 @@ Now, when you visit the merge request page, you will be able to accept it ![Fast forward merge request](img/ff_merge_mr.png) If the target branch is ahead of the source branch, you need to rebase the -source branch before you will be able to do a fast-forward merge. +source branch locally before you will be able to do a fast-forward merge. -![Fast forward merge rebase](img/ff_merge_rebase.png) +![Fast forward merge rebase locally](img/ff_merge_rebase_locally.png) [ffonly]: https://git-scm.com/docs/git-merge#git-merge---ff-only diff --git a/doc/user/project/merge_requests/img/ff_merge_mr.png b/doc/user/project/merge_requests/img/ff_merge_mr.png new file mode 100644 index 00000000000..241cc990343 Binary files /dev/null and b/doc/user/project/merge_requests/img/ff_merge_mr.png differ diff --git a/doc/user/project/merge_requests/img/ff_merge_rebase_locally.png b/doc/user/project/merge_requests/img/ff_merge_rebase_locally.png new file mode 100644 index 00000000000..fb412296efc Binary files /dev/null and b/doc/user/project/merge_requests/img/ff_merge_rebase_locally.png differ -- cgit v1.2.1 From fb59f55f47c3b19c0cebcba319cbe89c8db3d509 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 19 Sep 2017 00:15:10 -0500 Subject: Fix MR docs link to fast-forward section --- doc/user/project/merge_requests/index.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md index 29b4dcbc5cf..00e1f336702 100644 --- a/doc/user/project/merge_requests/index.md +++ b/doc/user/project/merge_requests/index.md @@ -23,7 +23,7 @@ With GitLab merge requests, you can: - Organize your issues and merge requests consistently throughout the project with [labels](../../project/labels.md) - Add a time estimation and the time spent with that merge request with [Time Tracking](../../../workflow/time_tracking.html#time-tracking) - [Resolve merge conflicts from the UI](#resolve-conflicts) -- Enable [fast-forward merge requests](https://docs.gitlab.com/ce/user/project/merge_requests/fast_forward_merge.html) +- Enable [fast-forward merge requests](#fast-forward-merge-requests) With **[GitLab Enterprise Edition][ee]**, you can also: @@ -92,8 +92,6 @@ in a merged merge requests or a commit. ## Fast-forward merge requests -> Included in [GitLab Enterprise Edition Starter][products]. - If you prefer a linear Git history and a way to accept merge requests without creating merge commits, you can configure this on a per-project basis. -- cgit v1.2.1 From fab5567a09cffe4f070913ff3a2205ece0e31904 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 19 Sep 2017 00:24:02 -0500 Subject: Update fast-forward doc links to point at own docs --- doc/user/project/settings/index.md | 2 +- doc/workflow/README.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/user/project/settings/index.md b/doc/user/project/settings/index.md index 22c343dc027..b7c7a5e5d28 100644 --- a/doc/user/project/settings/index.md +++ b/doc/user/project/settings/index.md @@ -23,7 +23,7 @@ Add an [issue description template](../description_templates.md#description-temp Set up your project's merge request settings: -- Set up the merge request method (merge commit, [fast-forward merge](https://docs.gitlab.com/ee/user/project/merge_requests/fast_forward_merge.html#fast-forward-merge-requests)). _Fast-forward is available in [GitLab Enterprise Edition Starter](https://about.gitlab.com/gitlab-ee/)._ +- Set up the merge request method (merge commit, [fast-forward merge](../merge_requests/fast_forward_merge.html)). - Merge request [description templates](../description_templates.md#description-templates). - Enable [merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html#merge-request-approvals), _available in [GitLab Enterprise Edition Starter](https://about.gitlab.com/gitlab-ee/)_. - Enable [merge only of pipeline succeeds](../merge_requests/merge_when_pipeline_succeeds.md). diff --git a/doc/workflow/README.md b/doc/workflow/README.md index 673e08287a3..6b2aba47f54 100644 --- a/doc/workflow/README.md +++ b/doc/workflow/README.md @@ -36,6 +36,7 @@ - [Revert changes in the UI](../user/project/merge_requests/revert_changes.md) - [Merge requests versions](../user/project/merge_requests/versions.md) - ["Work In Progress" merge requests](../user/project/merge_requests/work_in_progress_merge_requests.md) + - [Fast-forward merge requests](../user/project/merge_requests/fast_forward_merge.md) - [Manage large binaries with Git LFS](lfs/manage_large_binaries_with_git_lfs.md) - [Importing from SVN, GitHub, Bitbucket, etc](importing/README.md) - [Todos](todos.md) -- cgit v1.2.1 From fb664d3732c690f9c36c82fd187982f92a15b3a2 Mon Sep 17 00:00:00 2001 From: Hazel Yang Date: Thu, 18 May 2017 05:38:17 +0000 Subject: Add new file --- doc/development/ux_guide/illustrations.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/development/ux_guide/illustrations.md (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.1 From a7b1779c45d9d1eae57d4bcf6613059bfa0b5ace Mon Sep 17 00:00:00 2001 From: Hazel Yang Date: Thu, 18 May 2017 06:15:47 +0000 Subject: Update illustrations.md --- doc/development/ux_guide/illustrations.md | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index e69de29bb2d..168a3cd33f4 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -0,0 +1,52 @@ +# Illustrations + +The illustrations should always align with topics and goals in specific context. + +## Principles + +#### Be simple. +- For clarity, we use simple and specific elements to create our illustrations. + +#### Be optimistic. +- We are an open-minded, optimistic, and friendly team. We should reflect those values on our illustrations to connect with our brand experience. + +#### Be gentle. +- Our illustrations assist users understand context and guide users to the right direction. Illustrations are supportive, so it should be obvious but not aggressive. + + +## Style + +#### Shapes +- All illustrations are geometric rather than organic. +- The illustrations are made by circles, rectangles, squares, and triangles. + +![example-shapes]() + +#### Stroke +- Standard border thickness: **4px** +- Depends on different situations, border thickness can be changed to **3px**. For example, when the illustration size is small, the illustration with 4px border thickness would look tight. In this case, the border thickness can be changed to 3px. +- We use **rounded caps** and **rounded corner**. + +![example-caps-and-corner]() + +#### Radius +- Standard corner radius: **10px** +- Depends on different situations, corner radius can be changed to **5px**. For example, when the illustration size is small, the illustration with 10px corner radius would be over-rounded. In this case, the corner radius can be changed to 5px. + +![example-radius]() + +#### Colors + +| Orange | Purple | Grey | +| -------- | -------- | -------- | +| ![color-orange]() | ![color-purple]() | ![color-grey]() | +| #FC6D26 | #6B4FBB | #EEEEEE | + +##### Color palette +We suggest that pick the colors from the color palette. + +| Orange | Purple | +| -------- | -------- | +| ![palette-orange]() | ![palette-purple]() | + + -- cgit v1.2.1 From a331d7603a3466ff602cddc2a3c5e95385adc5fe Mon Sep 17 00:00:00 2001 From: Hazel Yang Date: Thu, 18 May 2017 06:26:03 +0000 Subject: Update illustrations.md --- doc/development/ux_guide/illustrations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index 168a3cd33f4..89547b2352d 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -43,7 +43,7 @@ The illustrations should always align with topics and goals in specific context. | #FC6D26 | #6B4FBB | #EEEEEE | ##### Color palette -We suggest that pick the colors from the color palette. +For consistency, we suggest to pick the colors from the color palette. | Orange | Purple | | -------- | -------- | -- cgit v1.2.1 From 55a6d20a7ee7dc4f42baa2b5155f80609ca1452b Mon Sep 17 00:00:00 2001 From: Hazel Yang Date: Fri, 19 May 2017 05:21:27 +0000 Subject: Update illustrations.md --- doc/development/ux_guide/illustrations.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index 89547b2352d..5e7d243805d 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -27,7 +27,10 @@ The illustrations should always align with topics and goals in specific context. - Depends on different situations, border thickness can be changed to **3px**. For example, when the illustration size is small, the illustration with 4px border thickness would look tight. In this case, the border thickness can be changed to 3px. - We use **rounded caps** and **rounded corner**. -![example-caps-and-corner]() +| Do | Don't | +| -------- | -------- | +| ![example-caps-and-corner--do]() | ![example-caps-and-corner--dont]() | + #### Radius - Standard corner radius: **10px** @@ -35,15 +38,16 @@ The illustrations should always align with topics and goals in specific context. ![example-radius]() -#### Colors +#### Colors palette + +For consistency, we suggest to pick the colors from the color palette. | Orange | Purple | Grey | | -------- | -------- | -------- | | ![color-orange]() | ![color-purple]() | ![color-grey]() | | #FC6D26 | #6B4FBB | #EEEEEE | -##### Color palette -For consistency, we suggest to pick the colors from the color palette. + | Orange | Purple | | -------- | -------- | -- cgit v1.2.1 From f09a7b0bbb179a15890705667366f7f9dc2a4e24 Mon Sep 17 00:00:00 2001 From: Hazel Date: Fri, 19 May 2017 13:26:25 +0800 Subject: Add the images for illustration guidelines --- .../ux_guide/img/illustrations-border-radius.png | Bin 0 -> 7779 bytes doc/development/ux_guide/img/illustrations-caps-do.png | Bin 0 -> 3775 bytes .../ux_guide/img/illustrations-caps-don't.png | Bin 0 -> 3922 bytes .../ux_guide/img/illustrations-color-grey.png | Bin 0 -> 251 bytes .../ux_guide/img/illustrations-color-orange.png | Bin 0 -> 275 bytes .../ux_guide/img/illustrations-color-purple.png | Bin 0 -> 275 bytes .../ux_guide/img/illustrations-geometric.png | Bin 0 -> 5057 bytes .../ux_guide/img/illustrations-palette-oragne.png | Bin 0 -> 10419 bytes .../ux_guide/img/illustrations-palette-purple.png | Bin 0 -> 9924 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 doc/development/ux_guide/img/illustrations-border-radius.png create mode 100755 doc/development/ux_guide/img/illustrations-caps-do.png create mode 100755 doc/development/ux_guide/img/illustrations-caps-don't.png create mode 100755 doc/development/ux_guide/img/illustrations-color-grey.png create mode 100755 doc/development/ux_guide/img/illustrations-color-orange.png create mode 100755 doc/development/ux_guide/img/illustrations-color-purple.png create mode 100755 doc/development/ux_guide/img/illustrations-geometric.png create mode 100755 doc/development/ux_guide/img/illustrations-palette-oragne.png create mode 100755 doc/development/ux_guide/img/illustrations-palette-purple.png (limited to 'doc') diff --git a/doc/development/ux_guide/img/illustrations-border-radius.png b/doc/development/ux_guide/img/illustrations-border-radius.png new file mode 100755 index 00000000000..4e2fef5c7f5 Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-border-radius.png differ diff --git a/doc/development/ux_guide/img/illustrations-caps-do.png b/doc/development/ux_guide/img/illustrations-caps-do.png new file mode 100755 index 00000000000..7a2c74382f6 Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-caps-do.png differ diff --git a/doc/development/ux_guide/img/illustrations-caps-don't.png b/doc/development/ux_guide/img/illustrations-caps-don't.png new file mode 100755 index 00000000000..848f72dbe30 Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-caps-don't.png differ diff --git a/doc/development/ux_guide/img/illustrations-color-grey.png b/doc/development/ux_guide/img/illustrations-color-grey.png new file mode 100755 index 00000000000..63855026c2b Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-color-grey.png differ diff --git a/doc/development/ux_guide/img/illustrations-color-orange.png b/doc/development/ux_guide/img/illustrations-color-orange.png new file mode 100755 index 00000000000..96765c8c28c Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-color-orange.png differ diff --git a/doc/development/ux_guide/img/illustrations-color-purple.png b/doc/development/ux_guide/img/illustrations-color-purple.png new file mode 100755 index 00000000000..745d2c853ba Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-color-purple.png differ diff --git a/doc/development/ux_guide/img/illustrations-geometric.png b/doc/development/ux_guide/img/illustrations-geometric.png new file mode 100755 index 00000000000..33f05547bac Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-geometric.png differ diff --git a/doc/development/ux_guide/img/illustrations-palette-oragne.png b/doc/development/ux_guide/img/illustrations-palette-oragne.png new file mode 100755 index 00000000000..58df4459c24 Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-palette-oragne.png differ diff --git a/doc/development/ux_guide/img/illustrations-palette-purple.png b/doc/development/ux_guide/img/illustrations-palette-purple.png new file mode 100755 index 00000000000..da5c1e245c9 Binary files /dev/null and b/doc/development/ux_guide/img/illustrations-palette-purple.png differ -- cgit v1.2.1 From 85efbd1f0792b4d69e90de665e3e37345159ff47 Mon Sep 17 00:00:00 2001 From: Hazel Yang Date: Fri, 19 May 2017 05:39:20 +0000 Subject: Add some images to illustrations.md --- doc/development/ux_guide/illustrations.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index 5e7d243805d..cd0d61a9d3d 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -20,7 +20,7 @@ The illustrations should always align with topics and goals in specific context. - All illustrations are geometric rather than organic. - The illustrations are made by circles, rectangles, squares, and triangles. -![example-shapes]() +Example for geometric #### Stroke - Standard border thickness: **4px** @@ -29,14 +29,14 @@ The illustrations should always align with topics and goals in specific context. | Do | Don't | | -------- | -------- | -| ![example-caps-and-corner--do]() | ![example-caps-and-corner--dont]() | +| Do: caps and corner | Don't: caps and corner | #### Radius - Standard corner radius: **10px** - Depends on different situations, corner radius can be changed to **5px**. For example, when the illustration size is small, the illustration with 10px corner radius would be over-rounded. In this case, the corner radius can be changed to 5px. -![example-radius]() +Example for border radius #### Colors palette @@ -44,13 +44,13 @@ For consistency, we suggest to pick the colors from the color palette. | Orange | Purple | Grey | | -------- | -------- | -------- | -| ![color-orange]() | ![color-purple]() | ![color-grey]() | +| Orange | Purple | Grey | | #FC6D26 | #6B4FBB | #EEEEEE | - +--- | Orange | Purple | | -------- | -------- | -| ![palette-orange]() | ![palette-purple]() | +| Palette - Orange | Palette - Purple | -- cgit v1.2.1 From 7125082edc0f775037ed537b5655cccedcdb015a Mon Sep 17 00:00:00 2001 From: Hazel Yang Date: Fri, 19 May 2017 05:40:24 +0000 Subject: Update image size in illustrations.md --- doc/development/ux_guide/illustrations.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index cd0d61a9d3d..c6478019ed0 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -44,13 +44,13 @@ For consistency, we suggest to pick the colors from the color palette. | Orange | Purple | Grey | | -------- | -------- | -------- | -| Orange | Purple | Grey | +| Orange | Purple | Grey | | #FC6D26 | #6B4FBB | #EEEEEE | --- | Orange | Purple | | -------- | -------- | -| Palette - Orange | Palette - Purple | +| Palette - Orange | Palette - Purple | -- cgit v1.2.1 From c93131d3d03aa19c9bb6738b170dda48744fb211 Mon Sep 17 00:00:00 2001 From: Hazel Yang Date: Fri, 19 May 2017 05:41:53 +0000 Subject: Update illustrations.md --- doc/development/ux_guide/illustrations.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index c6478019ed0..7df8e918e60 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -44,13 +44,13 @@ For consistency, we suggest to pick the colors from the color palette. | Orange | Purple | Grey | | -------- | -------- | -------- | -| Orange | Purple | Grey | +| Orange | Purple | Grey | | #FC6D26 | #6B4FBB | #EEEEEE | --- | Orange | Purple | | -------- | -------- | -| Palette - Orange | Palette - Purple | +| Palette - Orange | Palette - Purple | -- cgit v1.2.1 From ff9a2a8b51de385b4383bf25c5ece5479738f6c4 Mon Sep 17 00:00:00 2001 From: Hazel Date: Wed, 2 Aug 2017 12:43:48 +0800 Subject: Illustration guidelines - Fix grammar error and update images. --- doc/development/ux_guide/illustrations.md | 24 ++++++++++----------- .../ux_guide/img/illustrations-palette-oragne.png | Bin 10419 -> 10439 bytes .../ux_guide/img/illustrations-palette-purple.png | Bin 9924 -> 10002 bytes 3 files changed, 11 insertions(+), 13 deletions(-) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index 7df8e918e60..b9c98277120 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -8,39 +8,39 @@ The illustrations should always align with topics and goals in specific context. - For clarity, we use simple and specific elements to create our illustrations. #### Be optimistic. -- We are an open-minded, optimistic, and friendly team. We should reflect those values on our illustrations to connect with our brand experience. +- We are an open-minded, optimistic, and friendly team. We should reflect those values in our illustrations to connect with our brand experience. #### Be gentle. -- Our illustrations assist users understand context and guide users to the right direction. Illustrations are supportive, so it should be obvious but not aggressive. +- Our illustrations assist users in understanding context and guide users in the right direction. Illustrations are supportive, so they should be obvious but not aggressive. ## Style #### Shapes -- All illustrations are geometric rather than organic. -- The illustrations are made by circles, rectangles, squares, and triangles. +- All illustrations are geometric rather than organic. +- The illustrations are made by circles, rectangles, squares, and triangles. Example for geometric #### Stroke - Standard border thickness: **4px** -- Depends on different situations, border thickness can be changed to **3px**. For example, when the illustration size is small, the illustration with 4px border thickness would look tight. In this case, the border thickness can be changed to 3px. +- Depending on the situation, border thickness can be changed to **3px**. For example, when the illustration size is small, an illustration with 4px border thickness would look tight. In this case, the border thickness can be changed to 3px. - We use **rounded caps** and **rounded corner**. | Do | Don't | -| -------- | -------- | +| -------- | -------- | | Do: caps and corner | Don't: caps and corner | #### Radius - Standard corner radius: **10px** -- Depends on different situations, corner radius can be changed to **5px**. For example, when the illustration size is small, the illustration with 10px corner radius would be over-rounded. In this case, the corner radius can be changed to 5px. +- Depending on the situation, corner radius can be changed to **5px**. For example, when the illustration size is small, an illustration with 10px corner radius would be over-rounded. In this case, the corner radius can be changed to 5px. -Example for border radius +Example for border radius #### Colors palette -For consistency, we suggest to pick the colors from the color palette. +For consistency, we recommend choosing colors from our color palette. | Orange | Purple | Grey | | -------- | -------- | -------- | @@ -50,7 +50,5 @@ For consistency, we suggest to pick the colors from the color palette. --- | Orange | Purple | -| -------- | -------- | -| Palette - Orange | Palette - Purple | - - +| -------- | -------- | +| Palette - Orange | Palette - Purple | diff --git a/doc/development/ux_guide/img/illustrations-palette-oragne.png b/doc/development/ux_guide/img/illustrations-palette-oragne.png index 58df4459c24..15f35912646 100755 Binary files a/doc/development/ux_guide/img/illustrations-palette-oragne.png and b/doc/development/ux_guide/img/illustrations-palette-oragne.png differ diff --git a/doc/development/ux_guide/img/illustrations-palette-purple.png b/doc/development/ux_guide/img/illustrations-palette-purple.png index da5c1e245c9..e0f5839705e 100755 Binary files a/doc/development/ux_guide/img/illustrations-palette-purple.png and b/doc/development/ux_guide/img/illustrations-palette-purple.png differ -- cgit v1.2.1 From 05ddd46c8646a82647a525933c59cf80887e8e4a Mon Sep 17 00:00:00 2001 From: Hazel Date: Wed, 9 Aug 2017 14:29:38 +0800 Subject: Add size part to the guideline --- doc/development/ux_guide/illustrations.md | 31 ++++++++++++++++++++- .../img/illustration-size-large-horizontal.png | Bin 0 -> 55272 bytes .../img/illustration-size-large-vertical.png | Bin 0 -> 59217 bytes .../ux_guide/img/illustration-size-medium.png | Bin 0 -> 20994 bytes .../ux_guide/img/illustration-size-small.png | Bin 0 -> 43536 bytes 5 files changed, 30 insertions(+), 1 deletion(-) create mode 100755 doc/development/ux_guide/img/illustration-size-large-horizontal.png create mode 100644 doc/development/ux_guide/img/illustration-size-large-vertical.png create mode 100755 doc/development/ux_guide/img/illustration-size-medium.png create mode 100644 doc/development/ux_guide/img/illustration-size-small.png (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index b9c98277120..818076900a6 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -31,13 +31,38 @@ The illustrations should always align with topics and goals in specific context. | -------- | -------- | | Do: caps and corner | Don't: caps and corner | - #### Radius - Standard corner radius: **10px** - Depending on the situation, corner radius can be changed to **5px**. For example, when the illustration size is small, an illustration with 10px corner radius would be over-rounded. In this case, the corner radius can be changed to 5px. Example for border radius +#### Size +Depends on the situation, the illustration size can be the 3 types below: + +**Large** +* Use case: Empty states, error pages(e.g. 404, 403) +* For vertical layout, the illustration should not larger than **430*300 px**. +* For horizontal layout, the illustration should not larger than **430*380 px** + +| Vertocal layout | Horizontal layout | +| --------------- | ----------------- | +| | + +**Medium** +* Use case: Banner +* The illustration should not larger than **240*160 px** +* The illustration should keep simple and clear. We recommend not including too many elements in the medium size illustration. + + + +**Small** +* Use case: Graphics for explanatory text, graphics for status +* The illustration should not larger than **160*90 px** +* The illustration should keep simple and clear. We recommend not including too many elements in the small size illustration. + + + #### Colors palette For consistency, we recommend choosing colors from our color palette. @@ -47,6 +72,10 @@ For consistency, we recommend choosing colors from our color palette. | Orange | Purple | Grey | | #FC6D26 | #6B4FBB | #EEEEEE | +#### Don't +- Don't include the typography in the illustration. +- Don't include tanuki in the illustration. If necessary, we recommend having tanuki monochromatic. + --- | Orange | Purple | diff --git a/doc/development/ux_guide/img/illustration-size-large-horizontal.png b/doc/development/ux_guide/img/illustration-size-large-horizontal.png new file mode 100755 index 00000000000..8aa835adccc Binary files /dev/null and b/doc/development/ux_guide/img/illustration-size-large-horizontal.png differ diff --git a/doc/development/ux_guide/img/illustration-size-large-vertical.png b/doc/development/ux_guide/img/illustration-size-large-vertical.png new file mode 100644 index 00000000000..813b6a065e5 Binary files /dev/null and b/doc/development/ux_guide/img/illustration-size-large-vertical.png differ diff --git a/doc/development/ux_guide/img/illustration-size-medium.png b/doc/development/ux_guide/img/illustration-size-medium.png new file mode 100755 index 00000000000..55cfe1dcb91 Binary files /dev/null and b/doc/development/ux_guide/img/illustration-size-medium.png differ diff --git a/doc/development/ux_guide/img/illustration-size-small.png b/doc/development/ux_guide/img/illustration-size-small.png new file mode 100644 index 00000000000..0124f58f48e Binary files /dev/null and b/doc/development/ux_guide/img/illustration-size-small.png differ -- cgit v1.2.1 From 8d84b7c439f719ca772f6b645d704f2568ac8652 Mon Sep 17 00:00:00 2001 From: Hazel Date: Wed, 16 Aug 2017 12:49:45 +0800 Subject: Add the situation of illustration on mobile --- doc/development/ux_guide/illustrations.md | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index 818076900a6..65497e50d8a 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -63,6 +63,9 @@ Depends on the situation, the illustration size can be the 3 types below: +**Illustration on mobile** +- Keep the proportions in original ratio. + #### Colors palette For consistency, we recommend choosing colors from our color palette. -- cgit v1.2.1 From dc3450d311890dd3284528d3ce25bd9c5375bed2 Mon Sep 17 00:00:00 2001 From: Hazel Date: Mon, 21 Aug 2017 14:19:26 +0800 Subject: Fix typo errors --- doc/development/ux_guide/illustrations.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/development/ux_guide/illustrations.md b/doc/development/ux_guide/illustrations.md index 65497e50d8a..7e16c300921 100644 --- a/doc/development/ux_guide/illustrations.md +++ b/doc/development/ux_guide/illustrations.md @@ -43,9 +43,9 @@ Depends on the situation, the illustration size can be the 3 types below: **Large** * Use case: Empty states, error pages(e.g. 404, 403) * For vertical layout, the illustration should not larger than **430*300 px**. -* For horizontal layout, the illustration should not larger than **430*380 px** +* For horizontal layout, the illustration should not larger than **430*380 px**. -| Vertocal layout | Horizontal layout | +| Vertical layout | Horizontal layout | | --------------- | ----------------- | | | @@ -57,8 +57,8 @@ Depends on the situation, the illustration size can be the 3 types below: **Small** -* Use case: Graphics for explanatory text, graphics for status -* The illustration should not larger than **160*90 px** +* Use case: Graphics for explanatory text, graphics for status. +* The illustration should not larger than **160*90 px**. * The illustration should keep simple and clear. We recommend not including too many elements in the small size illustration. -- cgit v1.2.1 From a9b31786971d83c193a1430df7c5c4550ba5aa6b Mon Sep 17 00:00:00 2001 From: Brett Walker Date: Mon, 11 Sep 2017 19:12:57 +0200 Subject: Make GPG signature verification work with non-primary email (#36959) --- doc/user/project/repository/gpg_signed_commits/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/user/project/repository/gpg_signed_commits/index.md b/doc/user/project/repository/gpg_signed_commits/index.md index dfe43c6b691..d4ef6a58a11 100644 --- a/doc/user/project/repository/gpg_signed_commits/index.md +++ b/doc/user/project/repository/gpg_signed_commits/index.md @@ -26,7 +26,7 @@ to be uploaded to GitLab. For a signature to be verified three conditions need to be met: 1. The public key needs to be added your GitLab account -1. One of the emails in the GPG key matches your **primary** email +1. One of the emails in the GPG key matches a **verified** email address you use in GitLab 1. The committer's email matches the verified email from the gpg key ## Generating a GPG key @@ -94,7 +94,7 @@ started: ``` 1. Enter you real name, the email address to be associated with this key (should - match the primary email address you use in GitLab) and an optional comment + match a verified email address you use in GitLab) and an optional comment (press Enter to skip): ``` -- cgit v1.2.1 From 5cb49663802b39569b0eda26bc183832b0bfcc5a Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Fri, 8 Sep 2017 12:04:12 +0200 Subject: Clarify k8s project namespace --- .../integrations/img/kubernetes_configuration.png | Bin 113827 -> 14407 bytes doc/user/project/integrations/kubernetes.md | 55 ++++++++++++--------- 2 files changed, 31 insertions(+), 24 deletions(-) (limited to 'doc') diff --git a/doc/user/project/integrations/img/kubernetes_configuration.png b/doc/user/project/integrations/img/kubernetes_configuration.png index 349a2dc8456..e535e2b8d46 100644 Binary files a/doc/user/project/integrations/img/kubernetes_configuration.png and b/doc/user/project/integrations/img/kubernetes_configuration.png differ diff --git a/doc/user/project/integrations/kubernetes.md b/doc/user/project/integrations/kubernetes.md index f4000523938..6e9c64bc943 100644 --- a/doc/user/project/integrations/kubernetes.md +++ b/doc/user/project/integrations/kubernetes.md @@ -13,32 +13,39 @@ template, see the [Services Templates](services_templates.md) document. ## Configuration Navigate to the [Integrations page](project_services.md#accessing-the-project-services) -of your project and select the **Kubernetes** service to configure it. +of your project and select the **Kubernetes** service to configure it. Fill in +all the needed parameters, check the "Active" checkbox and hit **Save changes** +for the changes to take effect. ![Kubernetes configuration settings](img/kubernetes_configuration.png) -The Kubernetes service takes the following arguments: - -1. API URL -1. Custom CA bundle -1. Kubernetes namespace -1. Service token - -The API URL is the URL that GitLab uses to access the Kubernetes API. Kubernetes -exposes several APIs - we want the "base" URL that is common to all of them, -e.g., `https://kubernetes.example.com` rather than `https://kubernetes.example.com/api/v1`. - -GitLab authenticates against Kubernetes using service tokens, which are -scoped to a particular `namespace`. If you don't have a service token yet, -you can follow the -[Kubernetes documentation](http://kubernetes.io/docs/user-guide/service-accounts/) -to create one. You can also view or create service tokens in the -[Kubernetes dashboard](http://kubernetes.io/docs/user-guide/ui/) - visit -`Config -> Secrets`. - -Fill in the service token and namespace according to the values you just got. -If the API is using a self-signed TLS certificate, you'll also need to include -the `ca.crt` contents as the `Custom CA bundle`. +The Kubernetes service takes the following parameters: + +- **API URL** - + It's the URL that GitLab uses to access the Kubernetes API. Kubernetes + exposes several APIs, we want the "base" URL that is common to all of them, + e.g., `https://kubernetes.example.com` rather than `https://kubernetes.example.com/api/v1`. +- **CA certificate** (optional) - + If the API is using a self-signed TLS certificate, you'll also need to include + the `ca.crt` contents here. +- **Project namespace** (optional) - The following apply: + - By default you don't have to fill it in; by leaving it blank, GitLab will + create one for you. + - Each project should have a unique namespace. + - The project namespace is not necessarily the namespace of the secret, if + you're using a secret with broader permissions, like the secret from `default`. + - You should **not** use `default` as the project namespace. + - If you or someone created a secret specifically for the project, usually + with limited permissions, the secret's namespace and project namespace may + be the same. +- **Token** - + GitLab authenticates against Kubernetes using service tokens, which are + scoped to a particular `namespace`. If you don't have a service token yet, + you can follow the + [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/) + to create one. You can also view or create service tokens in the + [Kubernetes dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#config) + (under **Config > Secrets**). ## Deployment variables @@ -59,7 +66,7 @@ GitLab CI build environment: ## Web terminals ->**NOTE:** +NOTE: **Note:** Added in GitLab 8.15. You must be the project owner or have `master` permissions to use terminals. Support is currently limited to the first container in the first pod of your environment. -- cgit v1.2.1 From 5c251458b83d67da257047237157278f5c63e7a6 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Fri, 8 Sep 2017 19:48:51 +0200 Subject: Add things that the k8s integration enables --- doc/user/project/integrations/kubernetes.md | 56 +++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/user/project/integrations/kubernetes.md b/doc/user/project/integrations/kubernetes.md index 6e9c64bc943..ff39549fac2 100644 --- a/doc/user/project/integrations/kubernetes.md +++ b/doc/user/project/integrations/kubernetes.md @@ -1,3 +1,7 @@ +--- +last_updated: 2017-09-25 +--- + # GitLab Kubernetes / OpenShift integration GitLab can be configured to interact with Kubernetes, or other systems using the @@ -64,10 +68,56 @@ GitLab CI build environment: - `KUBE_CA_PEM` (deprecated)- only if a custom CA bundle was specified. Raw PEM data. - `KUBECONFIG` - Path to a file containing kubeconfig for this deployment. CA bundle would be embedded if specified. -## Web terminals +## What you can get with the Kubernetes integration + +Here's what you can do with GitLab if you enable the Kubernetes integration. + +### Deploy Boards + +> Available in [GitLab Enterprise Edition Premium][ee]. + +GitLab's Deploy Boards offer a consolidated view of the current health and +status of each CI [environment](../../../ci/environments.md) running on Kubernetes, +displaying the status of the pods in the deployment. Developers and other +teammates can view the progress and status of a rollout, pod by pod, in the +workflow they already use without any need to access Kubernetes. + +[> Read more about Deploy Boards](https://docs.gitlab.com/ee/user/project/deploy_boards.html) + +### Canary Deployments + +> Available in [GitLab Enterprise Edition Premium][ee]. + +Leverage [Kubernetes' Canary deployments](https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#canary-deployments) +and visualize your canary deployments right inside the Deploy Board, without +the need to leave GitLab. + +[> Read more about Canary Deployments](https://docs.gitlab.com/ee/user/project/canary_deployments.html) + +### Kubernetes monitoring + +GitLab has support for automatically detecting and monitoring Kubernetes metrics. +Kubernetes exposes Node level metrics out of the box via the built-in +[Prometheus metrics support in cAdvisor](https://github.com/google/cadvisor). +No additional services or exporters are needed. + +[> Read more about Kubernetes monitoring](./prometheus_library/kubernetes.md) + +### Auto DevOps + +Auto DevOps brings best practices to your project in an easy and default way. +A typical web project starts with Continuous Integration (CI), then adds +automated deployment to production, and maybe some time in the future adds some +kind of monitoring. With Auto DevOps, every project has a complete workflow, +with no configuration, including: **Auto Build**, **Auto Test**, **Auto Code Quality**, +**Auto Review Apps**, **Auto Deploy**, and **Auto Monitoring**. + +[> Read more about Auto DevOps](../../../topics/autodevops/index.md). + +### Web terminals NOTE: **Note:** -Added in GitLab 8.15. You must be the project owner or have `master` permissions +Introduced in GitLab 8.15. You must be the project owner or have `master` permissions to use terminals. Support is currently limited to the first container in the first pod of your environment. @@ -77,3 +127,5 @@ Docker and Kubernetes, so you get a new shell session within your existing containers. To use this integration, you should deploy to Kubernetes using the deployment variables above, ensuring any pods you create are labelled with `app=$CI_ENVIRONMENT_SLUG`. GitLab will do the rest! + +[ee]: https://about.gitlab.com/gitlab-ee/ -- cgit v1.2.1 From 3269588858f8248f528da4ccebfd4bec834518d6 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Fri, 15 Sep 2017 11:05:58 +0200 Subject: Clean up Kubernetes integration docs page --- doc/user/project/integrations/kubernetes.md | 8 +++----- doc/user/project/integrations/prometheus_library/cloudwatch.md | 5 +++++ doc/user/project/integrations/prometheus_library/haproxy.md | 4 ++++ doc/user/project/integrations/prometheus_library/kubernetes.md | 10 ++++++++-- doc/user/project/integrations/prometheus_library/nginx.md | 5 +++++ .../project/integrations/prometheus_library/nginx_ingress.md | 5 +++++ 6 files changed, 30 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/user/project/integrations/kubernetes.md b/doc/user/project/integrations/kubernetes.md index ff39549fac2..a92426fa0fc 100644 --- a/doc/user/project/integrations/kubernetes.md +++ b/doc/user/project/integrations/kubernetes.md @@ -96,10 +96,8 @@ the need to leave GitLab. ### Kubernetes monitoring -GitLab has support for automatically detecting and monitoring Kubernetes metrics. -Kubernetes exposes Node level metrics out of the box via the built-in -[Prometheus metrics support in cAdvisor](https://github.com/google/cadvisor). -No additional services or exporters are needed. +Automatically detect and monitor Kubernetes metrics. Automatic monitoring of +NGINX ingress is also supported. [> Read more about Kubernetes monitoring](./prometheus_library/kubernetes.md) @@ -118,7 +116,7 @@ with no configuration, including: **Auto Build**, **Auto Test**, **Auto Code Qua NOTE: **Note:** Introduced in GitLab 8.15. You must be the project owner or have `master` permissions -to use terminals. Support is currently limited to the first container in the +to use terminals. Support is limited to the first container in the first pod of your environment. When enabled, the Kubernetes service adds [web terminal](../../../ci/environments.md#web-terminals) diff --git a/doc/user/project/integrations/prometheus_library/cloudwatch.md b/doc/user/project/integrations/prometheus_library/cloudwatch.md index cc5cee36d28..34a0b97a171 100644 --- a/doc/user/project/integrations/prometheus_library/cloudwatch.md +++ b/doc/user/project/integrations/prometheus_library/cloudwatch.md @@ -1,8 +1,13 @@ # Monitoring AWS Resources + > [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12621) in GitLab 9.4 GitLab has support for automatically detecting and monitoring AWS resources, starting with the [Elastic Load Balancer](https://aws.amazon.com/elasticloadbalancing/). This is provided by leveraging the official [Cloudwatch exporter](https://github.com/prometheus/cloudwatch_exporter), which translates [Cloudwatch metrics](https://aws.amazon.com/cloudwatch/) into a Prometheus readable form. +## Requirements + +The [Prometheus service](../prometheus/index.md) must be enabled. + ## Metrics supported | Name | Query | diff --git a/doc/user/project/integrations/prometheus_library/haproxy.md b/doc/user/project/integrations/prometheus_library/haproxy.md index d4b5911a91c..518018e5839 100644 --- a/doc/user/project/integrations/prometheus_library/haproxy.md +++ b/doc/user/project/integrations/prometheus_library/haproxy.md @@ -3,6 +3,10 @@ GitLab has support for automatically detecting and monitoring HAProxy. This is provided by leveraging the [HAProxy Exporter](https://github.com/prometheus/haproxy_exporter), which translates HAProxy statistics into a Prometheus readable form. +## Requirements + +The [Prometheus service](../prometheus/index.md) must be enabled. + ## Metrics supported | Name | Query | diff --git a/doc/user/project/integrations/prometheus_library/kubernetes.md b/doc/user/project/integrations/prometheus_library/kubernetes.md index 4d39ae0c4fa..518683965e8 100644 --- a/doc/user/project/integrations/prometheus_library/kubernetes.md +++ b/doc/user/project/integrations/prometheus_library/kubernetes.md @@ -1,7 +1,13 @@ # Monitoring Kubernetes + > [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8935) in GitLab 9.0 -GitLab has support for automatically detecting and monitoring Kubernetes metrics. Kubernetes exposes Node level metrics out of the box via the built-in [Prometheus metrics support in cAdvisor](https://github.com/google/cadvisor). No additional services or exporters are needed. +GitLab has support for automatically detecting and monitoring Kubernetes metrics. + +## Requirements + +The [Prometheus](../prometheus.md) and [Kubernetes](../kubernetes.md) +integration services must be enabled. ## Metrics supported @@ -23,4 +29,4 @@ Prometheus server up and running. You have two options here: In order to isolate and only display relevant metrics for a given environment however, GitLab needs a method to detect which labels are associated. To do this, GitLab will [look for an `environment` label](metrics.md#identifying-environments). -If you are using [GitLab Auto-Deploy][../../../ci/autodeploy/index.md] and one of the two [provided Kubernetes monitoring solutions](../prometheus.md#getting-started-with-prometheus-monitoring), the `environment` label will be automatically added. +If you are using [GitLab Auto-Deploy](../../../../ci/autodeploy/index.md) and one of the two [provided Kubernetes monitoring solutions](../prometheus.md#getting-started-with-prometheus-monitoring), the `environment` label will be automatically added. diff --git a/doc/user/project/integrations/prometheus_library/nginx.md b/doc/user/project/integrations/prometheus_library/nginx.md index bab22f9a384..7fb8369d3c1 100644 --- a/doc/user/project/integrations/prometheus_library/nginx.md +++ b/doc/user/project/integrations/prometheus_library/nginx.md @@ -1,8 +1,13 @@ # Monitoring NGINX + > [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12621) in GitLab 9.4 GitLab has support for automatically detecting and monitoring NGINX. This is provided by leveraging the [NGINX VTS exporter](https://github.com/hnlq715/nginx-vts-exporter), which translates [VTS statistics](https://github.com/vozlt/nginx-module-vts) into a Prometheus readable form. +## Requirements + +The [Prometheus service](../prometheus/index.md) must be enabled. + ## Metrics supported | Name | Query | diff --git a/doc/user/project/integrations/prometheus_library/nginx_ingress.md b/doc/user/project/integrations/prometheus_library/nginx_ingress.md index 17a47cfa646..e6f13d0630b 100644 --- a/doc/user/project/integrations/prometheus_library/nginx_ingress.md +++ b/doc/user/project/integrations/prometheus_library/nginx_ingress.md @@ -1,8 +1,13 @@ # Monitoring NGINX Ingress Controller + > [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13438) in GitLab 9.5 GitLab has support for automatically detecting and monitoring the Kubernetes NGINX ingress controller. This is provided by leveraging the built in Prometheus metrics included in [version 0.9.0](https://github.com/kubernetes/ingress/blob/master/controllers/nginx/Changelog.md#09-beta1) of the ingress. +## Requirements + +The [Prometheus service](../prometheus/index.md) must be enabled. + ## Metrics supported | Name | Query | -- cgit v1.2.1 From f6a69ea9f30ba06ff800a9a1d338d75a4fa85c10 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 25 Sep 2017 16:50:21 +0200 Subject: Add link to NGINX Ingress and change Auto DevOps description --- doc/user/project/integrations/kubernetes.md | 30 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'doc') diff --git a/doc/user/project/integrations/kubernetes.md b/doc/user/project/integrations/kubernetes.md index a92426fa0fc..7f3a000127f 100644 --- a/doc/user/project/integrations/kubernetes.md +++ b/doc/user/project/integrations/kubernetes.md @@ -53,20 +53,21 @@ The Kubernetes service takes the following parameters: ## Deployment variables -The Kubernetes service exposes following +The Kubernetes service exposes the following [deployment variables](../../../ci/variables/README.md#deployment-variables) in the -GitLab CI build environment: +GitLab CI/CD build environment: -- `KUBE_URL` - equal to the API URL -- `KUBE_TOKEN` +- `KUBE_URL` - Equal to the API URL. +- `KUBE_TOKEN` - The Kubernetes token. - `KUBE_NAMESPACE` - The Kubernetes namespace is auto-generated if not specified. The default value is `-`. You can overwrite it to use different one if needed, otherwise the `KUBE_NAMESPACE` variable will receive the default value. -- `KUBE_CA_PEM_FILE` - only present if a custom CA bundle was specified. Path +- `KUBE_CA_PEM_FILE` - Only present if a custom CA bundle was specified. Path to a file containing PEM data. -- `KUBE_CA_PEM` (deprecated)- only if a custom CA bundle was specified. Raw PEM data. -- `KUBECONFIG` - Path to a file containing kubeconfig for this deployment. CA bundle would be embedded if specified. +- `KUBE_CA_PEM` (deprecated) - Only if a custom CA bundle was specified. Raw PEM data. +- `KUBECONFIG` - Path to a file containing `kubeconfig` for this deployment. + CA bundle would be embedded if specified. ## What you can get with the Kubernetes integration @@ -97,20 +98,19 @@ the need to leave GitLab. ### Kubernetes monitoring Automatically detect and monitor Kubernetes metrics. Automatic monitoring of -NGINX ingress is also supported. +[NGINX ingress](./prometheus_library/nginx.md) is also supported. [> Read more about Kubernetes monitoring](./prometheus_library/kubernetes.md) ### Auto DevOps -Auto DevOps brings best practices to your project in an easy and default way. -A typical web project starts with Continuous Integration (CI), then adds -automated deployment to production, and maybe some time in the future adds some -kind of monitoring. With Auto DevOps, every project has a complete workflow, -with no configuration, including: **Auto Build**, **Auto Test**, **Auto Code Quality**, -**Auto Review Apps**, **Auto Deploy**, and **Auto Monitoring**. +Auto DevOps automatically detects, builds, tests, deploys, and monitors your +applications. -[> Read more about Auto DevOps](../../../topics/autodevops/index.md). +To make full use of Auto DevOps(Auto Deploy, Auto Review Apps, and Auto Monitoring) +you will need the Kubernetes project integration enabled. + +[> Read more about Auto DevOps](../../../topics/autodevops/index.md) ### Web terminals -- cgit v1.2.1 From c5e6e45f11cd898ec1ff239b974278c0e4ecaa1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20=22BKC=22=20Carlb=C3=A4cker?= Date: Mon, 25 Sep 2017 18:11:40 +0200 Subject: WTFPL is deamed unacceptable --- doc/development/licensing.md | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/development/licensing.md b/doc/development/licensing.md index 9a5811d8474..a75cdf22f40 100644 --- a/doc/development/licensing.md +++ b/doc/development/licensing.md @@ -65,6 +65,7 @@ Libraries with the following licenses are unacceptable for use: - [GNU AGPLv3][AGPLv3]: AGPL-licensed libraries cannot be linked to from non-GPL projects. - [Open Software License (OSL)][OSL]: is a copyleft license. In addition, the FSF [recommend against its use][OSL-GNU]. - [Facebook BSD + PATENTS][Facebook]: is a 3-clause BSD license with a patent grant that has been deemed [Category X][x-list] by the Apache foundation. +- [WTFPL][WTFPL]: is a public domain dedication [rejected by the OSI (3.2)][WTFPL-OSI]. Also has a strong language which is not in accordance with our diversity policy. ## Requesting Approval for Licenses @@ -108,3 +109,5 @@ Gems which are included only in the "development" or "test" groups by Bundler ar [x-list]: https://www.apache.org/legal/resolved.html#category-x [Acceptable-Licenses]: #acceptable-licenses [Unacceptable-Licenses]: #unacceptable-licenses +[WTFPL]: https://wtfpl.net +[WTFPL-OSI]: https://opensource.org/minutes20090304 -- cgit v1.2.1 From e16878bbef17385d126fe98eb7d14086df86ee25 Mon Sep 17 00:00:00 2001 From: ernstvn Date: Mon, 25 Sep 2017 17:56:52 -0700 Subject: Test for what should not be there as well --- doc/development/testing.md | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'doc') diff --git a/doc/development/testing.md b/doc/development/testing.md index 83269303005..386e8bef972 100644 --- a/doc/development/testing.md +++ b/doc/development/testing.md @@ -150,6 +150,16 @@ always in-sync with the codebase. [GitLab QA]: https://gitlab.com/gitlab-org/gitlab-qa [part of GitLab Rails]: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/qa +## Test for what should not be there + +This is particularly important for permission calls and might be called a +negative assertion: make sure only the bare minimum is returned and nothing else. + +See an issue about [leaking tokens] as an example of a vulnerability that is +captured by such a test. + +[leaking tokens]: https://gitlab.com/gitlab-org/gitlab-ce/issues/37948 + ## How to test at the correct level? As many things in life, deciding what to test at each level of testing is a -- cgit v1.2.1 From f696b04cc88bd38395caf8ccb4003c28f38a9c47 Mon Sep 17 00:00:00 2001 From: Mehdi Lahmam Date: Sun, 13 Aug 2017 21:15:04 +0200 Subject: Expose last pipeline details in API response when getting a single commit Closes #35692. --- doc/api/commits.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/api/commits.md b/doc/api/commits.md index 2a78553782f..5a4a8d888b3 100644 --- a/doc/api/commits.md +++ b/doc/api/commits.md @@ -181,6 +181,12 @@ Example response: "parent_ids": [ "ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba" ], + "last_pipeline" : { + "id": 8, + "ref": "master", + "sha": "2dc6aa325a317eda67812f05600bdf0fcdc70ab0" + "status": "created" + } "stats": { "additions": 15, "deletions": 10, -- cgit v1.2.1 From 6528d52afedf7c9fd9db4ae9e101060cfcbe53d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Fri, 15 Sep 2017 16:02:46 +0200 Subject: Backport doc change from latest upstream merge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2906 Signed-off-by: Rémy Coutable --- .../project/repository/gpg_signed_commits/index.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'doc') diff --git a/doc/user/project/repository/gpg_signed_commits/index.md b/doc/user/project/repository/gpg_signed_commits/index.md index dfe43c6b691..29e04a0ccf0 100644 --- a/doc/user/project/repository/gpg_signed_commits/index.md +++ b/doc/user/project/repository/gpg_signed_commits/index.md @@ -113,25 +113,25 @@ started: 1. Use the following command to list the private GPG key you just created: ``` - gpg --list-secret-keys --keyid-format 0xLONG mr@robot.sh + gpg --list-secret-keys --keyid-format LONG mr@robot.sh ``` Replace `mr@robot.sh` with the email address you entered above. 1. Copy the GPG key ID that starts with `sec`. In the following example, that's - `0x30F2B65B9246B6CA`: + `30F2B65B9246B6CA`: ``` - sec rsa4096/0x30F2B65B9246B6CA 2017-08-18 [SC] + sec rsa4096/30F2B65B9246B6CA 2017-08-18 [SC] D5E4F29F3275DC0CDA8FFC8730F2B65B9246B6CA uid [ultimate] Mr. Robot - ssb rsa4096/0xB7ABC0813E4028C0 2017-08-18 [E] + ssb rsa4096/B7ABC0813E4028C0 2017-08-18 [E] ``` 1. Export the public key of that ID (replace your key ID from the previous step): ``` - gpg --armor --export 0x30F2B65B9246B6CA + gpg --armor --export 30F2B65B9246B6CA ``` 1. Finally, copy the public key and [add it in your profile settings](#adding-a-gpg-key-to-your-account) @@ -167,28 +167,28 @@ key to use. 1. Use the following command to list the private GPG key you just created: ``` - gpg --list-secret-keys --keyid-format 0xLONG mr@robot.sh + gpg --list-secret-keys --keyid-format LONG mr@robot.sh ``` Replace `mr@robot.sh` with the email address you entered above. 1. Copy the GPG key ID that starts with `sec`. In the following example, that's - `0x30F2B65B9246B6CA`: + `30F2B65B9246B6CA`: ``` - sec rsa4096/0x30F2B65B9246B6CA 2017-08-18 [SC] + sec rsa4096/30F2B65B9246B6CA 2017-08-18 [SC] D5E4F29F3275DC0CDA8FFC8730F2B65B9246B6CA uid [ultimate] Mr. Robot - ssb rsa4096/0xB7ABC0813E4028C0 2017-08-18 [E] + ssb rsa4096/B7ABC0813E4028C0 2017-08-18 [E] ``` 1. Tell Git to use that key to sign the commits: ``` - git config --global user.signingkey 0x30F2B65B9246B6CA + git config --global user.signingkey 30F2B65B9246B6CA ``` - Replace `0x30F2B65B9246B6CA` with your GPG key ID. + Replace `30F2B65B9246B6CA` with your GPG key ID. ## Signing commits -- cgit v1.2.1 From ec9003b2658f86134dea44b9d1f1d74866e87434 Mon Sep 17 00:00:00 2001 From: tauriedavis Date: Tue, 26 Sep 2017 15:22:13 -0700 Subject: Add illustration link to ux index page --- doc/development/ux_guide/index.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/development/ux_guide/index.md b/doc/development/ux_guide/index.md index 8a849f239dc..42bcf234e12 100644 --- a/doc/development/ux_guide/index.md +++ b/doc/development/ux_guide/index.md @@ -21,6 +21,11 @@ Guidance on the timing, curving and motion for GitLab. --- +### [Illustrations](illustrations.md) +Guidelines for principals and styles related to illustrations for GitLab. + +--- + ### [Copy](copy.md) Conventions on text and messaging within labels, buttons, and other components. -- cgit v1.2.1 From 8091cfc51de93da1826f4170717b9648afd621a8 Mon Sep 17 00:00:00 2001 From: Fabio Busatto Date: Wed, 27 Sep 2017 09:56:19 +0000 Subject: Add how to use reserved words in gitlab-ci.yml --- doc/ci/yaml/README.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index aad81843299..38bd0450a09 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -1570,6 +1570,11 @@ Read more on [GitLab Pages user documentation](../../user/project/pages/index.md Each instance of GitLab CI has an embedded debug tool called Lint. You can find the link under `/ci/lint` of your gitlab instance. +## Using reserved keywords + +If you get validation error when using specific values (e.g., `true` or `false`), +try to quote them, or change them to a different form (e.g., `/bin/true`). + ## Skipping jobs If your commit message contains `[ci skip]` or `[skip ci]`, using any -- cgit v1.2.1 From 147cbb95f5ffc0d70ab8f0fc573f0847fc90b3f3 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Wed, 27 Sep 2017 12:13:50 +0100 Subject: Removes section about big MRs --- doc/development/fe_guide/index.md | 28 ---------------------------- 1 file changed, 28 deletions(-) (limited to 'doc') diff --git a/doc/development/fe_guide/index.md b/doc/development/fe_guide/index.md index d84801f91d4..031b12a8e91 100644 --- a/doc/development/fe_guide/index.md +++ b/doc/development/fe_guide/index.md @@ -29,34 +29,6 @@ For our currently-supported browsers, see our [requirements][requirements]. ## Development Process -When you are assigned an issue please follow the next steps: - -### Divide a big feature into small Merge Requests -1. Big Merge Request are painful to review. In order to make this process easier we -must break a big feature into smaller ones and create a Merge Request for each step. -1. First step is to create a branch from `master`, let's call it `new-feature`. This branch -will be the recipient of all the smaller Merge Requests. Only this one will be merged to master. -1. Don't do any work on this one, let's keep it synced with master. -1. Create a new branch from `new-feature`, let's call it `new-feature-step-1`. We advise you -to clearly identify which step the branch represents. -1. Do the first part of the modifications in this branch. The target branch of this Merge Request -should be `new-feature`. -1. Once `new-feature-step-1` gets merged into `new-feature` we can continue our work. Create a new -branch from `new-feature`, let's call it `new-feature-step-2` and repeat the process done before. - -```shell -master -└─ new-feature - ├─ new-feature-step-1 - ├─ new-feature-step-2 - └─ new-feature-step-3 -``` - -**Tips** -- Make sure `new-feature` branch is always synced with `master`: merge master frequently. -- Do the same for the feature branch you have opened. This can be accomplished by merging `master` into `new-feature` and `new-feature` into `new-feature-step-*` -- Avoid rewriting history. - ### Share your work early 1. Before writing code guarantee your vision of the architecture is aligned with GitLab's architecture. -- cgit v1.2.1 From 73f27db26407862c32d5776c60eb0c4c55261405 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Tue, 26 Sep 2017 12:50:54 +0200 Subject: Update CI parallelization description MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable --- doc/development/testing.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/development/testing.md b/doc/development/testing.md index 83269303005..c9f14b5fb35 100644 --- a/doc/development/testing.md +++ b/doc/development/testing.md @@ -493,24 +493,24 @@ Here are some things to keep in mind regarding test performance: Our current CI parallelization setup is as follows: -1. The `knapsack` job in the prepare stage that is supposed to ensure we have a - `knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` file: +1. The `retrieve-tests-metadata` job in the `prepare` stage ensures that we have + a `knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` file: - The `knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` file is fetched from S3, if it's not here we initialize the file with `{}`. -1. Each `rspec x y` job are run with `knapsack rspec` and should have an evenly - distributed share of tests: +1. Each `rspec-pg x y`/`rspec-mysql x y` job is run with `knapsack rspec` and + should have an evenly distributed share of tests: - It works because the jobs have access to the `knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` since the "artifacts from all previous stages are passed by default". [^1] - - the jobs set their own report path to + - The jobs set their own report path to `KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json`. - - if knapsack is doing its job, test files that are run should be listed under + - If knapsack is doing its job, test files that are run should be listed under `Report specs`, not under `Leftover specs`. -1. The `update-knapsack` job takes all the +1. The `update-tests-metadata` job takes all the `knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json` - files from the `rspec x y` jobs and merge them all together into a single - `knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` file that is then - uploaded to S3. + files from the `rspec-pg x y`/`rspec-mysql x y`jobs and merge them all together + into a single `knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` file that + is then uploaded to S3. After that, the next pipeline will use the up-to-date `knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` file. The same strategy -- cgit v1.2.1 From 0aef7d27e55e0a0e99b121ca84b41f4c86135725 Mon Sep 17 00:00:00 2001 From: Andrew Newdigate Date: Wed, 27 Sep 2017 14:59:51 +0000 Subject: Added some Gitaly docs to `docs/development` --- doc/development/README.md | 1 + doc/development/gitaly.md | 54 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 doc/development/gitaly.md (limited to 'doc') diff --git a/doc/development/README.md b/doc/development/README.md index 3096d9f25f0..1448a4c0414 100644 --- a/doc/development/README.md +++ b/doc/development/README.md @@ -44,6 +44,7 @@ - [Building a package for testing purposes](build_test_package.md) - [Manage feature flags](feature_flags.md) - [View sent emails or preview mailers](emails.md) +- [Working with Gitaly](gitaly.md) ## Databases diff --git a/doc/development/gitaly.md b/doc/development/gitaly.md new file mode 100644 index 00000000000..f0be3a6b141 --- /dev/null +++ b/doc/development/gitaly.md @@ -0,0 +1,54 @@ +# GitLab Developers Guide to Working with Gitaly + +[Gitaly](https://gitlab.com/gitlab-org/gitaly) is a high-level Git RPC service used by GitLab CE/EE, +Workhorse and GitLab-Shell. All Rugged operations in GitLab CE/EE are currently being phased out to +be replaced by Gitaly API calls. + +Visit the [Gitaly Migration Board](https://gitlab.com/gitlab-org/gitaly/boards/331341) for current +status of the migration. + +## Feature Flags + +Gitaly makes heavy use of [feature flags](feature_flags.md). + +Each Rugged-to-Gitaly migration goes through a [series of phases](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/MIGRATION_PROCESS.md): +* **Opt-In**: by default the Rugged implementation is used. + * Production instances can choose to enable the Gitaly endpoint by enabling the feature flag. + * For testing purposes, you may wish to enable all feature flags by default. This can be done by exporting the following + environment variable: `GITALY_FEATURE_DEFAULT_ON=1`. + * On developer instances (ie, when `Rails.env.development?` is true), the Gitaly endpoint + is enabled by default, but can be _disabled_ using feature flags. +* **Opt-Out**: by default, the Gitaly endpoint is used, but the feature can be explicitly disabled using the feature flag. +* **Madatory**: The migration is complete and cannot be disabled. The old codepath is removed. + +### Enabling and Disabling Feature + +In the Rails console, type: + +```ruby +Feature.enable(:gitaly_feature_name) +Feature.disable(:gitaly_feature_name) +``` + +Where `gitaly_feature_name` is the name of the Gitaly feature. This can be determined by finding the appropriate +`gitaly_migrate` code block, for example: + +```ruby +gitaly_migrate(:tag_names) do +... +end +``` + +Since Gitaly features are always prefixed with `gitaly_`, the name of the feature flag in this case would be `gitaly_tag_names`. + +## Gitaly-Related Test Failures + +If your test-suite is failing with Gitaly issues, as a first step, try running: + +```shell +rm -rf tmp/tests/gitaly +``` + +--- + +[Return to Development documentation](README.md) -- cgit v1.2.1 From 864790b8bb2146ea500323feacce91243ebd0b06 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Wed, 27 Sep 2017 17:29:10 +0200 Subject: Add EEP to headings --- doc/user/project/integrations/kubernetes.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/user/project/integrations/kubernetes.md b/doc/user/project/integrations/kubernetes.md index 7f3a000127f..e9738b683f9 100644 --- a/doc/user/project/integrations/kubernetes.md +++ b/doc/user/project/integrations/kubernetes.md @@ -10,10 +10,6 @@ Kubernetes API (such as OpenShift). Each project can be configured to connect to a different Kubernetes cluster, see the [configuration](#configuration) section. -If you have a single cluster that you want to use for all your projects, -you can pre-fill the settings page with a default template. To configure the -template, see the [Services Templates](services_templates.md) document. - ## Configuration Navigate to the [Integrations page](project_services.md#accessing-the-project-services) @@ -51,6 +47,11 @@ The Kubernetes service takes the following parameters: [Kubernetes dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#config) (under **Config > Secrets**). +TIP: **Tip:** +If you have a single cluster that you want to use for all your projects, +you can pre-fill the settings page with a default template. To configure the +template, see [Services Templates](services_templates.md). + ## Deployment variables The Kubernetes service exposes the following @@ -73,7 +74,7 @@ GitLab CI/CD build environment: Here's what you can do with GitLab if you enable the Kubernetes integration. -### Deploy Boards +### Deploy Boards (EEP) > Available in [GitLab Enterprise Edition Premium][ee]. @@ -85,7 +86,7 @@ workflow they already use without any need to access Kubernetes. [> Read more about Deploy Boards](https://docs.gitlab.com/ee/user/project/deploy_boards.html) -### Canary Deployments +### Canary Deployments (EEP) > Available in [GitLab Enterprise Edition Premium][ee]. @@ -100,7 +101,7 @@ the need to leave GitLab. Automatically detect and monitor Kubernetes metrics. Automatic monitoring of [NGINX ingress](./prometheus_library/nginx.md) is also supported. -[> Read more about Kubernetes monitoring](./prometheus_library/kubernetes.md) +[> Read more about Kubernetes monitoring](prometheus_library/kubernetes.md) ### Auto DevOps -- cgit v1.2.1 From 3995916596dff76ecb72aa8bda5e9d04b728fd00 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Wed, 27 Sep 2017 18:53:15 -0300 Subject: cross-link Pages references --- doc/user/project/pages/introduction.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md index 9ecf7a3a8e7..63930fb3bf7 100644 --- a/doc/user/project/pages/introduction.md +++ b/doc/user/project/pages/introduction.md @@ -28,7 +28,8 @@ In general there are two types of pages one might create: - Pages per project (`username.example.io/projectname` or `groupname.example.io/projectname`) In GitLab, usernames and groupnames are unique and we often refer to them -as namespaces. There can be only one namespace in a GitLab instance. Below you +as [namespaces](../../group/index.md#namespaces). There can be only one namespace +in a GitLab instance. Below you can see the connection between the type of GitLab Pages, what the project name that is created on GitLab looks like and the website URL it will be ultimately be served on. @@ -98,6 +99,9 @@ The steps to create a project page for a user or a group are identical: A user's project will be served under `http(s)://username.example.io/projectname` whereas a group's project under `http(s)://groupname.example.io/projectname`. +For practical examples for group and project Pages, read through the guide +[GitLab Pages from A to Z: Part 1 - Static sites and GitLab Pages domains](getting_started_part_one.md#practical-examples). + ## Quick Start Read through [GitLab Pages Quick Start Guide][pages-quick] or watch the video tutorial on @@ -111,6 +115,9 @@ The key thing about GitLab Pages is the `.gitlab-ci.yml` file, something that gives you absolute control over the build process. You can actually watch your website being built live by following the CI job traces. +For a simplified user guide on setting up GitLab CI/CD for Pages, read through +the article [GitLab Pages from A to Z: Part 4 - Creating and Tweaking `.gitlab-ci.yml` for GitLab Pages](getting_started_part_four.md#creating-and-tweaking-gitlab-ci-yml-for-gitlab-pages) + > **Note:** > Before reading this section, make sure you familiarize yourself with GitLab CI > and the specific syntax of[`.gitlab-ci.yml`][yaml] by @@ -311,6 +318,9 @@ Visit the GitLab Pages group for a full list of example projects: ### Add a custom domain to your Pages website +For a complete guide on Pages domains, read through the article +[GitLab Pages from A to Z: Part 3 - Setting Up Custom Domains - DNS Records and SSL/TLS Certificates](getting_started_part_three.md#setting-up-custom-domains-dns-records-and-ssl-tls-certificates) + If this setting is enabled by your GitLab administrator, you should be able to see the **New Domain** button when visiting your project's settings through the gear icon in the top right and then navigating to **Pages**. @@ -349,6 +359,9 @@ private key when adding a new domain. ![Pages upload cert](img/pages_upload_cert.png) +For a complete guide on Pages domains, read through the article +[GitLab Pages from A to Z: Part 3 - Setting Up Custom Domains - DNS Records and SSL/TLS Certificates](getting_started_part_three.md#setting-up-custom-domains-dns-records-and-ssl-tls-certificates) + ### Custom error codes pages You can provide your own 403 and 404 error pages by creating the `403.html` and @@ -387,6 +400,8 @@ If you are using GitLab.com to host your website, then: The rest of the guide still applies. +See also: [GitLab Pages from A to Z: Part 1 - Static sites and GitLab Pages domains](getting_started_part_one.html#gitlab-pages-domain). + ## Limitations When using Pages under the general domain of a GitLab instance (`*.example.io`), -- cgit v1.2.1 From c82ce3b16dc77d96969f23132fe7f9d8534367b6 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Wed, 27 Sep 2017 18:53:22 -0300 Subject: update links --- doc/user/project/pages/getting_started_part_one.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/user/project/pages/getting_started_part_one.md b/doc/user/project/pages/getting_started_part_one.md index 46fa4378fe7..3d62bfe5fef 100644 --- a/doc/user/project/pages/getting_started_part_one.md +++ b/doc/user/project/pages/getting_started_part_one.md @@ -62,7 +62,7 @@ which is highly recommendable and much faster than hardcoding. If you set up a GitLab Pages project on GitLab.com, it will automatically be accessible under a -[subdomain of `namespace.pages.io`](https://docs.gitlab.com/ce/user/project/pages/). +[subdomain of `namespace.pages.io`](introduction.md#gitlab-pages-on-gitlab-com). The `namespace` is defined by your username on GitLab.com, or the group name you created this project under. @@ -73,6 +73,8 @@ Pages wildcard domain. This guide is valid for any GitLab instance, you just need to replace Pages wildcard domain on GitLab.com (`*.gitlab.io`) with your own. +Learn more about [namespaces](../../group/index.html#namespaces). + ### Practical examples #### Project Websites -- cgit v1.2.1 From 3235ecb7c70a925023107bc6796f24cdecf6f790 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Wed, 27 Sep 2017 19:08:11 -0300 Subject: add intro section "Custom domains for GitLab Pages" for comprehensiveness and SEO --- doc/user/project/pages/getting_started_part_three.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'doc') diff --git a/doc/user/project/pages/getting_started_part_three.md b/doc/user/project/pages/getting_started_part_three.md index 53fd1786cfa..cb9ef897433 100644 --- a/doc/user/project/pages/getting_started_part_three.md +++ b/doc/user/project/pages/getting_started_part_three.md @@ -16,6 +16,19 @@ As described in the previous part of this series, setting up GitLab Pages with c These steps assume you've already [set your site up](getting_started_part_two.md) and and it's served under the default Pages domain `namespace.gitlab.io`, or `namespace.gitlab.io/project-name`. +### Custom domains for GitLab Pages + +To use one or more custom domain with your Pages site, there are two things +you should consider first, which we'll cover in this guide: + +1. Either if you're adding a **root domain** or a **subdomain**, for which +you'll need to set up [DNS records](#dns-records) +1. Whether you want to add an [SSL/TLS certificate](#ssl-tls-certificates) or not + +Let's start from the beginning. If you already know how these things work +and want to skip the tutorial, you may be interested in the [TL;DR](#tl-dr) section +below. + ### DNS Records A Domain Name System (DNS) web service routes visitors to websites -- cgit v1.2.1 From ac4ddda5c96d167aed493748e272291ca6bd9911 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Wed, 27 Sep 2017 19:12:55 -0300 Subject: fixes links (html => md) --- doc/user/project/pages/getting_started_part_one.md | 2 +- doc/user/project/pages/getting_started_part_three.md | 2 +- doc/user/project/pages/introduction.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/user/project/pages/getting_started_part_one.md b/doc/user/project/pages/getting_started_part_one.md index 3d62bfe5fef..453e10184f0 100644 --- a/doc/user/project/pages/getting_started_part_one.md +++ b/doc/user/project/pages/getting_started_part_one.md @@ -73,7 +73,7 @@ Pages wildcard domain. This guide is valid for any GitLab instance, you just need to replace Pages wildcard domain on GitLab.com (`*.gitlab.io`) with your own. -Learn more about [namespaces](../../group/index.html#namespaces). +Learn more about [namespaces](../../group/index.md#namespaces). ### Practical examples diff --git a/doc/user/project/pages/getting_started_part_three.md b/doc/user/project/pages/getting_started_part_three.md index cb9ef897433..8466e563965 100644 --- a/doc/user/project/pages/getting_started_part_three.md +++ b/doc/user/project/pages/getting_started_part_three.md @@ -1,6 +1,6 @@ # GitLab Pages from A to Z: Part 3 -> **Article [Type](../../../development/writing_documentation.html#types-of-technical-articles)**: user guide || +> **[Article Type](../../../development/writing_documentation.md#types-of-technical-articles)**: user guide || > **Level**: beginner || > **Author**: [Marcia Ramos](https://gitlab.com/marcia) || > **Publication date:** 2017/02/22 diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md index 63930fb3bf7..4fcdfa7b281 100644 --- a/doc/user/project/pages/introduction.md +++ b/doc/user/project/pages/introduction.md @@ -400,7 +400,7 @@ If you are using GitLab.com to host your website, then: The rest of the guide still applies. -See also: [GitLab Pages from A to Z: Part 1 - Static sites and GitLab Pages domains](getting_started_part_one.html#gitlab-pages-domain). +See also: [GitLab Pages from A to Z: Part 1 - Static sites and GitLab Pages domains](getting_started_part_one.md#gitlab-pages-domain). ## Limitations -- cgit v1.2.1 From 3c26326e71d532455bb91ea84611942b0de6cd3c Mon Sep 17 00:00:00 2001 From: Mark Fletcher Date: Thu, 28 Sep 2017 10:54:19 +0700 Subject: Clarify artifact download via the API only accepts branch or tag name for ref --- doc/api/jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/api/jobs.md b/doc/api/jobs.md index d60c7c12881..e7060e154f4 100644 --- a/doc/api/jobs.md +++ b/doc/api/jobs.md @@ -336,7 +336,7 @@ Parameters | Attribute | Type | Required | Description | |-------------|---------|----------|-------------------------- | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user | -| `ref_name` | string | yes | The ref from a repository | +| `ref_name` | string | yes | The ref from a repository (can only be branch or tag name, not HEAD or SHA) | | `job` | string | yes | The name of the job | Example request: -- cgit v1.2.1 From ce6fb619e570cbe1f8315c48181cda5f003b7e15 Mon Sep 17 00:00:00 2001 From: Mark Fletcher Date: Thu, 28 Sep 2017 11:33:37 +0700 Subject: Change recommended MySQL version to 5.6 --- doc/install/database_mysql.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/install/database_mysql.md b/doc/install/database_mysql.md index 5c128f54a76..f9ba1508705 100644 --- a/doc/install/database_mysql.md +++ b/doc/install/database_mysql.md @@ -1,11 +1,12 @@ # Database MySQL >**Note:** -We do not recommend using MySQL due to various issues. For example, case +- We do not recommend using MySQL due to various issues. For example, case [(in)sensitivity](https://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html) and [problems](https://bugs.mysql.com/bug.php?id=65830) that [suggested](https://bugs.mysql.com/bug.php?id=50909) [fixes](https://bugs.mysql.com/bug.php?id=65830) [have](https://bugs.mysql.com/bug.php?id=63164). +- We recommend using MySQL version 5.6 or later. Please see the following [issue][ce-38152]. ## Initial database setup @@ -13,7 +14,7 @@ and [problems](https://bugs.mysql.com/bug.php?id=65830) that # Install the database packages sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev -# Ensure you have MySQL version 5.5.14 or later +# Ensure you have MySQL version 5.6 or later mysql --version # Pick a MySQL root password (can be anything), type it and press enter @@ -293,3 +294,4 @@ Details can be found in the [PostgreSQL][postgres-text-type] and [postgres-text-type]: http://www.postgresql.org/docs/9.2/static/datatype-character.html [mysql-text-types]: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html +[ce-38152]: https://gitlab.com/gitlab-org/gitlab-ce/issues/38152 -- cgit v1.2.1 From f4de14d71f425dc14ee5837d96f4e9f42c7cc239 Mon Sep 17 00:00:00 2001 From: Gabriel Mazetto Date: Wed, 6 Sep 2017 07:16:26 +0200 Subject: Add support to migrate existing projects to Hashed Storage async --- doc/administration/raketasks/storage.md | 107 +++++++++++++++++++++++++ doc/administration/repository_storage_types.md | 69 ++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 doc/administration/raketasks/storage.md create mode 100644 doc/administration/repository_storage_types.md (limited to 'doc') diff --git a/doc/administration/raketasks/storage.md b/doc/administration/raketasks/storage.md new file mode 100644 index 00000000000..bac8fa4bd9d --- /dev/null +++ b/doc/administration/raketasks/storage.md @@ -0,0 +1,107 @@ +# Repository Storage Rake Tasks + +This is a collection of rake tasks you can use to help you list and migrate +existing projects from Legacy storage to the new Hashed storage type. + +You can read more about the storage types [here][storage-types]. + +## List projects on Legacy storage + +To have a simple summary of projects using **Legacy** storage: + +**Omnibus Installation** + +```bash +gitlab-rake gitlab:storage:legacy_projects +``` + +**Source Installation** + +```bash +rake gitlab:storage:legacy_projects + +``` + +------ + +To list projects using **Legacy** storage: + +**Omnibus Installation** + +```bash +gitlab-rake gitlab:storage:list_legacy_projects +``` + +**Source Installation** + +```bash +rake gitlab:storage:list_legacy_projects + +``` + +## List projects on Hashed storage + +To have a simple summary of projects using **Hashed** storage: + +**Omnibus Installation** + +```bash +gitlab-rake gitlab:storage:hashed_projects +``` + +**Source Installation** + +```bash +rake gitlab:storage:hashed_projects + +``` + +------ + +To list projects using **Hashed** storage: + +**Omnibus Installation** + +```bash +gitlab-rake gitlab:storage:list_hashed_projects +``` + +**Source Installation** + +```bash +rake gitlab:storage:list_hashed_projects + +``` + +## Migrate existing projects to Hashed storage + +Before migrating your existing projects, you should +[enable hashed storage][storage-migration] for the new projects as well. + +This task will schedule all your existing projects to be migrated to the +**Hashed** storage type: + +**Omnibus Installation** + +```bash +gitlab-rake gitlab:storage:migrate_to_hashed +``` + +**Source Installation** + +```bash +rake gitlab:storage:migrate_to_hashed + +``` + +You can monitor the progress in the _Admin > Monitoring > Background jobs_ screen. +There is a specific Queue you can watch to see how long it will take to finish: **project_migrate_hashed_storage** + +After it reaches zero, you can confirm every project has been migrated by running the commands above. +If you find it necessary, you can run this migration script again to schedule missing projects. + +Any error or warning will be logged in the sidekiq log file. + + +[storage-types]: ../repository_storage_types.md +[storage-migration]: ../repository_storage_types.md#how-to-migrate-to-hashed-storage diff --git a/doc/administration/repository_storage_types.md b/doc/administration/repository_storage_types.md new file mode 100644 index 00000000000..fa882bbe28a --- /dev/null +++ b/doc/administration/repository_storage_types.md @@ -0,0 +1,69 @@ +# Repository Storage Types + +> [Introduced][ce-28283] in GitLab 10.0. + +## Legacy Storage + +Legacy Storage is the storage behavior prior to version 10.0. For historical reasons, GitLab replicated the same +mapping structure from the projects URLs: + + * Project's repository: `#{namespace}/#{project_name}.git` + * Project's wiki: `#{namespace}/#{project_name}.wiki.git` + +This structure made simple to migrate from existing solutions to GitLab and easy for Administrators to find where the +repository is stored. + +On the other hand this has some drawbacks: + +Storage location will concentrate huge amount of top-level namespaces. The impact can be reduced by the introduction of [multiple storage paths][storage-paths]. + +Because Backups are a snapshot of the same URL mapping, if you try to recover a very old backup, you need to verify +if any project has taken the place of an old removed project sharing the same URL. This means that `mygroup/myproject` +from your backup may not be the same original project that is today in the same URL. + +Any change in the URL will need to be reflected on disk (when groups / users or projects are renamed). This can add a lot +of load in big installations, and can be even worst if they are using any type of network based filesystem. + +Last, for GitLab Geo, this storage type means we have to synchronize the disk state, replicate renames in the correct +order or we may end-up with wrong repository or missing data temporarily. + +## Hashed Storage + +Hashed Storage is the new storage behavior we are rolling out with 10.0. It's not enabled by default yet, but we +encourage everyone to try-it and take the time to fix any script you may have that depends on the old behavior. + +Instead of coupling project URL and the folder structure where the repository will be stored on disk, we are coupling +a hash, based on the project's ID. + +This makes the folder structure immutable, and therefore eliminates any requirement to synchronize state from URLs to +disk structure. This means that renaming a group, user or project will cost only the database transaction, and will take +effect immediately. + +The hash also helps to spread the repositories more evenly on the disk, so the top-level directory will contain less +folders than the total amount of top-level namespaces. + +Hash format is based on hexadecimal representation of SHA256: `SHA256(project.id)`. +Top-level folder uses first 2 characters, followed by another folder with the next 2 characters. They are both stored in +a special folder `@hashed`, to co-exist with existing Legacy projects: + +```ruby +# Project's repository: +"@hashed/#{hash[0..1]}/#{hash[2..3]}/#{hash}.git" + +# Wiki's repository: +"@hashed/#{hash[0..1]}/#{hash[2..3]}/#{hash}.wiki.git" +``` + +This new format also makes possible to restore backups with confidence, as when restoring a repository from the backup, +you will never mistakenly restore a repository in the wrong project (considering the backup is made after the migration). + +### How to migrate to Hashed Storage + +In GitLab, go to **Admin > Settings**, find the **Repository Storage** section and select +"_Create new projects using hashed storage paths_". + +To migrate your existing projects to the new storage type, check the specific [rake tasks]. + +[ce-28283]: https://gitlab.com/gitlab-org/gitlab-ce/issues/28283 +[rake tasks]: raketasks/storage.md#migrate-existing-projects-to-hashed-storage +[storage-paths]: repository_storage_types.md -- cgit v1.2.1 From bf5c2ff868850f8de92ecbc63c1e0e7cbc88a9b2 Mon Sep 17 00:00:00 2001 From: Dominik Date: Thu, 28 Sep 2017 16:28:02 +0000 Subject: Document the usage of the Docker OverlayFS driver for every build --- doc/ci/docker/using_docker_build.md | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/ci/docker/using_docker_build.md b/doc/ci/docker/using_docker_build.md index f28c9791bee..4586caa457d 100644 --- a/doc/ci/docker/using_docker_build.md +++ b/doc/ci/docker/using_docker_build.md @@ -250,6 +250,8 @@ By default, when using `docker:dind`, Docker uses the `vfs` storage driver which copies the filesystem on every run. This is a very disk-intensive operation which can be avoided if a different driver is used, for example `overlay2`. +### Requirements + 1. Make sure a recent kernel is used, preferably `>= 4.2`. 1. Check whether the `overlay` module is loaded: @@ -271,14 +273,27 @@ which can be avoided if a different driver is used, for example `overlay2`. overlay ``` -1. Use the driver by defining a variable at the top of your `.gitlab-ci.yml`: +### Use driver per project - ``` - variables: - DOCKER_DRIVER: overlay2 - ``` - -> **Note:** +You can enable the driver for each project individually by editing the project's `.gitlab-ci.yml`: + +``` +variables: + DOCKER_DRIVER: overlay2 +``` + +### Use driver for every project + +To enable the driver for every project, you can set the environment variable for every build by adding `environment` in the `[[runners]]` section of `config.toml`: + +```toml +environment = ["DOCKER_DRIVER=overlay2"] +``` + +If you're running multiple Runners you will have to modify all configuration files. + +> **Notes:** +- More information about the Runner configuration is available in the [Runner documentation](https://docs.gitlab.com/runner/configuration/). - For more information about using OverlayFS with Docker, you can read [Use the OverlayFS storage driver](https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/). -- cgit v1.2.1 From e59042a3ede135356270bd2f427b9b7f355ee164 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Thu, 28 Sep 2017 13:36:24 -0300 Subject: add section "Add your custom domain to GitLab Pages settings" --- .../project/pages/getting_started_part_three.md | 28 ++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/user/project/pages/getting_started_part_three.md b/doc/user/project/pages/getting_started_part_three.md index 8466e563965..7f24b25cfd3 100644 --- a/doc/user/project/pages/getting_started_part_three.md +++ b/doc/user/project/pages/getting_started_part_three.md @@ -16,7 +16,7 @@ As described in the previous part of this series, setting up GitLab Pages with c These steps assume you've already [set your site up](getting_started_part_two.md) and and it's served under the default Pages domain `namespace.gitlab.io`, or `namespace.gitlab.io/project-name`. -### Custom domains for GitLab Pages +### Adding your custom domain to GitLab Pages To use one or more custom domain with your Pages site, there are two things you should consider first, which we'll cover in this guide: @@ -25,9 +25,11 @@ you should consider first, which we'll cover in this guide: you'll need to set up [DNS records](#dns-records) 1. Whether you want to add an [SSL/TLS certificate](#ssl-tls-certificates) or not -Let's start from the beginning. If you already know how these things work -and want to skip the tutorial, you may be interested in the [TL;DR](#tl-dr) section -below. +To finish the association, you need to [add your domain to your project's Pages settings](#add-your-custom-domain-to-gitlab-pages-settings). + +Let's start from the beginning with [DNS records](#dns-records). +If you already know how these things work and want to skip the tutorial, +you may be interested in the [TL;DR](#tl-dr) section below. ### DNS Records @@ -96,6 +98,24 @@ without any `/project-name`. ![DNS CNAME record pointing to GitLab.com project](img/dns_cname_record_example.png) +#### Add your custom domain to GitLab Pages settings + +Once you've set the DNS record, you'll need navigate to your project's +**Setting > Pages** and click **+ New domain** to add your custom domain to +GitLab Pages. You can choose whether to add an [SSL/TLS certificate](#ssl-tls-certificates) +to make your website accessible under HTTPS or leave it blank. If don't add a certificate, +your site will be accessible only via HTTP: + +![Add new domain](img/add_certificate_to_pages.png) + +You add more than one alias (custom domains and subdomains) to the same project. +An alias can be understood as a way to have many doors leading to the same room. + +All the aliases you've set to your site will be listed on **Setting > Pages**. +From that page, you can view, add, and remove them. + +Read through the [general documentation on GitLab Pages](introduction.md#add-a-custom-domain-to-your-pages-website) to learn more. + #### TL;DR | From | DNS Record | To | -- cgit v1.2.1 From 77ec130e33492773756e5ed1e495fc4d531d4919 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Thu, 28 Sep 2017 13:41:53 -0300 Subject: add note on DNS propagation time --- doc/user/project/pages/getting_started_part_three.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'doc') diff --git a/doc/user/project/pages/getting_started_part_three.md b/doc/user/project/pages/getting_started_part_three.md index 7f24b25cfd3..24a7b497daf 100644 --- a/doc/user/project/pages/getting_started_part_three.md +++ b/doc/user/project/pages/getting_started_part_three.md @@ -114,6 +114,10 @@ An alias can be understood as a way to have many doors leading to the same room. All the aliases you've set to your site will be listed on **Setting > Pages**. From that page, you can view, add, and remove them. +Note that [DNS propagation may take some time (up to 24h)](http://www.inmotionhosting.com/support/domain-names/dns-nameserver-changes/domain-names-dns-changes), +although it's usually a matter of minutes to complete. Until it does, visits +to your domain address will respond with a 404. + Read through the [general documentation on GitLab Pages](introduction.md#add-a-custom-domain-to-your-pages-website) to learn more. #### TL;DR -- cgit v1.2.1 From aa21f0935382b81beb6115c82da3a3573f93cf18 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Thu, 28 Sep 2017 13:49:34 -0300 Subject: copyedit + last_updated --- doc/user/project/pages/getting_started_part_three.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/user/project/pages/getting_started_part_three.md b/doc/user/project/pages/getting_started_part_three.md index 24a7b497daf..4fc6f701144 100644 --- a/doc/user/project/pages/getting_started_part_three.md +++ b/doc/user/project/pages/getting_started_part_three.md @@ -1,9 +1,14 @@ +--- +last_updated: 2017-09-28 +--- + # GitLab Pages from A to Z: Part 3 > **[Article Type](../../../development/writing_documentation.md#types-of-technical-articles)**: user guide || > **Level**: beginner || > **Author**: [Marcia Ramos](https://gitlab.com/marcia) || -> **Publication date:** 2017/02/22 +> **Publication date:** 2017-02-22 || +> **Last updated**: 2017-09-28 - [Part 1: Static sites and GitLab Pages domains](getting_started_part_one.md) - [Part 2: Quick start guide - Setting up GitLab Pages](getting_started_part_two.md) @@ -115,10 +120,11 @@ All the aliases you've set to your site will be listed on **Setting > Pages**. From that page, you can view, add, and remove them. Note that [DNS propagation may take some time (up to 24h)](http://www.inmotionhosting.com/support/domain-names/dns-nameserver-changes/domain-names-dns-changes), -although it's usually a matter of minutes to complete. Until it does, visits -to your domain address will respond with a 404. +although it's usually a matter of minutes to complete. Until it does, visit attempts +to your domain will respond with a 404. -Read through the [general documentation on GitLab Pages](introduction.md#add-a-custom-domain-to-your-pages-website) to learn more. +Read through the [general documentation on GitLab Pages](introduction.md#add-a-custom-domain-to-your-pages-website) to learn more about adding +custom domains to GitLab Pages sites. #### TL;DR -- cgit v1.2.1 From e9eae3eb0dd25e4a34c9a4b6bcc7de312dde4489 Mon Sep 17 00:00:00 2001 From: Markus Koller Date: Thu, 28 Sep 2017 16:49:42 +0000 Subject: Support custom attributes on users --- doc/api/README.md | 1 + doc/api/custom_attributes.md | 105 +++++++++++++++++++++++++++++++++++++++++++ doc/api/users.md | 6 +++ 3 files changed, 112 insertions(+) create mode 100644 doc/api/custom_attributes.md (limited to 'doc') diff --git a/doc/api/README.md b/doc/api/README.md index 6cbea29bda6..3fd4c97e536 100644 --- a/doc/api/README.md +++ b/doc/api/README.md @@ -14,6 +14,7 @@ following locations: - [Project-level Variables](project_level_variables.md) - [Group-level Variables](group_level_variables.md) - [Commits](commits.md) +- [Custom Attributes](custom_attributes.md) - [Deployments](deployments.md) - [Deploy Keys](deploy_keys.md) - [Environments](environments.md) diff --git a/doc/api/custom_attributes.md b/doc/api/custom_attributes.md new file mode 100644 index 00000000000..8b26f7093ab --- /dev/null +++ b/doc/api/custom_attributes.md @@ -0,0 +1,105 @@ +# Custom Attributes API + +Every API call to custom attributes must be authenticated as administrator. + +## List custom attributes + +Get all custom attributes on a user. + +``` +GET /users/:id/custom_attributes +``` + +| Attribute | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `id` | integer | yes | The ID of a user | + +```bash +curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/users/42/custom_attributes +``` + +Example response: + +```json +[ + { + "key": "location", + "value": "Antarctica" + }, + { + "key": "role", + "value": "Developer" + } +] +``` + +## Single custom attribute + +Get a single custom attribute on a user. + +``` +GET /users/:id/custom_attributes/:key +``` + +| Attribute | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `id` | integer | yes | The ID of a user | +| `key` | string | yes | The key of the custom attribute | + +```bash +curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/users/42/custom_attributes/location +``` + +Example response: + +```json +{ + "key": "location", + "value": "Antarctica" +} +``` + +## Set custom attribute + +Set a custom attribute on a user. The attribute will be updated if it already exists, +or newly created otherwise. + +``` +PUT /users/:id/custom_attributes/:key +``` + +| Attribute | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `id` | integer | yes | The ID of a user | +| `key` | string | yes | The key of the custom attribute | +| `value` | string | yes | The value of the custom attribute | + +```bash +curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" --data "value=Greenland" https://gitlab.example.com/api/v4/users/42/custom_attributes/location +``` + +Example response: + +```json +{ + "key": "location", + "value": "Greenland" +} +``` + +## Delete custom attribute + +Delete a custom attribute on a user. + +``` +DELETE /users/:id/custom_attributes/:key +``` + +| Attribute | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `id` | integer | yes | The ID of a user | +| `key` | string | yes | The key of the custom attribute | + +```bash +curl --request DELETE --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/users/42/custom_attributes/location +``` diff --git a/doc/api/users.md b/doc/api/users.md index 6d5db16b36a..1643c584244 100644 --- a/doc/api/users.md +++ b/doc/api/users.md @@ -154,6 +154,12 @@ You can search users by creation date time range with: GET /users?created_before=2001-01-02T00:00:00.060Z&created_after=1999-01-02T00:00:00.060 ``` +You can filter by [custom attributes](custom_attributes.md) with: + +``` +GET /users?custom_attributes[key]=value&custom_attributes[other_key]=other_value +``` + ## Single user Get a single user. -- cgit v1.2.1 From 98f4c8cb5bdedadfa3517862934a4bf65dfeea41 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Thu, 28 Sep 2017 14:00:20 -0300 Subject: copyedit - reorg headers --- .../project/pages/getting_started_part_three.md | 42 +++++++++++----------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'doc') diff --git a/doc/user/project/pages/getting_started_part_three.md b/doc/user/project/pages/getting_started_part_three.md index 4fc6f701144..0096f8507d2 100644 --- a/doc/user/project/pages/getting_started_part_three.md +++ b/doc/user/project/pages/getting_started_part_three.md @@ -33,8 +33,8 @@ you'll need to set up [DNS records](#dns-records) To finish the association, you need to [add your domain to your project's Pages settings](#add-your-custom-domain-to-gitlab-pages-settings). Let's start from the beginning with [DNS records](#dns-records). -If you already know how these things work and want to skip the tutorial, -you may be interested in the [TL;DR](#tl-dr) section below. +If you already know how they work and want to skip the introduction to DNS, +you may be interested in skipping it until the [TL;DR](#tl-dr) section below. ### DNS Records @@ -103,7 +103,23 @@ without any `/project-name`. ![DNS CNAME record pointing to GitLab.com project](img/dns_cname_record_example.png) -#### Add your custom domain to GitLab Pages settings +#### TL;DR + +| From | DNS Record | To | +| ---- | ---------- | -- | +| domain.com | A | 52.167.214.135 | +| subdomain.domain.com | CNAME | namespace.gitlab.io | + +> **Notes**: +> +> - **Do not** use a CNAME record if you want to point your +`domain.com` to your GitLab Pages site. Use an `A` record instead. +> - **Do not** add any special chars after the default Pages +domain. E.g., **do not** point your `subdomain.domain.com` to +`namespace.gitlab.io.` or `namespace.gitlab.io/`. +> - GitLab Pages IP on GitLab.com [has been changed](https://about.gitlab.com/2017/03/06/we-are-changing-the-ip-of-gitlab-pages-on-gitlab-com/) from `104.208.235.32` to `52.167.214.135`. + +### Add your custom domain to GitLab Pages settings Once you've set the DNS record, you'll need navigate to your project's **Setting > Pages** and click **+ New domain** to add your custom domain to @@ -113,8 +129,8 @@ your site will be accessible only via HTTP: ![Add new domain](img/add_certificate_to_pages.png) -You add more than one alias (custom domains and subdomains) to the same project. -An alias can be understood as a way to have many doors leading to the same room. +You can add more than one alias (custom domains and subdomains) to the same project. +An alias can be understood as having many doors leading to the same room. All the aliases you've set to your site will be listed on **Setting > Pages**. From that page, you can view, add, and remove them. @@ -126,22 +142,6 @@ to your domain will respond with a 404. Read through the [general documentation on GitLab Pages](introduction.md#add-a-custom-domain-to-your-pages-website) to learn more about adding custom domains to GitLab Pages sites. -#### TL;DR - -| From | DNS Record | To | -| ---- | ---------- | -- | -| domain.com | A | 52.167.214.135 | -| subdomain.domain.com | CNAME | namespace.gitlab.io | - -> **Notes**: -> -> - **Do not** use a CNAME record if you want to point your -`domain.com` to your GitLab Pages site. Use an `A` record instead. -> - **Do not** add any special chars after the default Pages -domain. E.g., **do not** point your `subdomain.domain.com` to -`namespace.gitlab.io.` or `namespace.gitlab.io/`. -> - GitLab Pages IP on GitLab.com [has been changed](https://about.gitlab.com/2017/03/06/we-are-changing-the-ip-of-gitlab-pages-on-gitlab-com/) from `104.208.235.32` to `52.167.214.135`. - ### SSL/TLS Certificates Every GitLab Pages project on GitLab.com will be available under -- cgit v1.2.1 From f0ff0dd1ed5fd3ff047964c9ad8de81f21ce9014 Mon Sep 17 00:00:00 2001 From: Marcia Ramos Date: Thu, 28 Sep 2017 18:36:19 +0000 Subject: Docs: Feature overview and use cases --- doc/development/writing_documentation.md | 47 +++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/development/writing_documentation.md b/doc/development/writing_documentation.md index b1eb020a592..68ba3dd2da3 100644 --- a/doc/development/writing_documentation.md +++ b/doc/development/writing_documentation.md @@ -1,6 +1,6 @@ # Writing documentation - - **General Documentation**: written by the developers responsible by creating features. Should be submitted in the same merge request containing code. Feature proposals (by GitLab contributors) should also be accompanied by its respective documentation. They can be later improved by PMs and Technical Writers. + - **General Documentation**: written by the [developers responsible by creating features](#contributing-to-docs). Should be submitted in the same merge request containing code. Feature proposals (by GitLab contributors) should also be accompanied by its respective documentation. They can be later improved by PMs and Technical Writers. - **Technical Articles**: written by any [GitLab Team](https://about.gitlab.com/team/) member, GitLab contributors, or [Community Writers](https://about.gitlab.com/handbook/product/technical-writing/community-writers/). - **Indexes per topic**: initially prepared by the Technical Writing Team, and kept up-to-date by developers and PMs in the same merge request containing code. They gather all resources for that topic in a single page (user and admin documentation, articles, and third-party docs). @@ -69,6 +69,51 @@ Use the [writing method](https://about.gitlab.com/handbook/product/technical-wri All the docs follow the same [styleguide](doc_styleguide.md). +### Contributing to docs + +Whenever a feature is changed, updated, introduced, or deprecated, the merge +request introducing these changes must be accompanied by the documentation +(either updating existing ones or creating new ones). This is also valid when +changes are introduced to the UI. + +The one resposible for writing the first piece of documentation is the developer who +wrote the code. It's the job of the Product Manager to ensure all features are +shipped with its docs, whether is a small or big change. At the pace GitLab evolves, +this is the only way to keep the docs up-to-date. If you have any questions about it, +please ask a Technical Writer. Otherwise, when your content is ready, assign one of +them to review it for you. + +We use the [monthly release blog post](https://about.gitlab.com/handbook/marketing/blog/release-posts/#monthly-releases) as a changelog checklist to ensure everything +is documented. + +### Feature overview and use cases + +Every major feature (regardless if present in GitLab Community or Enterprise editions) +should present, at the beginning of the document, two main sections: **overview** and +**use cases**. Every GitLab EE-only feature should also contain these sections. + +**Overview**: at the name suggests, the goal here is to provide an overview of the feature. +Describe what is it, what it does, why it is important/cool/nice-to-have, +what problem it solves, and what you can do with this feature that you couldn't +do before. + +**Use cases**: provide at least two, ideally three, use cases for every major feature. +You should answer this question: what can you do with this feature/change? Use cases +are examples of how this feauture or change can be used in real life. + +Examples: +- CE and EE: [Issues](../user/project/issues/index.md#use-cases) +- CE and EE: [Merge Requests](../user/project/merge_requests/index.md#overview) +- EE-only: [Geo](https://docs.gitlab.com/ee/gitlab-geo/README.html#overview) +- EE-only: [Jenkins integration](https://docs.gitlab.com/ee/integration/jenkins.md#overview) + +Note that if you don't have anything to add between the doc title (`

`) and +the header `## Overview`, you can omit the header, but keep the content of the +overview there. + +> **Overview** and **use cases** are required to **every** Enterprise Edition feature, +and for every **major** feature present in Community Edition. + ### Markdown Currently GitLab docs use Redcarpet as [markdown](../user/markdown.md) engine, but there's an [open discussion](https://gitlab.com/gitlab-com/gitlab-docs/issues/50) for implementing Kramdown in the near future. -- cgit v1.2.1 From 6e6e0c045368ab40f1a7c39d15a234ef509b9155 Mon Sep 17 00:00:00 2001 From: Fabio Busatto Date: Fri, 29 Sep 2017 08:38:45 +0000 Subject: Fix Auto DevOps banner feature flag --- doc/topics/autodevops/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/topics/autodevops/index.md b/doc/topics/autodevops/index.md index 0b7c11ea700..5561784ed0b 100644 --- a/doc/topics/autodevops/index.md +++ b/doc/topics/autodevops/index.md @@ -511,7 +511,7 @@ sudo gitlab-rails console Then run: ```ruby -Feature.get(:auto_devops_banner_disabled).disable +Feature.get(:auto_devops_banner_disabled).enable ``` Or through the HTTP API with an admin access token: -- cgit v1.2.1 From 29b2efb61085017eea21c3fa8e7486cdb15054a4 Mon Sep 17 00:00:00 2001 From: Valery Sizov Date: Fri, 29 Sep 2017 19:42:16 +0300 Subject: Backport documentation for semi-linear history --- doc/user/project/merge_requests/index.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'doc') diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md index 00e1f336702..edd07610f07 100644 --- a/doc/user/project/merge_requests/index.md +++ b/doc/user/project/merge_requests/index.md @@ -24,6 +24,7 @@ With GitLab merge requests, you can: - Add a time estimation and the time spent with that merge request with [Time Tracking](../../../workflow/time_tracking.html#time-tracking) - [Resolve merge conflicts from the UI](#resolve-conflicts) - Enable [fast-forward merge requests](#fast-forward-merge-requests) +- Enable [semi-linear history merge requests](#semi-linear-history-merge-requests) as another security layer to guarantee the pipeline is passing in the target branch With **[GitLab Enterprise Edition][ee]**, you can also: @@ -90,6 +91,17 @@ in a merged merge requests or a commit. [Learn more about cherry-picking changes.](cherry_pick_changes.md) +## Semi-linear history merge requests + +> Included in [GitLab Enterprise Edition Starter][products]. + +A merge commit is created for every merge, but the branch is only merged if +a fast-forward merge is possible. This ensures that if the merge request build +succeeded, the target branch build will also succeed after merging. + +Navigate to a project's settings, select the **Merge commit with semi-linear +history** option under **Merge Requests: Merge method** and save your changes. + ## Fast-forward merge requests If you prefer a linear Git history and a way to accept merge requests without -- cgit v1.2.1 From 80957f7404d6741427dc225aba4df2d000fa129f Mon Sep 17 00:00:00 2001 From: Ben Bodenmiller Date: Sat, 30 Sep 2017 03:02:42 +0000 Subject: remove period [skip ci] --- doc/user/admin_area/monitoring/health_check.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/user/admin_area/monitoring/health_check.md b/doc/user/admin_area/monitoring/health_check.md index 70934f9960a..843fb4ce26b 100644 --- a/doc/user/admin_area/monitoring/health_check.md +++ b/doc/user/admin_area/monitoring/health_check.md @@ -18,7 +18,7 @@ traffic until the system is ready or restart the container as needed. To access monitoring resources, the client IP needs to be included in a whitelist. -[Read how to add IPs to a whitelist for the monitoring endpoints.][admin]. +[Read how to add IPs to a whitelist for the monitoring endpoints][admin]. ## Using the endpoint -- cgit v1.2.1 From 98bfbd49ac3be6a767ab19ac5c6a89eb090ee3ab Mon Sep 17 00:00:00 2001 From: Joshua Lambert Date: Sat, 30 Sep 2017 02:28:47 -0400 Subject: updates --- doc/install/kubernetes/gitlab_chart.md | 9 ++++++--- doc/install/kubernetes/index.md | 12 +++++++----- 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/install/kubernetes/gitlab_chart.md b/doc/install/kubernetes/gitlab_chart.md index 177124c8291..ddfd47df099 100644 --- a/doc/install/kubernetes/gitlab_chart.md +++ b/doc/install/kubernetes/gitlab_chart.md @@ -1,8 +1,13 @@ # GitLab Helm Chart > **Note**: -* This chart will be replaced by the [gitlab-omnibus](gitlab_omnibus.md) chart, once it supports [additional configuration options](https://gitlab.com/charts/charts.gitlab.io/issues/68). +* This chart will be replaced by the [gitlab-omnibus](gitlab_omnibus.md) chart, once it supports [additional configuration options](https://gitlab.com/charts/charts.gitlab.io/issues/68). For more information on available charts, please see our [overview](index.md#chart-overview). * These charts have been tested on Google Container Engine and Azure Container Service. Other Kubernetes installations may work as well, if not please [open an issue](https://gitlab.com/charts/charts.gitlab.io/issues). + +For more information on available GitLab Helm Charts, please see our [overview](index.md#chart-overview). + +## Introduction + The `gitlab` Helm chart deploys just GitLab into your Kubernetes cluster, and offers extensive configuration options. This chart requires advanced knowledge of Kubernetes to successfully use. For most deployments we **strongly recommended** the [gitlab-omnibus](gitlab_omnibus.md) chart, which will replace this chart once it supports [additional configuration options](https://gitlab.com/charts/charts.gitlab.io/issues/68). Due to the difficulty in supporting upgrades to the `omnibus-gitlab` chart, migrating will require exporting data out of this instance and importing it into the new deployment. This chart includes the following: @@ -15,8 +20,6 @@ This chart includes the following: - Optional PostgreSQL deployment using the [PostgreSQL Chart](https://github.com/kubernetes/charts/tree/master/stable/postgresql) (defaults to enabled) - Optional Ingress (defaults to disabled) -For more information on available GitLab Helm Charts, please see our [overview](index.md#chart-overview). - ## Prerequisites - _At least_ 3 GB of RAM available on your cluster. 41GB of storage and 2 CPU are also required. diff --git a/doc/install/kubernetes/index.md b/doc/install/kubernetes/index.md index 467d5b92e0c..f7720998e62 100644 --- a/doc/install/kubernetes/index.md +++ b/doc/install/kubernetes/index.md @@ -9,8 +9,8 @@ should be deployed, upgraded, and configured. ## Chart Overview -* **[GitLab-Omnibus](#gitlab-omnibus-chart-recommended)**: The best way to run GitLab on Kubernetes today. It is suited for small to medium deployments, and is in beta while support for backups and other features are added. -* **[Upcoming Cloud Native Charts](#upcoming-cloud-native-helm-charts)**: The next generation of charts, currently in development. Will support large deployments, with horizontal scaling of individual GitLab components. +* **[GitLab-Omnibus](gitlab_omnibus.md)**: The best way to run GitLab on Kubernetes today. It is suited for small to medium deployments, and is in beta while support for backups and other features are added. +* **[Cloud Native Charts](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md)**: The next generation of charts, currently in development. Will support large deployments, with horizontal scaling of individual GitLab components. * Other Charts * [GitLab Runner Chart](#gitlab-runner-chart): For deploying just the GitLab Runner. * [Advanced GitLab Installation](#advanced-gitlab-installation): Provides additional deployment options, but provides less functionality out-of-the-box. It's beta, no longer actively developed, and will be deprecated by [gitlab-omnibus](#gitlab-omnibus-chart-recommended) once it supports these options. @@ -25,9 +25,9 @@ Once the [cloud native charts](#upcoming-cloud-native-helm-charts) are ready for Learn more about the [gitlab-omnibus chart.](gitlab_omnibus.md) -## Upcoming Cloud Native Charts +## Cloud Native Charts -GitLab is working towards building a [cloud native deployment method](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md). A key part of this effort is to isolate each service into its [own Docker container and Helm chart](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/2420), rather than utilizing the all-in-one container image of the [current charts](#official-gitlab-helm-charts-recommended). +GitLab is working towards building a [cloud native GitLab chart](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md). A key part of this effort is to isolate each service into its [own Docker container and Helm chart](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/2420), rather than utilizing the all-in-one container image of the [current charts](#official-gitlab-helm-charts-recommended). By offering individual containers and charts, we will be able to provide a number of benefits: * Easier horizontal scaling of each service, @@ -37,6 +37,8 @@ By offering individual containers and charts, we will be able to provide a numbe This is a large project and will be worked on over the span of multiple releases. For the most up-to-date status and release information, please see our [tracking issue](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/2420). We do not expect these to be production ready before the second half of 2018. +Learn more about the [cloud native GitLab chart.](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md) + ## Other Charts ### GitLab Runner Chart @@ -55,7 +57,7 @@ Learn more about the [gitlab chart.](gitlab_chart.md) ### Community Contributed Charts -The community has also [contributed GitLab charts](https://github.com/kubernetes/charts/tree/master/stable/gitlab-ce) to the [Helm Stable Repository](https://github.com/kubernetes/charts#repository-structure). These charts should be considered [deprecated](https://github.com/kubernetes/charts/issues/1138) in favor of the [official Charts](#official-gitlab-helm-charts-recommended). +The community has also contributed GitLab [CE]((https://github.com/kubernetes/charts/tree/master/stable/gitlab-ce)) and [EE]((https://github.com/kubernetes/charts/tree/master/stable/gitlab-ce)) charts to the [Helm Stable Repository](https://github.com/kubernetes/charts#repository-structure). These charts should be considered [deprecated](https://github.com/kubernetes/charts/issues/1138) in favor of the [official Charts](gitlab_omnibus.md). [chart]: https://github.com/kubernetes/charts [helm]: https://github.com/kubernetes/helm/blob/master/README.md -- cgit v1.2.1 From 2146d6253fadfec82e58d66e59b9ec50fdf3d761 Mon Sep 17 00:00:00 2001 From: Andrew Newdigate Date: Sat, 30 Sep 2017 16:26:23 +0000 Subject: Add environment variable to bypass n+1 --- doc/development/gitaly.md | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/development/gitaly.md b/doc/development/gitaly.md index f0be3a6b141..e41d258bec6 100644 --- a/doc/development/gitaly.md +++ b/doc/development/gitaly.md @@ -12,6 +12,7 @@ status of the migration. Gitaly makes heavy use of [feature flags](feature_flags.md). Each Rugged-to-Gitaly migration goes through a [series of phases](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/MIGRATION_PROCESS.md): + * **Opt-In**: by default the Rugged implementation is used. * Production instances can choose to enable the Gitaly endpoint by enabling the feature flag. * For testing purposes, you may wish to enable all feature flags by default. This can be done by exporting the following @@ -19,7 +20,7 @@ Each Rugged-to-Gitaly migration goes through a [series of phases](https://gitlab * On developer instances (ie, when `Rails.env.development?` is true), the Gitaly endpoint is enabled by default, but can be _disabled_ using feature flags. * **Opt-Out**: by default, the Gitaly endpoint is used, but the feature can be explicitly disabled using the feature flag. -* **Madatory**: The migration is complete and cannot be disabled. The old codepath is removed. +* **Mandatory**: The migration is complete and cannot be disabled. The old codepath is removed. ### Enabling and Disabling Feature @@ -49,6 +50,35 @@ If your test-suite is failing with Gitaly issues, as a first step, try running: rm -rf tmp/tests/gitaly ``` +## `TooManyInvocationsError` errors + +During development and testing, you may experience `Gitlab::GitalyClient::TooManyInvocationsError` failures. +The `GitalyClient` will attempt to block against potential n+1 issues by raising this error +when Gitaly is called more than 30 times in a single Rails request or Sidekiq execution. + +As a temporary measure, export `GITALY_DISABLE_REQUEST_LIMITS=1` to suppress the error. This will disable the n+1 detection +in your development environment. + +Please raise an issue in the GitLab CE or EE repositories to report the issue. Include the labels ~Gitaly +~performance ~"technical debt". Please ensure that the issue contains the full stack trace and error message of the +`TooManyInvocationsError`. Also include any known failing tests if possible. + +Isolate the source of the n+1 problem. This will normally be a loop that results in Gitaly being called for each +element in an array. If you are unable to isolate the problem, please contact a member +of the [Gitaly Team](https://gitlab.com/groups/gl-gitaly/group_members) for assistance. + +Once the source has been found, wrap it in an `allow_n_plus_1_calls` block, as follows: + +```ruby +# n+1: link to n+1 issue +Gitlab::GitalyClient.allow_n_plus_1_calls do + # original code + commits.each { |commit| ... } +end +``` + +Once the code is wrapped in this block, this code-path will be excluded from n+1 detection. + --- [Return to Development documentation](README.md) -- cgit v1.2.1 From 654b635c584b63f817f542f73a036c6093560dab Mon Sep 17 00:00:00 2001 From: Joshua Lambert Date: Sat, 30 Sep 2017 13:32:39 -0400 Subject: Fix dead link --- doc/install/kubernetes/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/install/kubernetes/index.md b/doc/install/kubernetes/index.md index f7720998e62..ce87608c242 100644 --- a/doc/install/kubernetes/index.md +++ b/doc/install/kubernetes/index.md @@ -57,7 +57,7 @@ Learn more about the [gitlab chart.](gitlab_chart.md) ### Community Contributed Charts -The community has also contributed GitLab [CE]((https://github.com/kubernetes/charts/tree/master/stable/gitlab-ce)) and [EE]((https://github.com/kubernetes/charts/tree/master/stable/gitlab-ce)) charts to the [Helm Stable Repository](https://github.com/kubernetes/charts#repository-structure). These charts should be considered [deprecated](https://github.com/kubernetes/charts/issues/1138) in favor of the [official Charts](gitlab_omnibus.md). +The community has also contributed GitLab [CE](https://github.com/kubernetes/charts/tree/master/stable/gitlab-ce) and [EE](https://github.com/kubernetes/charts/tree/master/stable/gitlab-ee) charts to the [Helm Stable Repository](https://github.com/kubernetes/charts#repository-structure). These charts should be considered [deprecated](https://github.com/kubernetes/charts/issues/1138) in favor of the [official Charts](gitlab_omnibus.md). [chart]: https://github.com/kubernetes/charts [helm]: https://github.com/kubernetes/helm/blob/master/README.md -- cgit v1.2.1 From 1c46d27d9e2a15b483b3bdafdc81f292886f4fd9 Mon Sep 17 00:00:00 2001 From: Joshua Lambert Date: Sat, 30 Sep 2017 13:35:13 -0400 Subject: updates --- doc/install/kubernetes/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/install/kubernetes/index.md b/doc/install/kubernetes/index.md index ce87608c242..e79b8b2d759 100644 --- a/doc/install/kubernetes/index.md +++ b/doc/install/kubernetes/index.md @@ -12,8 +12,8 @@ should be deployed, upgraded, and configured. * **[GitLab-Omnibus](gitlab_omnibus.md)**: The best way to run GitLab on Kubernetes today. It is suited for small to medium deployments, and is in beta while support for backups and other features are added. * **[Cloud Native Charts](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md)**: The next generation of charts, currently in development. Will support large deployments, with horizontal scaling of individual GitLab components. * Other Charts - * [GitLab Runner Chart](#gitlab-runner-chart): For deploying just the GitLab Runner. - * [Advanced GitLab Installation](#advanced-gitlab-installation): Provides additional deployment options, but provides less functionality out-of-the-box. It's beta, no longer actively developed, and will be deprecated by [gitlab-omnibus](#gitlab-omnibus-chart-recommended) once it supports these options. + * [GitLab Runner Chart](gitlab_runner_chart.md): For deploying just the GitLab Runner. + * [Advanced GitLab Installation](gitlab_chart.md): Provides additional deployment options, but provides less functionality out-of-the-box. It's beta, no longer actively developed, and will be deprecated by [gitlab-omnibus](#gitlab-omnibus-chart-recommended) once it supports these options. * [Community Contributed Charts](#community-contributed-charts): Community contributed charts, deprecated by the official GitLab charts. ## GitLab-Omnibus Chart (Recommended) @@ -25,7 +25,7 @@ Once the [cloud native charts](#upcoming-cloud-native-helm-charts) are ready for Learn more about the [gitlab-omnibus chart.](gitlab_omnibus.md) -## Cloud Native Charts +## Cloud Native GitLab Chart GitLab is working towards building a [cloud native GitLab chart](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md). A key part of this effort is to isolate each service into its [own Docker container and Helm chart](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/2420), rather than utilizing the all-in-one container image of the [current charts](#official-gitlab-helm-charts-recommended). -- cgit v1.2.1 From 2420ff749f8844b5b81cb67a55e3b488769a9842 Mon Sep 17 00:00:00 2001 From: Joshua Lambert Date: Sat, 30 Sep 2017 13:48:35 -0400 Subject: minor cleanup --- doc/install/kubernetes/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/install/kubernetes/index.md b/doc/install/kubernetes/index.md index e79b8b2d759..90b9e98455a 100644 --- a/doc/install/kubernetes/index.md +++ b/doc/install/kubernetes/index.md @@ -10,7 +10,7 @@ should be deployed, upgraded, and configured. ## Chart Overview * **[GitLab-Omnibus](gitlab_omnibus.md)**: The best way to run GitLab on Kubernetes today. It is suited for small to medium deployments, and is in beta while support for backups and other features are added. -* **[Cloud Native Charts](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md)**: The next generation of charts, currently in development. Will support large deployments, with horizontal scaling of individual GitLab components. +* **[Cloud Native GitLab Chart](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md)**: The next generation of charts, currently in development. Will support large deployments, with horizontal scaling of individual GitLab components. * Other Charts * [GitLab Runner Chart](gitlab_runner_chart.md): For deploying just the GitLab Runner. * [Advanced GitLab Installation](gitlab_chart.md): Provides additional deployment options, but provides less functionality out-of-the-box. It's beta, no longer actively developed, and will be deprecated by [gitlab-omnibus](#gitlab-omnibus-chart-recommended) once it supports these options. -- cgit v1.2.1 From 1e9f9d97e1754fb99b9317847a06cfd5a3755fe7 Mon Sep 17 00:00:00 2001 From: Joshua Lambert Date: Sun, 1 Oct 2017 22:04:18 -0400 Subject: minor cleanup --- doc/install/kubernetes/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/install/kubernetes/index.md b/doc/install/kubernetes/index.md index 90b9e98455a..aed00ae9e2c 100644 --- a/doc/install/kubernetes/index.md +++ b/doc/install/kubernetes/index.md @@ -10,11 +10,11 @@ should be deployed, upgraded, and configured. ## Chart Overview * **[GitLab-Omnibus](gitlab_omnibus.md)**: The best way to run GitLab on Kubernetes today. It is suited for small to medium deployments, and is in beta while support for backups and other features are added. -* **[Cloud Native GitLab Chart](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md)**: The next generation of charts, currently in development. Will support large deployments, with horizontal scaling of individual GitLab components. +* **[Cloud Native GitLab Chart](https://gitlab.com/charts/helm.gitlab.io/blob/master/README.md)**: The next generation GitLab chart, currently in development. Will support large deployments with horizontal scaling of individual GitLab components. * Other Charts * [GitLab Runner Chart](gitlab_runner_chart.md): For deploying just the GitLab Runner. * [Advanced GitLab Installation](gitlab_chart.md): Provides additional deployment options, but provides less functionality out-of-the-box. It's beta, no longer actively developed, and will be deprecated by [gitlab-omnibus](#gitlab-omnibus-chart-recommended) once it supports these options. - * [Community Contributed Charts](#community-contributed-charts): Community contributed charts, deprecated by the official GitLab charts. + * [Community Contributed Charts](#community-contributed-charts): Community contributed charts, deprecated by the official GitLab chart. ## GitLab-Omnibus Chart (Recommended) > **Note**: This chart is in beta while [additional features](https://gitlab.com/charts/charts.gitlab.io/issues/68) are being added. -- cgit v1.2.1 From e559b8511b2817b9c57a5190ff9ed95c739528bf Mon Sep 17 00:00:00 2001 From: Valery Sizov Date: Mon, 2 Oct 2017 14:29:17 +0300 Subject: Update MR doc to indicate that the linear-history feature is available for CE as well --- doc/user/project/merge_requests/index.md | 2 -- 1 file changed, 2 deletions(-) (limited to 'doc') diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md index edd07610f07..8e081b4f0b8 100644 --- a/doc/user/project/merge_requests/index.md +++ b/doc/user/project/merge_requests/index.md @@ -93,8 +93,6 @@ in a merged merge requests or a commit. ## Semi-linear history merge requests -> Included in [GitLab Enterprise Edition Starter][products]. - A merge commit is created for every merge, but the branch is only merged if a fast-forward merge is possible. This ensures that if the merge request build succeeded, the target branch build will also succeed after merging. -- cgit v1.2.1 From 8cf22babec40ec8107f53234535d7085851128b8 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Mon, 2 Oct 2017 17:11:02 -0500 Subject: Add docs for online view of HTML artifacts --- .../project/pipelines/img/job_artifacts_browser.png | Bin 3771 -> 3944 bytes doc/user/project/pipelines/job_artifacts.md | 8 +++++++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/user/project/pipelines/img/job_artifacts_browser.png b/doc/user/project/pipelines/img/job_artifacts_browser.png index 145fe156bbb..d3d8de5ac60 100644 Binary files a/doc/user/project/pipelines/img/job_artifacts_browser.png and b/doc/user/project/pipelines/img/job_artifacts_browser.png differ diff --git a/doc/user/project/pipelines/job_artifacts.md b/doc/user/project/pipelines/job_artifacts.md index 4e93e680fd2..9ef6f9185c9 100644 --- a/doc/user/project/pipelines/job_artifacts.md +++ b/doc/user/project/pipelines/job_artifacts.md @@ -50,6 +50,10 @@ For more examples on artifacts, follow the [artifacts reference in With GitLab 9.2, PDFs, images, videos and other formats can be previewed directly in the job artifacts browser without the need to download them. +>**Note:** +With [GitLab 10.1][ce-14399], HTML files in a public project can be previewed +directly in a new tab without the need to download them. + After a job finishes, if you visit the job's specific page, there are three buttons. You can download the artifacts archive or browse its contents, whereas the **Keep** button appears only if you have set an [expiry date] to the @@ -64,7 +68,8 @@ archive. If your artifacts contained directories, then you are also able to browse inside them. Below you can see how browsing looks like. In this case we have browsed inside -the archive and at this point there is one directory and one HTML file. +the archive and at this point there is one directory, a couple files, and +one HTML file that you can view directly online (opens in a new tab). ![Job artifacts browser](img/job_artifacts_browser.png) @@ -158,3 +163,4 @@ information in the UI. [expiry date]: ../../../ci/yaml/README.md#artifacts-expire_in +[ce-14399]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14399 -- cgit v1.2.1 From bca86c858b361f3b5a19abcfc03972c95f4b2d2a Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 3 Oct 2017 00:33:13 -0500 Subject: Add test for external HTML artifact --- doc/user/project/pipelines/img/job_artifacts_browser.png | Bin 3944 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/user/project/pipelines/img/job_artifacts_browser.png (limited to 'doc') diff --git a/doc/user/project/pipelines/img/job_artifacts_browser.png b/doc/user/project/pipelines/img/job_artifacts_browser.png deleted file mode 100644 index d3d8de5ac60..00000000000 Binary files a/doc/user/project/pipelines/img/job_artifacts_browser.png and /dev/null differ -- cgit v1.2.1 From 1bc5d24afdc4f461aaeae0a1c0bc9c7dae0c8a9d Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 3 Oct 2017 01:52:31 -0500 Subject: Restore lost artifacts browser image --- doc/user/project/pipelines/img/job_artifacts_browser.png | Bin 0 -> 3944 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/user/project/pipelines/img/job_artifacts_browser.png (limited to 'doc') diff --git a/doc/user/project/pipelines/img/job_artifacts_browser.png b/doc/user/project/pipelines/img/job_artifacts_browser.png new file mode 100644 index 00000000000..d3d8de5ac60 Binary files /dev/null and b/doc/user/project/pipelines/img/job_artifacts_browser.png differ -- cgit v1.2.1 From ce7f297a7fb1f662a1507b729608d600323b8c64 Mon Sep 17 00:00:00 2001 From: Mark Fletcher Date: Tue, 3 Oct 2017 14:39:31 +0700 Subject: Add documentation to summarise project archiving --- doc/user/project/settings/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'doc') diff --git a/doc/user/project/settings/index.md b/doc/user/project/settings/index.md index 22c343dc027..c8c91441e18 100644 --- a/doc/user/project/settings/index.md +++ b/doc/user/project/settings/index.md @@ -42,3 +42,11 @@ Learn how to [export a project](import_export.md#importing-the-project) in GitLa ### Advanced settings Here you can run housekeeping, archive, rename, transfer, or remove a project. + +#### Archiving a project + +>**Note:** Only Project Owners and Admin users have the permission to archive a project + +It's possible to mark a project as archived via the Project Settings. An archived project will be hidden by default in the project listings. + +An archived project can be fully restored and will therefore retain it's repository and all associated resources whilst in an archived state. -- cgit v1.2.1 From 2e76c604dfad0e44adf177795c576255c85b3171 Mon Sep 17 00:00:00 2001 From: "Jacob Vosmaer (GitLab)" Date: Tue, 3 Oct 2017 11:28:40 +0000 Subject: Add grpc.log for Gitaly --- doc/administration/gitaly/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'doc') diff --git a/doc/administration/gitaly/index.md b/doc/administration/gitaly/index.md index 40099dcc967..e3b10119090 100644 --- a/doc/administration/gitaly/index.md +++ b/doc/administration/gitaly/index.md @@ -32,6 +32,14 @@ prometheus_listen_addr = "localhost:9236" Changes to `/home/git/gitaly/config.toml` are applied when you run `service gitlab restart`. +## Client-side GRPC logs + +Gitaly uses the [gRPC](https://grpc.io/) RPC framework. The Ruby gRPC +client has its own log file which may contain useful information when +you are seeing Gitaly errors. You can control the log level of the +gRPC client with the `GRPC_LOG_LEVEL` environment variable. The +default level is `WARN`. + ## Running Gitaly on its own server > This is an optional way to deploy Gitaly which can benefit GitLab -- cgit v1.2.1 From b509588a28d0a102f4ad4b97d91c5b5944946834 Mon Sep 17 00:00:00 2001 From: Winnie Hellmann Date: Tue, 26 Sep 2017 11:46:59 +0200 Subject: Add basic sprintf implementation to JavaScript --- doc/development/i18n_guide.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/development/i18n_guide.md b/doc/development/i18n_guide.md index bd0ef39ca62..29c8941a8f7 100644 --- a/doc/development/i18n_guide.md +++ b/doc/development/i18n_guide.md @@ -183,13 +183,20 @@ aren't in the message with id `1 pipeline`. ### Interpolation -- In Ruby/HAML: +- In Ruby/HAML (see [sprintf]): ```ruby _("Hello %{name}") % { name: 'Joe' } ``` -- In JavaScript: Not supported at this moment. +- In JavaScript: Only named parameters are supported (see also [#37992]): + + ```javascript + __("Hello %{name}") % { name: 'Joe' } + ``` + +[sprintf]: http://ruby-doc.org/core/Kernel.html#method-i-sprintf +[#37992]: https://gitlab.com/gitlab-org/gitlab-ce/issues/37992 ### Plurals -- cgit v1.2.1 From fe3d966781a9224fe6382621ee5c6796f4cdce1c Mon Sep 17 00:00:00 2001 From: Dimitrie Hoekstra Date: Tue, 3 Oct 2017 15:26:45 +0000 Subject: Added skeleton loading paradigm to UX guide --- doc/development/ux_guide/animation.md | 10 +++++++++- doc/development/ux_guide/components.md | 19 +++++++++++++++++++ doc/development/ux_guide/img/skeleton-loading.gif | Bin 0 -> 1093917 bytes 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 doc/development/ux_guide/img/skeleton-loading.gif (limited to 'doc') diff --git a/doc/development/ux_guide/animation.md b/doc/development/ux_guide/animation.md index 5dae4bcc905..d190ee1b0ff 100644 --- a/doc/development/ux_guide/animation.md +++ b/doc/development/ux_guide/animation.md @@ -39,6 +39,12 @@ When information is updating in place, a quick, subtle animation is needed. The ![Quick update animation](img/animation-quickupdate.gif) +### Skeleton loading + +Skeleton loading is explained in the [component section](components.html#skeleton-loading) of the UX guide. It includes a horizontally pulsating animation that shows motion as if it's growing. It's timing is a slower `linear 1s`. + +![Skeleton loading animation](img/skeleton-loading.gif) + ### Moving transitions When elements move on screen, there should be a quick animation so it is clear to users what moved where. The timing of this animation differs based on the amount of movement and change. Consider animations between `200ms` and `400ms`. @@ -51,7 +57,9 @@ View the [interactive example](http://codepen.io/awhildy/full/ALyKPE/) here. ![Reorder animation](img/animation-reorder.gif) #### Autoscroll the page + Another example of a moving transition is when you have to autoscroll the page to keep an active element visible. View the [interactive example](http://codepen.io/awhildy/full/PbxgVo/) here. -![Autoscroll animation](img/animation-autoscroll.gif) \ No newline at end of file + +![Autoscroll animation](img/animation-autoscroll.gif) diff --git a/doc/development/ux_guide/components.md b/doc/development/ux_guide/components.md index ac7c1b6207d..986b796437b 100644 --- a/doc/development/ux_guide/components.md +++ b/doc/development/ux_guide/components.md @@ -204,6 +204,25 @@ Cover blocks are generally used to create a heading element for a page, such as --- +## Skeleton loading + +Skeleton loading is a way to convey to the user what kind of content is currently being loaded. It's a paradigm with which content can independently and asynchronously be loaded, while still adhering to the structure and look of the completely loaded view. + +### Requirements + +* A skeleton should represent an organism in a recognisable way +* Atom elements within organisms (for reference see this article on [atomic design methodology](http://atomicdesign.bradfrost.com/chapter-2/)) may be represented in a maximum of 3 repetitions, if applicable. +* Skeletons should only be presented in grayscale using the HEX colors: `#fafafa` or `#ffffff` (except for shadows) +* Animate the grey atoms in a pulsating way to show motion, as if "loading". The pulse animation transitions colors horizontally from left to right, starting with `#f2f2f2` to `#fafafa`. + +![Skeleton loading animation](img/skeleton-loading.gif) + +### Usage + +Skeleton loading can replace any existing UI elements for the period in which they are loaded and should aim for maintaining a similar structure visually. + +--- + ## Panels > TODO: Catalog how we are currently using panels and rationalize how they relate to alerts diff --git a/doc/development/ux_guide/img/skeleton-loading.gif b/doc/development/ux_guide/img/skeleton-loading.gif new file mode 100644 index 00000000000..5877139171d Binary files /dev/null and b/doc/development/ux_guide/img/skeleton-loading.gif differ -- cgit v1.2.1 From ab2e4480839d260d84a3f48c4af6584fd821ff17 Mon Sep 17 00:00:00 2001 From: David Turner Date: Fri, 29 Sep 2017 18:07:36 -0400 Subject: explain target_project_id vs project_id --- doc/api/merge_requests.md | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'doc') diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md index bff8a2d3e4d..63a5dd1445c 100644 --- a/doc/api/merge_requests.md +++ b/doc/api/merge_requests.md @@ -121,6 +121,15 @@ GET /projects/:id/merge_requests?labels=bug,reproduced GET /projects/:id/merge_requests?my_reaction_emoji=star ``` +`project_id` represents the ID of the project where the MR resides. +`project_id` will always equal `target_project_id`. + +In the case of a merge request from the same project, +`source_project_id`, `target_project_id` and `project_id` +will be the same. In the case of a merge request from a fork, +`target_project_id` and `project_id` will be the same and +`source_project_id` will be the fork project's ID. + Parameters: | Attribute | Type | Required | Description | -- cgit v1.2.1 From 9ba04545531f0a7c19b1fe68845d9a8660558d7c Mon Sep 17 00:00:00 2001 From: Winnie Hellmann Date: Tue, 3 Oct 2017 19:47:07 +0000 Subject: Fix link to Vue.js style guide --- doc/development/fe_guide/vue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/development/fe_guide/vue.md b/doc/development/fe_guide/vue.md index 2607353782a..277e0cd5f00 100644 --- a/doc/development/fe_guide/vue.md +++ b/doc/development/fe_guide/vue.md @@ -428,7 +428,7 @@ is a good example of this pattern. ## Style guide -Please refer to the Vue section of our [style guide](style_guide_js.md#vuejs) +Please refer to the Vue section of our [style guide](style_guide_js.md#vue-js) for best practices while writing your Vue components and templates. ## Testing Vue Components -- cgit v1.2.1 From b88f70606d2fd5b0a116f08f7925143ff40214fa Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 3 Oct 2017 19:07:41 -0500 Subject: Re-arrange + + + + // We don't use scoped styles but there are few instances of this + + ``` + +1. Properties in a Vue Component: 1. `name` 1. `props` 1. `mixins` @@ -490,6 +508,7 @@ On those a default key should not be provided. 1. `beforeDestroy` 1. `destroyed` + #### Vue and Bootstrap 1. Tooltips: Do not rely on `has-tooltip` class name for Vue components -- cgit v1.2.1 From 147e2b21be180d4b405c6ebe861971cb0dc9e6b2 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Fri, 29 Sep 2017 18:05:20 +0200 Subject: Let fetch_ref pull from Gitaly instead of from disk --- doc/development/testing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/development/testing.md b/doc/development/testing.md index d856b003353..4d5b90de6fc 100644 --- a/doc/development/testing.md +++ b/doc/development/testing.md @@ -302,7 +302,7 @@ range of inputs, might look like this: ```ruby describe "#==" do - using Rspec::Parameterized::TableSyntax + using RSpec::Parameterized::TableSyntax let(:project1) { create(:project) } let(:project2) { create(:project) } -- cgit v1.2.1 From e182e8ff106dba64e7edfefca5be5cc685f084f0 Mon Sep 17 00:00:00 2001 From: Jarka Kadlecova Date: Wed, 4 Oct 2017 14:09:20 +0200 Subject: Add documentation for discussion lock --- .../img/discussion_lock_system_notes.png | Bin 0 -> 50200 bytes doc/user/discussions/img/lock_form_member.png | Bin 0 -> 100581 bytes doc/user/discussions/img/lock_form_non_member.png | Bin 0 -> 37432 bytes doc/user/discussions/img/turn_off_lock.png | Bin 0 -> 31580 bytes doc/user/discussions/img/turn_on_lock.png | Bin 0 -> 34839 bytes doc/user/discussions/index.md | 30 +++++++++++++++++++++ 6 files changed, 30 insertions(+) create mode 100644 doc/user/discussions/img/discussion_lock_system_notes.png create mode 100644 doc/user/discussions/img/lock_form_member.png create mode 100644 doc/user/discussions/img/lock_form_non_member.png create mode 100644 doc/user/discussions/img/turn_off_lock.png create mode 100644 doc/user/discussions/img/turn_on_lock.png (limited to 'doc') diff --git a/doc/user/discussions/img/discussion_lock_system_notes.png b/doc/user/discussions/img/discussion_lock_system_notes.png new file mode 100644 index 00000000000..8e8e8e0bc3d Binary files /dev/null and b/doc/user/discussions/img/discussion_lock_system_notes.png differ diff --git a/doc/user/discussions/img/lock_form_member.png b/doc/user/discussions/img/lock_form_member.png new file mode 100644 index 00000000000..01c6308d24c Binary files /dev/null and b/doc/user/discussions/img/lock_form_member.png differ diff --git a/doc/user/discussions/img/lock_form_non_member.png b/doc/user/discussions/img/lock_form_non_member.png new file mode 100644 index 00000000000..3bb70b69580 Binary files /dev/null and b/doc/user/discussions/img/lock_form_non_member.png differ diff --git a/doc/user/discussions/img/turn_off_lock.png b/doc/user/discussions/img/turn_off_lock.png new file mode 100644 index 00000000000..dd05b398a8b Binary files /dev/null and b/doc/user/discussions/img/turn_off_lock.png differ diff --git a/doc/user/discussions/img/turn_on_lock.png b/doc/user/discussions/img/turn_on_lock.png new file mode 100644 index 00000000000..9597da4e14d Binary files /dev/null and b/doc/user/discussions/img/turn_on_lock.png differ diff --git a/doc/user/discussions/index.md b/doc/user/discussions/index.md index efea99eb120..f3c51d95513 100644 --- a/doc/user/discussions/index.md +++ b/doc/user/discussions/index.md @@ -153,12 +153,42 @@ comments in greater detail. ![Discussion comment](img/discussion_comment.png) +## Locking discussions + +> [Introduced][ce-14531] in GitLab 10.1. + +When the discussion of an issue or a merge request is locked only team members can write new comments and edit the old ones. + +### Modifying discussion lock + +To lock or unlock a dicsussion, find the Lock section in the sidebar and click **Edit**. A popup should appear and give you the option to turn on or turn off the discussion lock. + +| Turn off discussion lock | Turn on discussion lock | +| :-----------: | :----------: | +| ![Turn off discussion lock](img/turn_off_lock.png) | ![Turn on discussion lock](img/turn_on_lock.png) | + +Every change is indicated by a system note in the issue's or merge request's comments. + +![Discussion lock system notes](img/discussion_lock_system_notes.png) + +### Indications of locked issues or merge requests + +While you are inside the locked issue or merge request and you are a project team member you can see an indicator in the comment form that the issue or merge request is locked. + +If you are not a team member you won't see the comment form but only the information that the dicussion is locked. + +| Team member | Not a member | +| :-----------: | :----------: | +| ![Comment form member](img/lock_form_member.png) | ![Comment form non-member](img/lock_form_non_member.png) | + + [ce-5022]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5022 [ce-7125]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7125 [ce-7527]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7527 [ce-7180]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7180 [ce-8266]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8266 [ce-14053]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14053 +[ce-14531]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14531 [resolve-discussion-button]: img/resolve_discussion_button.png [resolve-comment-button]: img/resolve_comment_button.png [discussion-view]: img/discussion_view.png -- cgit v1.2.1 From da05687d90c326b32554accbcd5653152a944e14 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Tue, 3 Oct 2017 15:11:49 +0200 Subject: Update a bunch of docs images --- doc/ci/enable_or_disable_ci.md | 39 ++++++++---------- doc/ci/environments.md | 15 +++---- doc/ci/img/builds_tab.png | Bin 1956 -> 0 bytes doc/ci/img/deployments_view.png | Bin 19923 -> 61088 bytes doc/ci/img/environments_available.png | Bin 0 -> 21089 bytes doc/ci/img/environments_available_staging.png | Bin 10098 -> 0 bytes doc/ci/img/environments_dynamic_groups.png | Bin 45349 -> 58239 bytes doc/ci/img/environments_link_url.png | Bin 12277 -> 0 bytes doc/ci/img/environments_link_url_deployments.png | Bin 7490 -> 0 bytes doc/ci/img/environments_link_url_mr.png | Bin 17947 -> 34361 bytes doc/ci/img/environments_manual_action_builds.png | Bin 11137 -> 0 bytes .../img/environments_manual_action_deployments.png | Bin 12563 -> 32748 bytes .../environments_manual_action_environments.png | Bin 14914 -> 24191 bytes doc/ci/img/environments_manual_action_jobs.png | Bin 0 -> 19919 bytes .../img/environments_manual_action_pipelines.png | Bin 16243 -> 38974 bytes .../environments_manual_action_single_pipeline.png | Bin 16576 -> 23381 bytes doc/ci/img/environments_mr_review_app.png | Bin 15366 -> 30991 bytes .../img/environments_terminal_button_on_index.png | Bin 79725 -> 29162 bytes .../img/environments_terminal_button_on_show.png | Bin 73210 -> 17811 bytes doc/ci/img/environments_view.png | Bin 21155 -> 0 bytes doc/ci/img/permissions_settings.png | Bin 39194 -> 0 bytes .../prometheus_environment_detail_with_metrics.png | Bin 120479 -> 0 bytes doc/ci/variables/README.md | 23 ++++++----- doc/ci/variables/img/secret_variables.png | Bin 0 -> 15658 bytes doc/user/project/container_registry.md | 22 +++++----- doc/user/project/img/container_registry.png | Bin 0 -> 35202 bytes doc/user/project/img/container_registry_enable.png | Bin 3057 -> 0 bytes doc/user/project/img/container_registry_tab.png | Bin 3800 -> 0 bytes doc/user/project/img/issue_board.png | Bin 51439 -> 82592 bytes .../img/issue_board_move_issue_card_list.png | Bin 74826 -> 36747 bytes .../img/labels_assign_label_in_new_issue.png | Bin 11636 -> 0 bytes doc/user/project/img/labels_default.png | Bin 32030 -> 24404 bytes doc/user/project/img/labels_filter.png | Bin 31931 -> 19071 bytes doc/user/project/img/labels_filter_by_priority.png | Bin 23969 -> 38717 bytes doc/user/project/img/labels_new_label.png | Bin 16787 -> 10720 bytes doc/user/project/img/labels_prioritize.png | Bin 38185 -> 24194 bytes .../project/img/project_repository_settings.png | Bin 35236 -> 17872 bytes doc/user/project/issue_board.md | 6 +-- doc/user/project/issues/img/button_close_issue.png | Bin 15508 -> 12274 bytes .../project/issues/img/group_issues_list_view.png | Bin 265130 -> 127781 bytes doc/user/project/issues/img/issue_board.png | Bin 58645 -> 56253 bytes doc/user/project/issues/img/issue_template.png | Bin 28061 -> 25022 bytes doc/user/project/issues/img/issues_main_view.png | Bin 73751 -> 72540 bytes .../issues/img/issues_main_view_numbered.jpg | Bin 103249 -> 205803 bytes doc/user/project/issues/img/new_issue.png | Bin 31727 -> 28734 bytes .../issues/img/new_issue_from_issue_board.png | Bin 137175 -> 57427 bytes .../issues/img/new_issue_from_open_issue.png | Bin 20628 -> 13346 bytes .../img/new_issue_from_projects_dashboard.png | Bin 29865 -> 23685 bytes .../issues/img/new_issue_from_tracker_list.png | Bin 24345 -> 19632 bytes .../issues/img/project_issues_list_view.png | Bin 309131 -> 196071 bytes doc/user/project/issues/img/sidebar_move_issue.png | Bin 54511 -> 50132 bytes doc/user/project/labels.md | 45 +++++++++------------ .../project/merge_requests/cherry_pick_changes.md | 31 +++++--------- .../img/cherry_pick_changes_commit.png | Bin 141744 -> 13604 bytes .../img/cherry_pick_changes_commit_modal.png | Bin 111488 -> 0 bytes .../merge_requests/img/cherry_pick_changes_mr.png | Bin 93870 -> 16494 bytes .../img/cherry_pick_changes_mr_modal.png | Bin 86650 -> 0 bytes .../project/merge_requests/img/commit_compare.png | Bin 33385 -> 0 bytes .../project/merge_requests/img/merge_request.png | Bin 0 -> 67228 bytes .../img/merge_when_pipeline_succeeds_enable.png | Bin 60346 -> 22791 bytes .../img/revert_changes_commit_modal.png | Bin 88824 -> 0 bytes .../merge_requests/img/revert_changes_mr_modal.png | Bin 93536 -> 0 bytes doc/user/project/merge_requests/img/versions.png | Bin 55703 -> 23629 bytes .../merge_requests/img/versions_compare.png | Bin 24886 -> 17228 bytes .../merge_requests/img/versions_dropdown.png | Bin 21547 -> 13887 bytes .../img/wip_blocked_accept_button.png | Bin 18606 -> 8071 bytes .../project/merge_requests/img/wip_mark_as_wip.png | Bin 11396 -> 17081 bytes .../merge_requests/img/wip_unmark_as_wip.png | Bin 8565 -> 18585 bytes doc/user/project/merge_requests/index.md | 2 + doc/user/project/merge_requests/revert_changes.md | 44 ++++++++------------ 70 files changed, 99 insertions(+), 128 deletions(-) delete mode 100644 doc/ci/img/builds_tab.png create mode 100644 doc/ci/img/environments_available.png delete mode 100644 doc/ci/img/environments_available_staging.png delete mode 100644 doc/ci/img/environments_link_url.png delete mode 100644 doc/ci/img/environments_link_url_deployments.png delete mode 100644 doc/ci/img/environments_manual_action_builds.png create mode 100644 doc/ci/img/environments_manual_action_jobs.png delete mode 100644 doc/ci/img/environments_view.png delete mode 100644 doc/ci/img/permissions_settings.png delete mode 100644 doc/ci/img/prometheus_environment_detail_with_metrics.png create mode 100644 doc/ci/variables/img/secret_variables.png create mode 100644 doc/user/project/img/container_registry.png delete mode 100644 doc/user/project/img/container_registry_enable.png delete mode 100644 doc/user/project/img/container_registry_tab.png delete mode 100644 doc/user/project/img/labels_assign_label_in_new_issue.png delete mode 100644 doc/user/project/merge_requests/img/cherry_pick_changes_commit_modal.png delete mode 100644 doc/user/project/merge_requests/img/cherry_pick_changes_mr_modal.png delete mode 100644 doc/user/project/merge_requests/img/commit_compare.png create mode 100644 doc/user/project/merge_requests/img/merge_request.png delete mode 100644 doc/user/project/merge_requests/img/revert_changes_commit_modal.png delete mode 100644 doc/user/project/merge_requests/img/revert_changes_mr_modal.png (limited to 'doc') diff --git a/doc/ci/enable_or_disable_ci.md b/doc/ci/enable_or_disable_ci.md index 796a025b951..b8f9988e3ef 100644 --- a/doc/ci/enable_or_disable_ci.md +++ b/doc/ci/enable_or_disable_ci.md @@ -1,51 +1,46 @@ -## Enable or disable GitLab CI +## Enable or disable GitLab CI/CD -_To effectively use GitLab CI, you need a valid [`.gitlab-ci.yml`](yaml/README.md) +To effectively use GitLab CI/CD, you need a valid [`.gitlab-ci.yml`](yaml/README.md) file present at the root directory of your project and a [runner](runners/README.md) properly set up. You can read our -[quick start guide](quick_start/README.md) to get you started._ +[quick start guide](quick_start/README.md) to get you started. -If you are using an external CI server like Jenkins or Drone CI, it is advised -to disable GitLab CI in order to not have any conflicts with the commits status +If you are using an external CI/CD server like Jenkins or Drone CI, it is advised +to disable GitLab CI/CD in order to not have any conflicts with the commits status API. --- -GitLab CI is exposed via the `/pipelines` and `/builds` pages of a project. -Disabling GitLab CI in a project does not delete any previous jobs. -In fact, the `/pipelines` and `/builds` pages can still be accessed, although +GitLab CI/CD is exposed via the `/pipelines` and `/jobs` pages of a project. +Disabling GitLab CI/CD in a project does not delete any previous jobs. +In fact, the `/pipelines` and `/jobs` pages can still be accessed, although it's hidden from the left sidebar menu. -GitLab CI is enabled by default on new installations and can be disabled either +GitLab CI/CD is enabled by default on new installations and can be disabled either individually under each project's settings, or site-wide by modifying the settings in `gitlab.yml` and `gitlab.rb` for source and Omnibus installations respectively. ### Per-project user setting -The setting to enable or disable GitLab CI can be found with the name **Pipelines** -under the **Sharing & Permissions** area of a project's settings along with -**Merge Requests**. Choose one of **Disabled**, **Only team members** and -**Everyone with access** and hit **Save changes** for the settings to take effect. +The setting to enable or disable GitLab CI/CD can be found under your project's +**Settings > General > Permissions**. Choose one of "Disabled", "Only team members" +or "Everyone with access" and hit **Save changes** for the settings to take effect. -![Sharing & Permissions settings](img/permissions_settings.png) +![Sharing & Permissions settings](../user/project/settings/img/sharing_and_permissions_settings.png) ---- - -### Site-wide administrator setting +### Site-wide admin setting -You can disable GitLab CI site-wide, by modifying the settings in `gitlab.yml` +You can disable GitLab CI/CD site-wide, by modifying the settings in `gitlab.yml` and `gitlab.rb` for source and Omnibus installations respectively. Two things to note: -1. Disabling GitLab CI, will affect only newly-created projects. Projects that +1. Disabling GitLab CI/CD, will affect only newly-created projects. Projects that had it enabled prior to this modification, will work as before. -1. Even if you disable GitLab CI, users will still be able to enable it in the +1. Even if you disable GitLab CI/CD, users will still be able to enable it in the project's settings. ---- - For installations from source, open `gitlab.yml` with your editor and set `builds` to `false`: diff --git a/doc/ci/environments.md b/doc/ci/environments.md index acd5682841a..c03e16b1b38 100644 --- a/doc/ci/environments.md +++ b/doc/ci/environments.md @@ -26,7 +26,7 @@ so every environment can have one or more deployments. GitLab keeps track of your deployments, so you always know what is currently being deployed on your servers. If you have a deployment service such as [Kubernetes][kubernetes-service] enabled for your project, you can use it to assist with your deployments, and -can even access a web terminal for your environment from within GitLab! +can even access a [web terminal](#web-terminals) for your environment from within GitLab! To better understand how environments and deployments work, let's consider an example. We assume that you have already created a project in GitLab and set up @@ -119,7 +119,7 @@ where you can find information of the last deployment status of an environment. Here's how the Environments page looks so far. -![Staging environment view](img/environments_available_staging.png) +![Environment view](img/environments_available.png) There's a bunch of information there, specifically you can see: @@ -229,7 +229,7 @@ You can find it in the pipeline, job, environment, and deployment views. | Pipelines | Single pipeline | Environments | Deployments | jobs | | --------- | ----------------| ------------ | ----------- | -------| -| ![Pipelines manual action](img/environments_manual_action_pipelines.png) | ![Pipelines manual action](img/environments_manual_action_single_pipeline.png) | ![Environments manual action](img/environments_manual_action_environments.png) | ![Deployments manual action](img/environments_manual_action_deployments.png) | ![Builds manual action](img/environments_manual_action_builds.png) | +| ![Pipelines manual action](img/environments_manual_action_pipelines.png) | ![Pipelines manual action](img/environments_manual_action_single_pipeline.png) | ![Environments manual action](img/environments_manual_action_environments.png) | ![Deployments manual action](img/environments_manual_action_deployments.png) | ![Builds manual action](img/environments_manual_action_jobs.png) | Clicking on the play button in either of these places will trigger the `deploy_prod` job, and the deployment will be recorded under a new @@ -402,7 +402,7 @@ places within GitLab. | In a merge request widget as a link | In the Environments view as a button | In the Deployments view as a button | | -------------------- | ------------ | ----------- | -| ![Environment URL in merge request](img/environments_mr_review_app.png) | ![Environment URL in environments](img/environments_link_url.png) | ![Environment URL in deployments](img/environments_link_url_deployments.png) | +| ![Environment URL in merge request](img/environments_mr_review_app.png) | ![Environment URL in environments](img/environments_available.png) | ![Environment URL in deployments](img/deployments_view.png) | If a merge request is eventually merged to the default branch (in our case `master`) and that branch also deploys to an environment (in our case `staging` @@ -574,7 +574,7 @@ Once configured, GitLab will attempt to retrieve [supported performance metrics] environment which has had a successful deployment. If monitoring data was successfully retrieved, a Monitoring button will appear for each environment. -![Environment Detail with Metrics](img/prometheus_environment_detail_with_metrics.png) +![Environment Detail with Metrics](img/deployments_view.png) Clicking on the Monitoring button will display a new page, showing up to the last 8 hours of performance data. It may take a minute or two for data to appear @@ -593,10 +593,11 @@ Web terminals were added in GitLab 8.15 and are only available to project masters and owners. If you deploy to your environments with the help of a deployment service (e.g., -the [Kubernetes service][kubernetes-service], GitLab can open +the [Kubernetes service][kubernetes-service]), GitLab can open a terminal session to your environment! This is a very powerful feature that allows you to debug issues without leaving the comfort of your web browser. To -enable it, just follow the instructions given in the service documentation. +enable it, just follow the instructions given in the service integration +documentation. Once enabled, your environments will gain a "terminal" button: diff --git a/doc/ci/img/builds_tab.png b/doc/ci/img/builds_tab.png deleted file mode 100644 index 2d7eec8a949..00000000000 Binary files a/doc/ci/img/builds_tab.png and /dev/null differ diff --git a/doc/ci/img/deployments_view.png b/doc/ci/img/deployments_view.png index 7ded0c97b72..436fed5f465 100644 Binary files a/doc/ci/img/deployments_view.png and b/doc/ci/img/deployments_view.png differ diff --git a/doc/ci/img/environments_available.png b/doc/ci/img/environments_available.png new file mode 100644 index 00000000000..2991a309655 Binary files /dev/null and b/doc/ci/img/environments_available.png differ diff --git a/doc/ci/img/environments_available_staging.png b/doc/ci/img/environments_available_staging.png deleted file mode 100644 index 5c031ad0d9d..00000000000 Binary files a/doc/ci/img/environments_available_staging.png and /dev/null differ diff --git a/doc/ci/img/environments_dynamic_groups.png b/doc/ci/img/environments_dynamic_groups.png index 0f42b368c5b..45124b3d8d8 100644 Binary files a/doc/ci/img/environments_dynamic_groups.png and b/doc/ci/img/environments_dynamic_groups.png differ diff --git a/doc/ci/img/environments_link_url.png b/doc/ci/img/environments_link_url.png deleted file mode 100644 index 44010f6aa6f..00000000000 Binary files a/doc/ci/img/environments_link_url.png and /dev/null differ diff --git a/doc/ci/img/environments_link_url_deployments.png b/doc/ci/img/environments_link_url_deployments.png deleted file mode 100644 index 4f90143527a..00000000000 Binary files a/doc/ci/img/environments_link_url_deployments.png and /dev/null differ diff --git a/doc/ci/img/environments_link_url_mr.png b/doc/ci/img/environments_link_url_mr.png index 64f134e0b0d..7ce46063062 100644 Binary files a/doc/ci/img/environments_link_url_mr.png and b/doc/ci/img/environments_link_url_mr.png differ diff --git a/doc/ci/img/environments_manual_action_builds.png b/doc/ci/img/environments_manual_action_builds.png deleted file mode 100644 index e7cf63a1031..00000000000 Binary files a/doc/ci/img/environments_manual_action_builds.png and /dev/null differ diff --git a/doc/ci/img/environments_manual_action_deployments.png b/doc/ci/img/environments_manual_action_deployments.png index 2b3f6f3edad..93beaa0de54 100644 Binary files a/doc/ci/img/environments_manual_action_deployments.png and b/doc/ci/img/environments_manual_action_deployments.png differ diff --git a/doc/ci/img/environments_manual_action_environments.png b/doc/ci/img/environments_manual_action_environments.png index e0c07604e7f..9490be63f14 100644 Binary files a/doc/ci/img/environments_manual_action_environments.png and b/doc/ci/img/environments_manual_action_environments.png differ diff --git a/doc/ci/img/environments_manual_action_jobs.png b/doc/ci/img/environments_manual_action_jobs.png new file mode 100644 index 00000000000..9ae223cf77f Binary files /dev/null and b/doc/ci/img/environments_manual_action_jobs.png differ diff --git a/doc/ci/img/environments_manual_action_pipelines.png b/doc/ci/img/environments_manual_action_pipelines.png index 82bbae88027..129e44f6fb0 100644 Binary files a/doc/ci/img/environments_manual_action_pipelines.png and b/doc/ci/img/environments_manual_action_pipelines.png differ diff --git a/doc/ci/img/environments_manual_action_single_pipeline.png b/doc/ci/img/environments_manual_action_single_pipeline.png index 36337cb1870..1eeb4379eb7 100644 Binary files a/doc/ci/img/environments_manual_action_single_pipeline.png and b/doc/ci/img/environments_manual_action_single_pipeline.png differ diff --git a/doc/ci/img/environments_mr_review_app.png b/doc/ci/img/environments_mr_review_app.png index 7bff84362a3..4bb643d708f 100644 Binary files a/doc/ci/img/environments_mr_review_app.png and b/doc/ci/img/environments_mr_review_app.png differ diff --git a/doc/ci/img/environments_terminal_button_on_index.png b/doc/ci/img/environments_terminal_button_on_index.png index 6f05b2aa343..061bb7c3c87 100644 Binary files a/doc/ci/img/environments_terminal_button_on_index.png and b/doc/ci/img/environments_terminal_button_on_index.png differ diff --git a/doc/ci/img/environments_terminal_button_on_show.png b/doc/ci/img/environments_terminal_button_on_show.png index 9469fab99ab..4d24304bc93 100644 Binary files a/doc/ci/img/environments_terminal_button_on_show.png and b/doc/ci/img/environments_terminal_button_on_show.png differ diff --git a/doc/ci/img/environments_view.png b/doc/ci/img/environments_view.png deleted file mode 100644 index 821352188ef..00000000000 Binary files a/doc/ci/img/environments_view.png and /dev/null differ diff --git a/doc/ci/img/permissions_settings.png b/doc/ci/img/permissions_settings.png deleted file mode 100644 index 1454c75fd24..00000000000 Binary files a/doc/ci/img/permissions_settings.png and /dev/null differ diff --git a/doc/ci/img/prometheus_environment_detail_with_metrics.png b/doc/ci/img/prometheus_environment_detail_with_metrics.png deleted file mode 100644 index 214b10624a9..00000000000 Binary files a/doc/ci/img/prometheus_environment_detail_with_metrics.png and /dev/null differ diff --git a/doc/ci/variables/README.md b/doc/ci/variables/README.md index ebcb92b5db1..17839cbaef1 100644 --- a/doc/ci/variables/README.md +++ b/doc/ci/variables/README.md @@ -149,14 +149,15 @@ script: ## Secret variables ->**Notes:** -- This feature requires GitLab Runner 0.4.0 or higher. -- Group-level secret variables added in GitLab 9.4. -- Be aware that secret variables are not masked, and their values can be shown - in the job logs if explicitly asked to do so. If your project is public or - internal, you can set the pipelines private from your project's Pipelines - settings. Follow the discussion in issue [#13784][ce-13784] for masking the - secret variables. +NOTE: **Note:** +Group-level secret variables were added in GitLab 9.4. + +CAUTION: **Important:** +Be aware that secret variables are not masked, and their values can be shown +in the job logs if explicitly asked to do so. If your project is public or +internal, you can set the pipelines private from your [project's Pipelines +settings](../../user/project/pipelines/settings.md#visibility-of-pipelines). +Follow the discussion in issue [#13784][ce-13784] for masking the secret variables. GitLab CI allows you to define per-project or per-group secret variables that are set in the pipeline environment. The secret variables are stored out of @@ -171,6 +172,8 @@ Likewise, group-level secret variables can be added by going to your group's **Settings > CI/CD**, then finding the section called **Secret variables**. Any variables of [subgroups] will be inherited recursively. +![Secret variables](img/secret_variables.png) + Once you set them, they will be available for all subsequent pipelines. You can also [protect your variables](#protected-secret-variables). @@ -202,7 +205,7 @@ are set in the build environment. These variables are only defined for the project services that you are using to learn which variables they define. An example project service that defines deployment variables is -[Kubernetes Service](../../user/project/integrations/kubernetes.md). +[Kubernetes Service](../../user/project/integrations/kubernetes.md#deployment-variables). ## Debug tracing @@ -439,7 +442,7 @@ export CI_REGISTRY_USER="gitlab-ci-token" export CI_REGISTRY_PASSWORD="longalfanumstring" ``` -[ce-13784]: https://gitlab.com/gitlab-org/gitlab-ce/issues/13784 +[ce-13784]: https://gitlab.com/gitlab-org/gitlab-ce/issues/13784 "Simple protection of CI secret variables" [eep]: https://about.gitlab.com/gitlab-ee/ "Available only in GitLab Enterprise Edition Premium" [envs]: ../environments.md [protected branches]: ../../user/project/protected_branches.md diff --git a/doc/ci/variables/img/secret_variables.png b/doc/ci/variables/img/secret_variables.png new file mode 100644 index 00000000000..f70935069d9 Binary files /dev/null and b/doc/ci/variables/img/secret_variables.png differ diff --git a/doc/user/project/container_registry.md b/doc/user/project/container_registry.md index 5c615daf464..2c4dfcff4a6 100644 --- a/doc/user/project/container_registry.md +++ b/doc/user/project/container_registry.md @@ -17,25 +17,25 @@ have its own space to store its Docker images. You can read more about Docker Registry at https://docs.docker.com/registry/introduction/. ---- - ## Enable the Container Registry for your project +NOTE: **Note:** +If you cannot find the Container Registry entry under your project's settings, +that means that it is not enabled in your GitLab instance. Ask your administrator +to enable it. + 1. First, ask your system administrator to enable GitLab Container Registry following the [administration documentation](../../administration/container_registry.md). If you are using GitLab.com, this is enabled by default so you can start using the Registry immediately. - -1. Go to your project's settings and enable the **Container Registry** feature - on your project. For new projects this might be enabled by default. For - existing projects (prior GitLab 8.8), you will have to explicitly enable it. - - ![Enable Container Registry](img/container_registry_enable.png) - +1. Go to your [project's General settings](settings/index.md#sharing-and-permissions) + and enable the **Container Registry** feature on your project. For new + projects this might be enabled by default. For existing projects + (prior GitLab 8.8), you will have to explicitly enable it. 1. Hit **Save changes** for the changes to take effect. You should now be able - to see the **Registry** link in the project menu. + to see the **Registry** link in the sidebar. - ![Container Registry tab](img/container_registry_tab.png) +![Container Registry](img/container_registry.png) ## Build and push images diff --git a/doc/user/project/img/container_registry.png b/doc/user/project/img/container_registry.png new file mode 100644 index 00000000000..abbaf838538 Binary files /dev/null and b/doc/user/project/img/container_registry.png differ diff --git a/doc/user/project/img/container_registry_enable.png b/doc/user/project/img/container_registry_enable.png deleted file mode 100644 index d067a8be1ca..00000000000 Binary files a/doc/user/project/img/container_registry_enable.png and /dev/null differ diff --git a/doc/user/project/img/container_registry_tab.png b/doc/user/project/img/container_registry_tab.png deleted file mode 100644 index a85237271d9..00000000000 Binary files a/doc/user/project/img/container_registry_tab.png and /dev/null differ diff --git a/doc/user/project/img/issue_board.png b/doc/user/project/img/issue_board.png index cf7f519f783..5f6dc9e4e8b 100644 Binary files a/doc/user/project/img/issue_board.png and b/doc/user/project/img/issue_board.png differ diff --git a/doc/user/project/img/issue_board_move_issue_card_list.png b/doc/user/project/img/issue_board_move_issue_card_list.png index c6b17ada40e..3666dbb87ab 100644 Binary files a/doc/user/project/img/issue_board_move_issue_card_list.png and b/doc/user/project/img/issue_board_move_issue_card_list.png differ diff --git a/doc/user/project/img/labels_assign_label_in_new_issue.png b/doc/user/project/img/labels_assign_label_in_new_issue.png deleted file mode 100644 index badfbed0bbe..00000000000 Binary files a/doc/user/project/img/labels_assign_label_in_new_issue.png and /dev/null differ diff --git a/doc/user/project/img/labels_default.png b/doc/user/project/img/labels_default.png index 474953d565b..7934e3bfb5e 100644 Binary files a/doc/user/project/img/labels_default.png and b/doc/user/project/img/labels_default.png differ diff --git a/doc/user/project/img/labels_filter.png b/doc/user/project/img/labels_filter.png index 3aca77f0070..6a1ebfc2ecb 100644 Binary files a/doc/user/project/img/labels_filter.png and b/doc/user/project/img/labels_filter.png differ diff --git a/doc/user/project/img/labels_filter_by_priority.png b/doc/user/project/img/labels_filter_by_priority.png index 5609a1f6d7f..419e555e709 100644 Binary files a/doc/user/project/img/labels_filter_by_priority.png and b/doc/user/project/img/labels_filter_by_priority.png differ diff --git a/doc/user/project/img/labels_new_label.png b/doc/user/project/img/labels_new_label.png index b44b4bd296d..e26425d0188 100644 Binary files a/doc/user/project/img/labels_new_label.png and b/doc/user/project/img/labels_new_label.png differ diff --git a/doc/user/project/img/labels_prioritize.png b/doc/user/project/img/labels_prioritize.png index 3e888f36364..d602a3c90ec 100644 Binary files a/doc/user/project/img/labels_prioritize.png and b/doc/user/project/img/labels_prioritize.png differ diff --git a/doc/user/project/img/project_repository_settings.png b/doc/user/project/img/project_repository_settings.png index 1aa7efc36f1..aa4d4452c87 100644 Binary files a/doc/user/project/img/project_repository_settings.png and b/doc/user/project/img/project_repository_settings.png differ diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index e2cc67726e0..96a5a23ee13 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -12,6 +12,8 @@ Other interesting links: - [GitLab Issue Board landing page on about.gitlab.com][landing] - [YouTube video introduction to Issue Boards][youtube] +![GitLab Issue Board](img/issue_board.png) + ## Overview The Issue Board builds on GitLab's existing @@ -89,10 +91,6 @@ two defaults: - **Backlog** (default): shows all open issues that does not belong to one of lists. Always appears on the very left. - **Closed** (default): shows all closed issues. Always appears on the very right. -![GitLab Issue Board](img/issue_board.png) - ---- - In short, here's a list of actions you can take in an Issue Board: - [Create a new list](#creating-a-new-list). diff --git a/doc/user/project/issues/img/button_close_issue.png b/doc/user/project/issues/img/button_close_issue.png index 8fb2e23f58a..05d257ce9bf 100644 Binary files a/doc/user/project/issues/img/button_close_issue.png and b/doc/user/project/issues/img/button_close_issue.png differ diff --git a/doc/user/project/issues/img/group_issues_list_view.png b/doc/user/project/issues/img/group_issues_list_view.png index 5d20e8cbc89..bba964076d0 100644 Binary files a/doc/user/project/issues/img/group_issues_list_view.png and b/doc/user/project/issues/img/group_issues_list_view.png differ diff --git a/doc/user/project/issues/img/issue_board.png b/doc/user/project/issues/img/issue_board.png index 1759b28a9ef..87b1016cc76 100644 Binary files a/doc/user/project/issues/img/issue_board.png and b/doc/user/project/issues/img/issue_board.png differ diff --git a/doc/user/project/issues/img/issue_template.png b/doc/user/project/issues/img/issue_template.png index c63229a4af2..0e4c8df897b 100644 Binary files a/doc/user/project/issues/img/issue_template.png and b/doc/user/project/issues/img/issue_template.png differ diff --git a/doc/user/project/issues/img/issues_main_view.png b/doc/user/project/issues/img/issues_main_view.png index 4faa42e40ee..a929916c682 100644 Binary files a/doc/user/project/issues/img/issues_main_view.png and b/doc/user/project/issues/img/issues_main_view.png differ diff --git a/doc/user/project/issues/img/issues_main_view_numbered.jpg b/doc/user/project/issues/img/issues_main_view_numbered.jpg index 4b5d7fba459..b4b68476d24 100644 Binary files a/doc/user/project/issues/img/issues_main_view_numbered.jpg and b/doc/user/project/issues/img/issues_main_view_numbered.jpg differ diff --git a/doc/user/project/issues/img/new_issue.png b/doc/user/project/issues/img/new_issue.png index e72ac49d6b9..07d65a93070 100644 Binary files a/doc/user/project/issues/img/new_issue.png and b/doc/user/project/issues/img/new_issue.png differ diff --git a/doc/user/project/issues/img/new_issue_from_issue_board.png b/doc/user/project/issues/img/new_issue_from_issue_board.png index 9c2b3ff50fa..da892eff0a6 100644 Binary files a/doc/user/project/issues/img/new_issue_from_issue_board.png and b/doc/user/project/issues/img/new_issue_from_issue_board.png differ diff --git a/doc/user/project/issues/img/new_issue_from_open_issue.png b/doc/user/project/issues/img/new_issue_from_open_issue.png index 2aed5372830..c6f3f0617ab 100644 Binary files a/doc/user/project/issues/img/new_issue_from_open_issue.png and b/doc/user/project/issues/img/new_issue_from_open_issue.png differ diff --git a/doc/user/project/issues/img/new_issue_from_projects_dashboard.png b/doc/user/project/issues/img/new_issue_from_projects_dashboard.png index cddf36b7457..4b9535f6b15 100644 Binary files a/doc/user/project/issues/img/new_issue_from_projects_dashboard.png and b/doc/user/project/issues/img/new_issue_from_projects_dashboard.png differ diff --git a/doc/user/project/issues/img/new_issue_from_tracker_list.png b/doc/user/project/issues/img/new_issue_from_tracker_list.png index 7e5413f0b7d..66793cb44fa 100644 Binary files a/doc/user/project/issues/img/new_issue_from_tracker_list.png and b/doc/user/project/issues/img/new_issue_from_tracker_list.png differ diff --git a/doc/user/project/issues/img/project_issues_list_view.png b/doc/user/project/issues/img/project_issues_list_view.png index 2fcc9e8d9da..584a81aab8a 100644 Binary files a/doc/user/project/issues/img/project_issues_list_view.png and b/doc/user/project/issues/img/project_issues_list_view.png differ diff --git a/doc/user/project/issues/img/sidebar_move_issue.png b/doc/user/project/issues/img/sidebar_move_issue.png index 111f7861364..1e688cec894 100644 Binary files a/doc/user/project/issues/img/sidebar_move_issue.png and b/doc/user/project/issues/img/sidebar_move_issue.png differ diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md index 8ec7adad172..21a2e1213ec 100644 --- a/doc/user/project/labels.md +++ b/doc/user/project/labels.md @@ -20,8 +20,6 @@ Head over a single project and navigate to **Issues > Labels**. The first time you visit this page, you'll notice that there are no labels created yet. -![Generate new labels](img/labels_generate.png) - Creating a new label from scratch is as easy as pressing the **New label** button. From there on you can choose the name, give it an optional description, a color and you are set. @@ -32,21 +30,23 @@ When you are ready press the **Create label** button to create the new label. --- -## Default Labels - -It's possible to populate the labels for your project from a set of predefined labels. - -### Generate GitLab's predefined label set +## Default labels -![Generate new labels](img/labels_generate.png) +The very first time you visit the labels area, it's gonna be empty. In that +case, it's possible to populate the labels for your project from a set of +predefined labels. Click the link to 'Generate a default set of labels' and GitLab will -generate a set of predefined labels for you. There are 8 default generated labels -in total and you can see them in the screenshot below. - -![Default generated labels](img/labels_default.png) +generate them for you. There are 8 default generated labels in total: ---- +- bug +- confirmed +- critical +- discussion +- documentation +- enhancement +- suggestion +- support ## Labels Overview @@ -102,30 +102,25 @@ If you work on a large or popular project, try subscribing only to the labels that are relevant to you. You’ll notice it’ll be much easier to focus on what’s important. -## Create a new label right from the issue tracker - -> Introduced in GitLab 8.6. +## Create a new label when inside an issue -There are times when you are already in the issue tracker searching for a +There are times when you are already inside an issue searching to assign a label, only to realize it doesn't exist. Instead of going to the **Labels** page and being distracted from your original purpose, you can create new labels on the fly. -Select **Create new** from the labels dropdown list, provide a name, pick a -color and hit **Create**. +Expand the issue sidebar and select **Create new label** from the labels dropdown +list. Provide a name, pick a color and hit **Create**. The new label will be +ready to used right away! -![Create new label on the fly](img/labels_new_label_on_the_fly_create.png) ![New label on the fly](img/labels_new_label_on_the_fly.png) ## Assigning labels to issues and merge requests There are generally two ways to assign a label to an issue or merge request. -You can assign a label when you first create or edit an issue or merge request. - -![Assign label in new issue](img/labels_assign_label_in_new_issue.png) - ---- +The first one is to assign a label when you first create or edit an issue or +merge request. The second way is by using the right sidebar when inside an issue or merge request. Expand it and hit **Edit** in the labels area. Start typing the name diff --git a/doc/user/project/merge_requests/cherry_pick_changes.md b/doc/user/project/merge_requests/cherry_pick_changes.md index 64b94d81024..22ef11e4049 100644 --- a/doc/user/project/merge_requests/cherry_pick_changes.md +++ b/doc/user/project/merge_requests/cherry_pick_changes.md @@ -2,24 +2,19 @@ > [Introduced][ce-3514] in GitLab 8.7. ---- - GitLab implements Git's powerful feature to [cherry-pick any commit][git-cherry-pick] -with introducing a **Cherry-pick** button in Merge Requests and commit details. +with introducing a **Cherry-pick** button in merge requests and commit details. -## Cherry-picking a Merge Request +## Cherry-picking a merge request -After the Merge Request has been merged, a **Cherry-pick** button will be available -to cherry-pick the changes introduced by that Merge Request: +After the merge request has been merged, a **Cherry-pick** button will be available +to cherry-pick the changes introduced by that merge request. ![Cherry-pick Merge Request](img/cherry_pick_changes_mr.png) ---- - -You can cherry-pick the changes directly into the selected branch or you can opt to -create a new Merge Request with the cherry-pick changes: - -![Cherry-pick Merge Request modal](img/cherry_pick_changes_mr_modal.png) +After you click that button, a modal will appear where you can choose to +cherry-pick the changes directly into the selected branch or you can opt to +create a new merge request with the cherry-pick changes ## Cherry-picking a Commit @@ -27,15 +22,9 @@ You can cherry-pick a Commit from the Commit details page: ![Cherry-pick commit](img/cherry_pick_changes_commit.png) ---- - -Similar to cherry-picking a Merge Request, you can opt to cherry-pick the changes -directly into the target branch or create a new Merge Request to cherry-pick the -changes: - -![Cherry-pick commit modal](img/cherry_pick_changes_commit_modal.png) - ---- +Similar to cherry-picking a merge request, you can opt to cherry-pick the changes +directly into the target branch or create a new merge request to cherry-pick the +changes. Please note that when cherry-picking merge commits, the mainline will always be the first parent. If you want to use a different mainline then you need to do that diff --git a/doc/user/project/merge_requests/img/cherry_pick_changes_commit.png b/doc/user/project/merge_requests/img/cherry_pick_changes_commit.png index 5ab094ab367..7dc344f8cf6 100644 Binary files a/doc/user/project/merge_requests/img/cherry_pick_changes_commit.png and b/doc/user/project/merge_requests/img/cherry_pick_changes_commit.png differ diff --git a/doc/user/project/merge_requests/img/cherry_pick_changes_commit_modal.png b/doc/user/project/merge_requests/img/cherry_pick_changes_commit_modal.png deleted file mode 100644 index 42dcb9203ec..00000000000 Binary files a/doc/user/project/merge_requests/img/cherry_pick_changes_commit_modal.png and /dev/null differ diff --git a/doc/user/project/merge_requests/img/cherry_pick_changes_mr.png b/doc/user/project/merge_requests/img/cherry_pick_changes_mr.png index 71227747182..811b0998f85 100644 Binary files a/doc/user/project/merge_requests/img/cherry_pick_changes_mr.png and b/doc/user/project/merge_requests/img/cherry_pick_changes_mr.png differ diff --git a/doc/user/project/merge_requests/img/cherry_pick_changes_mr_modal.png b/doc/user/project/merge_requests/img/cherry_pick_changes_mr_modal.png deleted file mode 100644 index 604eb22f51c..00000000000 Binary files a/doc/user/project/merge_requests/img/cherry_pick_changes_mr_modal.png and /dev/null differ diff --git a/doc/user/project/merge_requests/img/commit_compare.png b/doc/user/project/merge_requests/img/commit_compare.png deleted file mode 100644 index e612a39716e..00000000000 Binary files a/doc/user/project/merge_requests/img/commit_compare.png and /dev/null differ diff --git a/doc/user/project/merge_requests/img/merge_request.png b/doc/user/project/merge_requests/img/merge_request.png new file mode 100644 index 00000000000..f9ca6348953 Binary files /dev/null and b/doc/user/project/merge_requests/img/merge_request.png differ diff --git a/doc/user/project/merge_requests/img/merge_when_pipeline_succeeds_enable.png b/doc/user/project/merge_requests/img/merge_when_pipeline_succeeds_enable.png index 33f5a4a7a02..d7f0535d3c5 100644 Binary files a/doc/user/project/merge_requests/img/merge_when_pipeline_succeeds_enable.png and b/doc/user/project/merge_requests/img/merge_when_pipeline_succeeds_enable.png differ diff --git a/doc/user/project/merge_requests/img/revert_changes_commit_modal.png b/doc/user/project/merge_requests/img/revert_changes_commit_modal.png deleted file mode 100644 index ef7b6dae553..00000000000 Binary files a/doc/user/project/merge_requests/img/revert_changes_commit_modal.png and /dev/null differ diff --git a/doc/user/project/merge_requests/img/revert_changes_mr_modal.png b/doc/user/project/merge_requests/img/revert_changes_mr_modal.png deleted file mode 100644 index f6540c9dd33..00000000000 Binary files a/doc/user/project/merge_requests/img/revert_changes_mr_modal.png and /dev/null differ diff --git a/doc/user/project/merge_requests/img/versions.png b/doc/user/project/merge_requests/img/versions.png index 33c58d2abff..3883fb4bc1c 100644 Binary files a/doc/user/project/merge_requests/img/versions.png and b/doc/user/project/merge_requests/img/versions.png differ diff --git a/doc/user/project/merge_requests/img/versions_compare.png b/doc/user/project/merge_requests/img/versions_compare.png index db978ea7b1d..f5bd85dc7c1 100644 Binary files a/doc/user/project/merge_requests/img/versions_compare.png and b/doc/user/project/merge_requests/img/versions_compare.png differ diff --git a/doc/user/project/merge_requests/img/versions_dropdown.png b/doc/user/project/merge_requests/img/versions_dropdown.png index 889a2d93e6c..cc70a5bf14b 100644 Binary files a/doc/user/project/merge_requests/img/versions_dropdown.png and b/doc/user/project/merge_requests/img/versions_dropdown.png differ diff --git a/doc/user/project/merge_requests/img/wip_blocked_accept_button.png b/doc/user/project/merge_requests/img/wip_blocked_accept_button.png index 047b0b4620f..0c492aca363 100644 Binary files a/doc/user/project/merge_requests/img/wip_blocked_accept_button.png and b/doc/user/project/merge_requests/img/wip_blocked_accept_button.png differ diff --git a/doc/user/project/merge_requests/img/wip_mark_as_wip.png b/doc/user/project/merge_requests/img/wip_mark_as_wip.png index 8bd206bc24a..e405879b28a 100644 Binary files a/doc/user/project/merge_requests/img/wip_mark_as_wip.png and b/doc/user/project/merge_requests/img/wip_mark_as_wip.png differ diff --git a/doc/user/project/merge_requests/img/wip_unmark_as_wip.png b/doc/user/project/merge_requests/img/wip_unmark_as_wip.png index c0bfa6a35a2..d7f8c419945 100644 Binary files a/doc/user/project/merge_requests/img/wip_unmark_as_wip.png and b/doc/user/project/merge_requests/img/wip_unmark_as_wip.png differ diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md index 8e081b4f0b8..6289fcf3c2b 100644 --- a/doc/user/project/merge_requests/index.md +++ b/doc/user/project/merge_requests/index.md @@ -3,6 +3,8 @@ Merge requests allow you to exchange changes you made to source code and collaborate with other people on the same project. +![Merge request view](img/merge_request.png) + ## Overview A Merge Request (**MR**) is the basis of GitLab as a code collaboration diff --git a/doc/user/project/merge_requests/revert_changes.md b/doc/user/project/merge_requests/revert_changes.md index 5ead9f4177f..8cf8a59dbfe 100644 --- a/doc/user/project/merge_requests/revert_changes.md +++ b/doc/user/project/merge_requests/revert_changes.md @@ -2,51 +2,39 @@ > [Introduced][ce-1990] in GitLab 8.5. ---- - GitLab implements Git's powerful feature to [revert any commit][git-revert] -with introducing a **Revert** button in Merge Requests and commit details. +with introducing a **Revert** button in merge requests and commit details. ## Reverting a Merge Request -_**Note:** The **Revert** button will only be available for Merge Requests -created since GitLab 8.5. However, you can still revert a Merge Request -by reverting the merge commit from the list of Commits page._ +NOTE: **Note:** +The **Revert** button will only be available for merge requests +created since GitLab 8.5. However, you can still revert a merge request +by reverting the merge commit from the list of Commits page. After the Merge Request has been merged, a **Revert** button will be available -to revert the changes introduced by that Merge Request: - -![Revert Merge Request](img/revert_changes_mr.png) - ---- - -You can revert the changes directly into the selected branch or you can opt to -create a new Merge Request with the revert changes: +to revert the changes introduced by that merge request. -![Revert Merge Request modal](img/revert_changes_mr_modal.png) +![Revert Merge Request](img/cherry_pick_changes_mr.png) ---- +After you click that button, a modal will appear where you can choose to +revert the changes directly into the selected branch or you can opt to +create a new merge request with the revert changes. -After the Merge Request has been reverted, the **Revert** button will not be +After the merge request has been reverted, the **Revert** button will not be available anymore. ## Reverting a Commit You can revert a Commit from the Commit details page: -![Revert commit](img/revert_changes_commit.png) - ---- - -Similar to reverting a Merge Request, you can opt to revert the changes -directly into the target branch or create a new Merge Request to revert the -changes: - -![Revert commit modal](img/revert_changes_commit_modal.png) +![Revert commit](img/cherry_pick_changes_commit.png) ---- +Similar to reverting a merge request, you can opt to revert the changes +directly into the target branch or create a new merge request to revert the +changes. -After the Commit has been reverted, the **Revert** button will not be available +After the commit has been reverted, the **Revert** button will not be available anymore. Please note that when reverting merge commits, the mainline will always be the -- cgit v1.2.1 From 7b0ca61fe3a03a666d39a388470d5f4e5661b33b Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Thu, 5 Oct 2017 02:56:52 -0500 Subject: Clarify where the artifacts metadata .gz is generated --- doc/administration/job_artifacts.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/administration/job_artifacts.md b/doc/administration/job_artifacts.md index 3587696225c..86b436d89dd 100644 --- a/doc/administration/job_artifacts.md +++ b/doc/administration/job_artifacts.md @@ -142,9 +142,9 @@ and [projects APIs](../api/projects.md). ## Implementation details When GitLab receives an artifacts archive, an archive metadata file is also -generated. This metadata file describes all the entries that are located in the -artifacts archive itself. The metadata file is in a binary format, with -additional GZIP compression. +generated by [GitLab Workhorse]. This metadata file describes all the entries +that are located in the artifacts archive itself. +The metadata file is in a binary format, with additional GZIP compression. GitLab does not extract the artifacts archive in order to save space, memory and disk I/O. It instead inspects the metadata file which contains all the -- cgit v1.2.1 From cc35c642076f1c2581b166bca9e6803cba2c2e97 Mon Sep 17 00:00:00 2001 From: Lee Matos Date: Thu, 5 Oct 2017 11:26:21 +0000 Subject: Update github.md importer docs to clarify branches from forks get created in GL --- doc/user/project/import/github.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/user/project/import/github.md b/doc/user/project/import/github.md index 016f98966e3..6423beefc77 100644 --- a/doc/user/project/import/github.md +++ b/doc/user/project/import/github.md @@ -42,6 +42,11 @@ The importer will create any new namespaces (groups) if they don't exist or in the case the namespace is taken, the repository will be imported under the user's namespace that started the import process. +The importer will also import branches on forks of projects related to open pull +requests. These branches will be imported with a naming scheume similar to +GH-SHA-Username/Pull-Request-number/fork-name/branch. This may lead to a discrepency +in branches compared to the GitHub Repository. + ## Importing your GitHub repositories The importer page is visible when you create a new project. -- cgit v1.2.1 From f4e9af2b4be131e03d574b625cc5c78ecbf263f0 Mon Sep 17 00:00:00 2001 From: Dimitrie Hoekstra Date: Thu, 5 Oct 2017 19:11:13 +0000 Subject: Added popover paradigm to ux guide --- doc/development/ux_guide/components.md | 31 +++++++++++++++++++++ .../ux_guide/img/popover-placement-above.png | Bin 0 -> 68451 bytes .../ux_guide/img/popover-placement-below.png | Bin 0 -> 63368 bytes 3 files changed, 31 insertions(+) create mode 100644 doc/development/ux_guide/img/popover-placement-above.png create mode 100644 doc/development/ux_guide/img/popover-placement-below.png (limited to 'doc') diff --git a/doc/development/ux_guide/components.md b/doc/development/ux_guide/components.md index 986b796437b..fa31c496b30 100644 --- a/doc/development/ux_guide/components.md +++ b/doc/development/ux_guide/components.md @@ -42,6 +42,37 @@ By default, tooltips should be placed below the referring element. However, if t --- +## Popovers + +Popovers provide additional, useful, unique information about the referring elements and can provide one or multiple actionable elements. They inform the user of additional information within the context of their original view, but without forcing the user to act upon it like a modal. Popovers are different from tooltips, which do not provide rich markup and actionable items. A popover can contain a header section with a different background color. + +Popovers are summoned: + +* Upon hover or touch on an element + +### Usage +A popover should be used: +* When you don't want to let the user lose context, but still want to provide additional useful unique information about referring elements +* When it isn’t critical for the user to act upon the information +* When you want to give a user a summary of extended information and the option to switch context if they want to dive in deeper. + +### Styling + +A popover can contain a header section with a different background color if that improves readability and separation of content within. + +![Popover usage](img/popover-placement-below.png) + +This example shows two sections, where each section includes an actionable element. The first section shows a summary of the content shown when clicking the "read more" link. With this information the user can decide to dive deeper or start their GitLab Enterprise Edition trial immediately. + +### Placement +By default, tooltips should be placed below the referring element. However, if there isn’t enough space in the viewport or it blocks related content, the tooltip should be moved to the side or above as needed. + +![Tooltip placement location](img/popover-placement-above.png) + +In this example we let the user know more about the setting they are deciding over, without loosing context. If they want to know even more they can do so, but with the expectation of opening that content in a new view. + +--- + ## Anchor links Anchor links are used for navigational actions and lone, secondary commands (such as 'Reset filters' on the Issues List) when deemed appropriate by the UX team. diff --git a/doc/development/ux_guide/img/popover-placement-above.png b/doc/development/ux_guide/img/popover-placement-above.png new file mode 100644 index 00000000000..1aa044bfc9c Binary files /dev/null and b/doc/development/ux_guide/img/popover-placement-above.png differ diff --git a/doc/development/ux_guide/img/popover-placement-below.png b/doc/development/ux_guide/img/popover-placement-below.png new file mode 100644 index 00000000000..2d6ab8a1618 Binary files /dev/null and b/doc/development/ux_guide/img/popover-placement-below.png differ -- cgit v1.2.1 From 7d00296cb1a831927442002b51ac15da9355dcf6 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Thu, 5 Oct 2017 22:24:07 +0200 Subject: Refactor discussion lock docs --- doc/user/discussions/index.md | 30 ++++++++++++++++++++---------- doc/user/permissions.md | 1 + 2 files changed, 21 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/user/discussions/index.md b/doc/user/discussions/index.md index f3c51d95513..ab46befb91c 100644 --- a/doc/user/discussions/index.md +++ b/doc/user/discussions/index.md @@ -157,31 +157,41 @@ comments in greater detail. > [Introduced][ce-14531] in GitLab 10.1. -When the discussion of an issue or a merge request is locked only team members can write new comments and edit the old ones. +There might be some cases where a discussion is better off if it's locked down. +For example: -### Modifying discussion lock +- Discussions that are several years old and the issue/merge request is closed, + but people continue to try to resurrect the discussion. +- Discussions where someone or a group of people are trolling, are abusive, or + in-general are causing the discussion to be unproductive. -To lock or unlock a dicsussion, find the Lock section in the sidebar and click **Edit**. A popup should appear and give you the option to turn on or turn off the discussion lock. +In locked discussions, only team members can write new comments and edit the old +ones. + +To lock or unlock a discussion, you need to have at least Master [permissions]: + +1. Find the "Lock" section in the sidebar and click **Edit** +1. In the dialog that will appear, you can choose to turn on or turn off the + discussion lock +1. Optionally, leave a comment to explain your reasoning behind that action | Turn off discussion lock | Turn on discussion lock | | :-----------: | :----------: | | ![Turn off discussion lock](img/turn_off_lock.png) | ![Turn on discussion lock](img/turn_on_lock.png) | -Every change is indicated by a system note in the issue's or merge request's comments. +Every change is indicated by a system note in the issue's or merge request's +comments. ![Discussion lock system notes](img/discussion_lock_system_notes.png) -### Indications of locked issues or merge requests - -While you are inside the locked issue or merge request and you are a project team member you can see an indicator in the comment form that the issue or merge request is locked. - -If you are not a team member you won't see the comment form but only the information that the dicussion is locked. +Once an issue or merge request is locked, project members can see the indicator +in the comment area, whereas non project members can only see the information +that the discussion is locked. | Team member | Not a member | | :-----------: | :----------: | | ![Comment form member](img/lock_form_member.png) | ![Comment form non-member](img/lock_form_non_member.png) | - [ce-5022]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5022 [ce-7125]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7125 [ce-7527]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7527 diff --git a/doc/user/permissions.md b/doc/user/permissions.md index 44ee994a26b..aa1fa60a492 100644 --- a/doc/user/permissions.md +++ b/doc/user/permissions.md @@ -25,6 +25,7 @@ The following table depicts the various user permission levels in a project. | Create confidential issue | ✓ [^1] | ✓ | ✓ | ✓ | ✓ | | View confidential issues | (✓) [^2] | ✓ | ✓ | ✓ | ✓ | | Leave comments | ✓ [^1] | ✓ | ✓ | ✓ | ✓ | +| Lock comments | | | | ✓ | ✓ | | See a list of jobs | ✓ [^3] | ✓ | ✓ | ✓ | ✓ | | See a job log | ✓ [^3] | ✓ | ✓ | ✓ | ✓ | | Download and browse job artifacts | ✓ [^3] | ✓ | ✓ | ✓ | ✓ | -- cgit v1.2.1 From 7c5fe037c4dc6f6f236dc15b66bbc7ea2f85bee2 Mon Sep 17 00:00:00 2001 From: "Lin Jen-Shin (godfat)" Date: Fri, 6 Oct 2017 09:20:52 +0000 Subject: Document how to use pgloader --- doc/update/mysql_to_postgresql.md | 143 +++++++++++++++++++++++--------------- 1 file changed, 88 insertions(+), 55 deletions(-) (limited to 'doc') diff --git a/doc/update/mysql_to_postgresql.md b/doc/update/mysql_to_postgresql.md index 5dc8e6f65f8..a3eba38c91a 100644 --- a/doc/update/mysql_to_postgresql.md +++ b/doc/update/mysql_to_postgresql.md @@ -1,80 +1,113 @@ -*** NOTE: These instructions should be considered deprecated. In GitLab 10.0 we will be releasing new migration instructions using [pgloader](http://pgloader.io/). +--- +last_updated: 2017-10-05 +--- -# Migrating GitLab from MySQL to Postgres -*Make sure you view this [guide from the `master` branch](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/mysql_to_postgresql.md#migrating-gitlab-from-mysql-to-postgres) for the most up to date instructions.* +# Migrating from MySQL to PostgreSQL -If you are replacing MySQL with Postgres while keeping GitLab on the same server all you need to do is to export from MySQL, convert the resulting SQL file, and import it into Postgres. If you are also moving GitLab to another server, or if you are switching to omnibus-gitlab, you may want to use a GitLab backup file. The second part of this documents explains the procedure to do this. +> **Note:** This guide assumes you have a working Omnibus GitLab instance with +> MySQL and want to migrate to bundled PostgreSQL database. -## Export from MySQL and import into Postgres +## Prerequisites -Use this if you are keeping GitLab on the same server. +First, we'll need to enable the bundled PostgreSQL database with up-to-date +schema. Next, we'll use [pgloader](http://pgloader.io) to migrate the data +from the old MySQL database to the new PostgreSQL one. -``` -sudo service gitlab stop +Here's what you'll need to have installed: -# Update /home/git/gitlab/config/database.yml +- pgloader 3.4.1+ +- Omnibus GitLab +- MySQL -git clone https://github.com/gitlabhq/mysql-postgresql-converter.git -b gitlab -cd mysql-postgresql-converter -mysqldump --compatible=postgresql --default-character-set=utf8 -r gitlabhq_production.mysql -u root gitlabhq_production -p -python db_converter.py gitlabhq_production.mysql gitlabhq_production.psql -ed -s gitlabhq_production.psql < move_drop_indexes.ed +## Enable bundled PostgreSQL database -# Import the database dump as the application database user -sudo -u git psql -f gitlabhq_production.psql -d gitlabhq_production +1. Stop GitLab: -# Install gems for PostgreSQL (note: the line below states '--without ... mysql') -sudo -u git -H bundle install --without development test mysql --deployment + ``` bash + sudo gitlab-ctl stop + ``` -sudo service gitlab start -``` +1. Edit `/etc/gitlab/gitlab.rb` to enable bundled PostgreSQL: -## Converting a GitLab backup file from MySQL to Postgres -**Note:** Please make sure to have Python 2.7.x (or higher) installed. + ``` + postgresql['enable'] = true + ``` -GitLab backup files (`_gitlab_backup.tar`) contain a SQL dump. Using the lanyrd database converter we can replace a MySQL database dump inside the tar file with a Postgres database dump. This can be useful if you are moving to another server. +1. Edit `/etc/gitlab/gitlab.rb` to use the bundled PostgreSQL. Please check + all the settings beginning with `db_`, such as `gitlab_rails['db_adapter']` + and alike. You could just comment all of them out so that we'll just use + the defaults. -``` -# Stop GitLab -sudo service gitlab stop +1. [Reconfigure GitLab] for the changes to take effect: + + ``` bash + sudo gitlab-ctl reconfigure + ``` + +1. Start Unicorn and PostgreSQL so that we could prepare the schema: + + ``` bash + sudo gitlab-ctl start unicorn + sudo gitlab-ctl start posgresql + ``` + +1. Run the following commands to prepare the schema: + + ``` bash + sudo gitlab-rake db:create db:migrate + ``` + +1. Stop Unicorn in case it's interfering the next step: -# Create the backup -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production + ``` bash + sudo gitlab-ctl stop unicorn + ``` -# Note the filename of the backup that was created. We will call it -# TIMESTAMP_gitlab_backup.tar below. +After these steps, you'll have a fresh PostgreSQL database with up-to-date schema. -# Move the backup file we will convert to its own directory -sudo -u git -H mkdir -p tmp/backups/postgresql -sudo -u git -H mv tmp/backups/TIMESTAMP_gitlab_backup.tar tmp/backups/postgresql/ +## Migrate data from MySQL to PostgreSQL -# Create a separate database dump with PostgreSQL compatibility -cd tmp/backups/postgresql -sudo -u git -H mysqldump --compatible=postgresql --default-character-set=utf8 -r gitlabhq_production.mysql -u root gitlabhq_production -p +Now, you can use pgloader to migrate the data from MySQL to PostgreSQL: -# Clone the database converter -sudo -u git -H git clone https://github.com/gitlabhq/mysql-postgresql-converter.git -b gitlab +1. Save the following snippet in a `commands.load` file, and edit with your + database `username`, `password` and `host`: -# Convert gitlabhq_production.mysql -sudo -u git -H mkdir db -sudo -u git -H python mysql-postgresql-converter/db_converter.py gitlabhq_production.mysql db/database.sql -sudo -u git -H ed -s db/database.sql < mysql-postgresql-converter/move_drop_indexes.ed + ``` + LOAD DATABASE + FROM mysql://username:password@host/gitlabhq_production + INTO postgresql://gitlab-psql@unix://var/opt/gitlab/postgresql:/gitlabhq_production -# Compress database backup -# Warning: If you have Gitlab 7.12.0 or older skip this step and import the database.sql directly into the backup with: -# sudo -u git -H tar rf TIMESTAMP_gitlab_backup.tar db/database.sql -# The compressed databasedump is not supported at 7.12.0 and older. -sudo -u git -H gzip db/database.sql + WITH include no drop, truncate, disable triggers, create no tables, + create no indexes, preserve index names, no foreign keys, + data only -# Replace the MySQL dump in TIMESTAMP_gitlab_backup.tar. + ALTER SCHEMA 'gitlabhq_production' RENAME TO 'public' -# Warning: if you forget to replace TIMESTAMP below, tar will create a new file -# 'TIMESTAMP_gitlab_backup.tar' without giving an error. + ; + ``` -sudo -u git -H tar rf TIMESTAMP_gitlab_backup.tar db/database.sql.gz +1. Start the migration: -# Done! TIMESTAMP_gitlab_backup.tar can now be restored into a Postgres GitLab -# installation. -# See https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.md for more information about backups. + ``` bash + sudo -u gitlab-psql pgloader commands.load + ``` + +1. Once the migration finishes, start GitLab: + + ``` bash + sudo gitlab-ctl start + ``` + +Now, you can verify that everything worked by visiting GitLab. + +## Troubleshooting + +### Experiencing 500 errors after the migration + +If you experience 500 errors after the migration, try to clear the cache: + +``` bash +sudo gitlab-rake cache:clear ``` + +[reconfigure GitLab]: ../administration/restart_gitlab.md#omnibus-gitlab-reconfigure -- cgit v1.2.1 From 99b2e9d9131859f7a770f09ad2ea6a62e383b915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Fri, 6 Oct 2017 11:46:47 +0200 Subject: Update Ruby to 2.3.5 in installation and update guides MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable --- doc/install/installation.md | 6 +- doc/update/10.0-to-10.1.md | 356 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 359 insertions(+), 3 deletions(-) create mode 100644 doc/update/10.0-to-10.1.md (limited to 'doc') diff --git a/doc/install/installation.md b/doc/install/installation.md index 200cd94f43c..af6c797dc00 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -133,9 +133,9 @@ Remove the old Ruby 1.8 if present: Download Ruby and compile it: mkdir /tmp/ruby && cd /tmp/ruby - curl --remote-name --progress https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz - echo '1014ee699071aa2ddd501907d18cbe15399c997d ruby-2.3.3.tar.gz' | shasum -c - && tar xzf ruby-2.3.3.tar.gz - cd ruby-2.3.3 + curl --remote-name --progress https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gz + echo '3247e217d6745c27ef23bdc77b6abdb4b57a118f ruby-2.3.5.tar.gz' | shasum -c - && tar xzf ruby-2.3.5.tar.gz + cd ruby-2.3.5 ./configure --disable-install-rdoc make sudo make install diff --git a/doc/update/10.0-to-10.1.md b/doc/update/10.0-to-10.1.md new file mode 100644 index 00000000000..4a9384f3ad6 --- /dev/null +++ b/doc/update/10.0-to-10.1.md @@ -0,0 +1,356 @@ +# From 10.0 to 10.1 + +Make sure you view this update guide from the tag (version) of GitLab you would +like to install. In most cases this should be the highest numbered production +tag (without rc in it). You can select the tag in the version dropdown at the +top left corner of GitLab (below the menu bar). + +If the highest number stable branch is unclear please check the +[GitLab Blog](https://about.gitlab.com/blog/archives.html) for installation +guide links by version. + +### 1. Stop server + +```bash +sudo service gitlab stop +``` + +### 2. Backup + +```bash +cd /home/git/gitlab + +sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production +``` + +### 3. Update Ruby + +NOTE: GitLab 9.0 and higher only support Ruby 2.3.x and dropped support for Ruby 2.1.x. Be +sure to upgrade your interpreter if necessary. + +You can check which version you are running with `ruby -v`. + +Download and compile Ruby: + +```bash +mkdir /tmp/ruby && cd /tmp/ruby +curl --remote-name --progress https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gz +echo '3247e217d6745c27ef23bdc77b6abdb4b57a118f ruby-2.3.5.tar.gz' | shasum -c - && tar xzf ruby-2.3.5.tar.gz +cd ruby-2.3.5 +./configure --disable-install-rdoc +make +sudo make install +``` + +Install Bundler: + +```bash +sudo gem install bundler --no-ri --no-rdoc +``` + +### 4. Update Node + +GitLab now runs [webpack](http://webpack.js.org) to compile frontend assets and +it has a minimum requirement of node v4.3.0. + +You can check which version you are running with `node -v`. If you are running +a version older than `v4.3.0` you will need to update to a newer version. You +can find instructions to install from community maintained packages or compile +from source at the nodejs.org website. + + + + +Since 8.17, GitLab requires the use of yarn `>= v0.17.0` to manage +JavaScript dependencies. + +```bash +curl --silent --show-error https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - +echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list +sudo apt-get update +sudo apt-get install yarn +``` + +More information can be found on the [yarn website](https://yarnpkg.com/en/docs/install). + +### 5. Update Go + +NOTE: GitLab 9.2 and higher only supports Go 1.8.3 and dropped support for Go +1.5.x through 1.7.x. Be sure to upgrade your installation if necessary. + +You can check which version you are running with `go version`. + +Download and install Go: + +```bash +# Remove former Go installation folder +sudo rm -rf /usr/local/go + +curl --remote-name --progress https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz +echo '1862f4c3d3907e59b04a757cfda0ea7aa9ef39274af99a784f5be843c80c6772 go1.8.3.linux-amd64.tar.gz' | shasum -a256 -c - && \ + sudo tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz +sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/ +rm go1.8.3.linux-amd64.tar.gz +``` + +### 6. Get latest code + +```bash +cd /home/git/gitlab + +sudo -u git -H git fetch --all +sudo -u git -H git checkout -- db/schema.rb # local changes will be restored automatically +sudo -u git -H git checkout -- locale +``` + +For GitLab Community Edition: + +```bash +cd /home/git/gitlab + +sudo -u git -H git checkout 10-1-stable +``` + +OR + +For GitLab Enterprise Edition: + +```bash +cd /home/git/gitlab + +sudo -u git -H git checkout 10-1-stable-ee +``` + +### 7. Update gitlab-shell + +```bash +cd /home/git/gitlab-shell + +sudo -u git -H git fetch --all --tags +sudo -u git -H git checkout v$( Date: Fri, 6 Oct 2017 16:27:40 +0000 Subject: Add delete issue docs --- doc/user/permissions.md | 1 + doc/user/project/issues/deleting_issues.md | 11 +++++++++++ doc/user/project/issues/img/delete_issue.png | Bin 0 -> 49894 bytes doc/user/project/issues/index.md | 4 ++++ 4 files changed, 16 insertions(+) create mode 100644 doc/user/project/issues/deleting_issues.md create mode 100644 doc/user/project/issues/img/delete_issue.png (limited to 'doc') diff --git a/doc/user/permissions.md b/doc/user/permissions.md index 44ee994a26b..8ff7b483c2a 100644 --- a/doc/user/permissions.md +++ b/doc/user/permissions.md @@ -71,6 +71,7 @@ The following table depicts the various user permission levels in a project. | Switch visibility level | | | | | ✓ | | Transfer project to another namespace | | | | | ✓ | | Remove project | | | | | ✓ | +| Delete issues | | | | | ✓ | | Force push to protected branches [^4] | | | | | | | Remove protected branches [^4] | | | | | | | Remove pages | | | | | ✓ | diff --git a/doc/user/project/issues/deleting_issues.md b/doc/user/project/issues/deleting_issues.md new file mode 100644 index 00000000000..d7442104c53 --- /dev/null +++ b/doc/user/project/issues/deleting_issues.md @@ -0,0 +1,11 @@ +# Deleting Issues + +> [Introduced][ce-2982] in GitLab 8.6 + +Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues. + +You can delete an issue by editing it and clicking on the delete button. + +![delete issue - button](img/delete_issue.png) + +>**Note:** Only [project owners](../../permissions.md) can delete issues. \ No newline at end of file diff --git a/doc/user/project/issues/img/delete_issue.png b/doc/user/project/issues/img/delete_issue.png new file mode 100644 index 00000000000..a356f52044e Binary files /dev/null and b/doc/user/project/issues/img/delete_issue.png differ diff --git a/doc/user/project/issues/index.md b/doc/user/project/issues/index.md index 0f187946a4a..3e81dcb78c6 100644 --- a/doc/user/project/issues/index.md +++ b/doc/user/project/issues/index.md @@ -90,6 +90,10 @@ Learn distinct ways to [close issues](closing_issues.md) in GitLab. Read through the [documentation on moving issues](moving_issues.md). +## Deleting issues + +Read through the [documentation on deleting issues](deleting_issues.md) + ## Create a merge request from an issue Learn more about it on the [GitLab Issues Functionalities documentation](issues_functionalities.md#18-new-merge-request). -- cgit v1.2.1 From 2c5148b388a2838cbeaaf9a2fea4dd460a975764 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Fri, 6 Oct 2017 09:51:29 -0700 Subject: Improve pgloader documentation [ci skip] --- doc/update/mysql_to_postgresql.md | 162 +++++++++++++++++++++++++++++++++++++- 1 file changed, 158 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/update/mysql_to_postgresql.md b/doc/update/mysql_to_postgresql.md index a3eba38c91a..fff47180099 100644 --- a/doc/update/mysql_to_postgresql.md +++ b/doc/update/mysql_to_postgresql.md @@ -44,11 +44,11 @@ Here's what you'll need to have installed: sudo gitlab-ctl reconfigure ``` -1. Start Unicorn and PostgreSQL so that we could prepare the schema: +1. Start Unicorn and PostgreSQL so that we can prepare the schema: ``` bash sudo gitlab-ctl start unicorn - sudo gitlab-ctl start posgresql + sudo gitlab-ctl start postgresql ``` 1. Run the following commands to prepare the schema: @@ -57,7 +57,7 @@ Here's what you'll need to have installed: sudo gitlab-rake db:create db:migrate ``` -1. Stop Unicorn in case it's interfering the next step: +1. Stop Unicorn to prevent other database access from interfering with the loading of data: ``` bash sudo gitlab-ctl stop unicorn @@ -92,7 +92,147 @@ Now, you can use pgloader to migrate the data from MySQL to PostgreSQL: sudo -u gitlab-psql pgloader commands.load ``` -1. Once the migration finishes, start GitLab: +1. Once the migration finishes, you should see a summary table that looks like +the following: + + + ``` + table name read imported errors total time + ----------------------------------------------- --------- --------- --------- -------------- + fetch meta data 119 119 0 0.388s + Truncate 119 119 0 1.134s + ----------------------------------------------- --------- --------- --------- -------------- + public.abuse_reports 0 0 0 0.490s + public.appearances 0 0 0 0.488s + public.approvals 0 0 0 0.273s + public.application_settings 1 1 0 0.266s + public.approvers 0 0 0 0.339s + public.approver_groups 0 0 0 0.357s + public.audit_events 1 1 0 0.410s + public.award_emoji 0 0 0 0.441s + public.boards 0 0 0 0.505s + public.broadcast_messages 0 0 0 0.498s + public.chat_names 0 0 0 0.576s + public.chat_teams 0 0 0 0.617s + public.ci_builds 0 0 0 0.611s + public.ci_group_variables 0 0 0 0.620s + public.ci_pipelines 0 0 0 0.599s + public.ci_pipeline_schedules 0 0 0 0.622s + public.ci_pipeline_schedule_variables 0 0 0 0.573s + public.ci_pipeline_variables 0 0 0 0.594s + public.ci_runners 0 0 0 0.533s + public.ci_runner_projects 0 0 0 0.584s + public.ci_sources_pipelines 0 0 0 0.564s + public.ci_stages 0 0 0 0.595s + public.ci_triggers 0 0 0 0.569s + public.ci_trigger_requests 0 0 0 0.596s + public.ci_variables 0 0 0 0.565s + public.container_repositories 0 0 0 0.605s + public.conversational_development_index_metrics 0 0 0 0.571s + public.deployments 0 0 0 0.607s + public.emails 0 0 0 0.602s + public.deploy_keys_projects 0 0 0 0.557s + public.events 160 160 0 0.677s + public.environments 0 0 0 0.567s + public.features 0 0 0 0.639s + public.events_for_migration 160 160 0 0.582s + public.feature_gates 0 0 0 0.579s + public.forked_project_links 0 0 0 0.660s + public.geo_nodes 0 0 0 0.686s + public.geo_event_log 0 0 0 0.626s + public.geo_repositories_changed_events 0 0 0 0.677s + public.geo_node_namespace_links 0 0 0 0.618s + public.geo_repository_renamed_events 0 0 0 0.696s + public.gpg_keys 0 0 0 0.704s + public.geo_repository_deleted_events 0 0 0 0.638s + public.historical_data 0 0 0 0.729s + public.geo_repository_updated_events 0 0 0 0.634s + public.index_statuses 0 0 0 0.746s + public.gpg_signatures 0 0 0 0.667s + public.issue_assignees 80 80 0 0.769s + public.identities 0 0 0 0.655s + public.issue_metrics 80 80 0 0.781s + public.issues 80 80 0 0.720s + public.labels 0 0 0 0.795s + public.issue_links 0 0 0 0.707s + public.label_priorities 0 0 0 0.793s + public.keys 0 0 0 0.734s + public.lfs_objects 0 0 0 0.812s + public.label_links 0 0 0 0.725s + public.licenses 0 0 0 0.813s + public.ldap_group_links 0 0 0 0.751s + public.members 52 52 0 0.830s + public.lfs_objects_projects 0 0 0 0.738s + public.merge_requests_closing_issues 0 0 0 0.825s + public.lists 0 0 0 0.769s + public.merge_request_diff_commits 0 0 0 0.840s + public.merge_request_metrics 0 0 0 0.837s + public.merge_requests 0 0 0 0.753s + public.merge_request_diffs 0 0 0 0.771s + public.namespaces 30 30 0 0.874s + public.merge_request_diff_files 0 0 0 0.775s + public.notes 0 0 0 0.849s + public.milestones 40 40 0 0.799s + public.oauth_access_grants 0 0 0 0.979s + public.namespace_statistics 0 0 0 0.797s + public.oauth_applications 0 0 0 0.899s + public.notification_settings 72 72 0 0.818s + public.oauth_access_tokens 0 0 0 0.807s + public.pages_domains 0 0 0 0.958s + public.oauth_openid_requests 0 0 0 0.832s + public.personal_access_tokens 0 0 0 0.965s + public.projects 8 8 0 0.987s + public.path_locks 0 0 0 0.925s + public.plans 0 0 0 0.923s + public.project_features 8 8 0 0.985s + public.project_authorizations 66 66 0 0.969s + public.project_import_data 8 8 0 1.002s + public.project_statistics 8 8 0 1.001s + public.project_group_links 0 0 0 0.949s + public.project_mirror_data 0 0 0 0.972s + public.protected_branch_merge_access_levels 0 0 0 1.017s + public.protected_branches 0 0 0 0.969s + public.protected_branch_push_access_levels 0 0 0 0.991s + public.protected_tags 0 0 0 1.009s + public.protected_tag_create_access_levels 0 0 0 0.985s + public.push_event_payloads 0 0 0 1.041s + public.push_rules 0 0 0 0.999s + public.redirect_routes 0 0 0 1.020s + public.remote_mirrors 0 0 0 1.034s + public.releases 0 0 0 0.993s + public.schema_migrations 896 896 0 1.057s + public.routes 38 38 0 1.021s + public.services 0 0 0 1.055s + public.sent_notifications 0 0 0 1.003s + public.slack_integrations 0 0 0 1.022s + public.spam_logs 0 0 0 1.024s + public.snippets 0 0 0 1.058s + public.subscriptions 0 0 0 1.069s + public.taggings 0 0 0 1.099s + public.timelogs 0 0 0 1.104s + public.system_note_metadata 0 0 0 1.038s + public.tags 0 0 0 1.034s + public.trending_projects 0 0 0 1.140s + public.uploads 0 0 0 1.129s + public.todos 80 80 0 1.085s + public.users_star_projects 0 0 0 1.153s + public.u2f_registrations 0 0 0 1.061s + public.web_hooks 0 0 0 1.179s + public.users 26 26 0 1.163s + public.user_agent_details 0 0 0 1.068s + public.web_hook_logs 0 0 0 1.080s + ----------------------------------------------- --------- --------- --------- -------------- + COPY Threads Completion 4 4 0 2.008s + Reset Sequences 113 113 0 0.304s + Install Comments 0 0 0 0.000s + ----------------------------------------------- --------- --------- --------- -------------- + Total import time 1894 1894 0 12.497s + ``` + + If there is no output for more than 30 minutes, it's possible pgloader encountered an error. See + the [troubleshooting guide](#Troubleshooting) for more details. + +1. Start GitLab: ``` bash sudo gitlab-ctl start @@ -102,6 +242,20 @@ Now, you can verify that everything worked by visiting GitLab. ## Troubleshooting +### Permissions + +Note that the PostgreSQL user that you use for the above MUST have **superuser** privileges. Otherwise, you may see +a similar message to the following: + +``` +debugger invoked on a CL-POSTGRES-ERROR:INSUFFICIENT-PRIVILEGE in thread + #: + Database error 42501: permission denied: "RI_ConstraintTrigger_a_20937" is a system trigger + QUERY: ALTER TABLE ci_builds DISABLE TRIGGER ALL; + 2017-08-23T00:36:56.782000Z ERROR Database error 42501: permission denied: "RI_ConstraintTrigger_c_20864" is a system trigger + QUERY: ALTER TABLE approver_groups DISABLE TRIGGER ALL; +``` + ### Experiencing 500 errors after the migration If you experience 500 errors after the migration, try to clear the cache: -- cgit v1.2.1 From 55e6552c8d28d646a4b83777e8cb8f60681efc27 Mon Sep 17 00:00:00 2001 From: Michael Kozono Date: Fri, 6 Oct 2017 19:47:00 +0000 Subject: Fix LDAP config key name --- doc/administration/auth/ldap.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/administration/auth/ldap.md b/doc/administration/auth/ldap.md index ad904908472..ad903aef896 100644 --- a/doc/administration/auth/ldap.md +++ b/doc/administration/auth/ldap.md @@ -287,11 +287,11 @@ LDAP email address, and then sign into GitLab via their LDAP credentials. There are two encryption methods, `simple_tls` and `start_tls`. -For either encryption method, if setting `validate_certificates: false`, TLS +For either encryption method, if setting `verify_certificates: false`, TLS encryption is established with the LDAP server before any LDAP-protocol data is exchanged but no validation of the LDAP server's SSL certificate is performed. ->**Note**: Before GitLab 9.5, `validate_certificates: false` is the default if +>**Note**: Before GitLab 9.5, `verify_certificates: false` is the default if unspecified. ## Limitations -- cgit v1.2.1 From d13669716ab0c31ce9039ae9f7f073e33a4dc40f Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Tue, 19 Sep 2017 09:44:58 +0200 Subject: Create idea of read-only database In GitLab EE, a GitLab instance can be read-only (e.g. when it's a Geo secondary node). But in GitLab CE it also might be useful to have the "read-only" idea around. So port it back to GitLab CE. Also having the principle of read-only in GitLab CE would hopefully lead to less errors introduced, doing write operations when there aren't allowed for read-only calls. Closes gitlab-org/gitlab-ce#37534. --- doc/development/verifying_database_capabilities.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'doc') diff --git a/doc/development/verifying_database_capabilities.md b/doc/development/verifying_database_capabilities.md index cc6d62957e3..ffdeff47d4a 100644 --- a/doc/development/verifying_database_capabilities.md +++ b/doc/development/verifying_database_capabilities.md @@ -24,3 +24,15 @@ else run_query end ``` + +# Read-only database + +The database can be used in read-only mode. In this case we have to +make sure all GET requests don't attempt any write operations to the +database. If one of those requests wants to write to the database, it needs +to be wrapped in a `Gitlab::Database.read_only?` or `Gitlab::Database.read_write?` +guard, to make sure it doesn't for read-only databases. + +We have a Rails Middleware that filters any potentially writing +operations (the CUD operations of CRUD) and prevent the user from trying +to update the database and getting a 500 error (see `Gitlab::Middleware::ReadOnly`). -- cgit v1.2.1 From 1182fccd3ee894bf971c13a3f3ecf6eff774c1ea Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Sat, 7 Oct 2017 12:10:46 -0700 Subject: Remove executable permissions on images to make docs lint happy [ci skip] --- .../ux_guide/img/illustration-size-large-horizontal.png | Bin doc/development/ux_guide/img/illustration-size-medium.png | Bin .../ux_guide/img/illustrations-border-radius.png | Bin doc/development/ux_guide/img/illustrations-caps-do.png | Bin doc/development/ux_guide/img/illustrations-caps-don't.png | Bin doc/development/ux_guide/img/illustrations-color-grey.png | Bin doc/development/ux_guide/img/illustrations-color-orange.png | Bin doc/development/ux_guide/img/illustrations-color-purple.png | Bin doc/development/ux_guide/img/illustrations-geometric.png | Bin .../ux_guide/img/illustrations-palette-oragne.png | Bin .../ux_guide/img/illustrations-palette-purple.png | Bin 11 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 doc/development/ux_guide/img/illustration-size-large-horizontal.png mode change 100755 => 100644 doc/development/ux_guide/img/illustration-size-medium.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-border-radius.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-caps-do.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-caps-don't.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-color-grey.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-color-orange.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-color-purple.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-geometric.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-palette-oragne.png mode change 100755 => 100644 doc/development/ux_guide/img/illustrations-palette-purple.png (limited to 'doc') diff --git a/doc/development/ux_guide/img/illustration-size-large-horizontal.png b/doc/development/ux_guide/img/illustration-size-large-horizontal.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustration-size-medium.png b/doc/development/ux_guide/img/illustration-size-medium.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-border-radius.png b/doc/development/ux_guide/img/illustrations-border-radius.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-caps-do.png b/doc/development/ux_guide/img/illustrations-caps-do.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-caps-don't.png b/doc/development/ux_guide/img/illustrations-caps-don't.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-color-grey.png b/doc/development/ux_guide/img/illustrations-color-grey.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-color-orange.png b/doc/development/ux_guide/img/illustrations-color-orange.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-color-purple.png b/doc/development/ux_guide/img/illustrations-color-purple.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-geometric.png b/doc/development/ux_guide/img/illustrations-geometric.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-palette-oragne.png b/doc/development/ux_guide/img/illustrations-palette-oragne.png old mode 100755 new mode 100644 diff --git a/doc/development/ux_guide/img/illustrations-palette-purple.png b/doc/development/ux_guide/img/illustrations-palette-purple.png old mode 100755 new mode 100644 -- cgit v1.2.1 From 09dbbc27070cbd6151ec87fa82ae3c77c78492e1 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 9 Oct 2017 09:06:09 +0000 Subject: Resolve "Simple documentation update - backup to restore in restore section" --- doc/raketasks/backup_restore.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/raketasks/backup_restore.md b/doc/raketasks/backup_restore.md index ae69d7f92f2..e4c09b2b507 100644 --- a/doc/raketasks/backup_restore.md +++ b/doc/raketasks/backup_restore.md @@ -370,7 +370,7 @@ This is recommended to reduce cron spam. ## Restore -GitLab provides a simple command line interface to backup your whole installation, +GitLab provides a simple command line interface to restore your whole installation, and is flexible enough to fit your needs. The [restore prerequisites section](#restore-prerequisites) includes crucial @@ -445,6 +445,14 @@ Restoring repositories: Deleting tmp directories...[DONE] ``` +Next, restore `/home/git/gitlab/.secret` if necessary as mentioned above. + +Restart GitLab: + +```shell +sudo service gitlab restart +``` + ### Restore for Omnibus installations This procedure assumes that: @@ -480,10 +488,12 @@ restore: sudo gitlab-rake gitlab:backup:restore BACKUP=1493107454_2017_04_25_9.1.0 ``` +Next, restore `/etc/gitlab/gitlab-secrets.json` if necessary as mentioned above. + Restart and check GitLab: ```shell -sudo gitlab-ctl start +sudo gitlab-ctl restart sudo gitlab-rake gitlab:check SANITIZE=true ``` -- cgit v1.2.1