diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-14 21:06:15 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-14 21:06:15 +0300 |
commit | 921d16124a626ad94e14bacb734033b0293ba431 (patch) | |
tree | 11be086bbc2b27701c3f8d885dd552af85b100c4 /doc/user | |
parent | d88843f370acfcbbd3e2b9d6d662d62132647d86 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/user')
-rw-r--r-- | doc/user/permissions.md | 3 | ||||
-rw-r--r-- | doc/user/project/operations/feature_flags.md | 31 | ||||
-rw-r--r-- | doc/user/project/releases/img/edit_release_page_v12_5.png | bin | 0 -> 150927 bytes | |||
-rw-r--r-- | doc/user/project/releases/img/new_tag_12_5.png (renamed from doc/user/project/releases/img/new_tag.png) | bin | 42439 -> 42439 bytes | |||
-rw-r--r-- | doc/user/project/releases/img/release_edit_button_v12_5.png | bin | 0 -> 87472 bytes | |||
-rw-r--r-- | doc/user/project/releases/img/tags_12_5.png (renamed from doc/user/project/releases/img/tags.png) | bin | 44666 -> 44666 bytes | |||
-rw-r--r-- | doc/user/project/releases/index.md | 108 |
7 files changed, 122 insertions, 20 deletions
diff --git a/doc/user/permissions.md b/doc/user/permissions.md index 0382c33f7c6..42c38a8e34b 100644 --- a/doc/user/permissions.md +++ b/doc/user/permissions.md @@ -51,7 +51,7 @@ The following table depicts the various user permission levels in a project. | View Security reports **(ULTIMATE)** | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ | | View Dependency list **(ULTIMATE)** | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | | View licenses in Dependency list **(ULTIMATE)** | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| View [Design Management](project/issues/design_management.md) pages **(PREMIUM)** | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | +| View [Design Management](project/issues/design_management.md) pages **(PREMIUM)** | ✓ | ✓ | ✓ | ✓ | ✓ | | View project code | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | | Pull project code | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | | View GitLab Pages protected by [access control](project/pages/introduction.md#gitlab-pages-access-control-core) | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -103,6 +103,7 @@ The following table depicts the various user permission levels in a project. | Apply code change suggestions | | | ✓ | ✓ | ✓ | | Create and edit wiki pages | | | ✓ | ✓ | ✓ | | Rewrite/remove Git tags | | | ✓ | ✓ | ✓ | +| Manage Feature Flags **(PREMIUM)** | | | ✓ | ✓ | ✓ | | Use environment terminals | | | | ✓ | ✓ | | Run Web IDE's Interactive Web Terminals **(ULTIMATE ONLY)** | | | | ✓ | ✓ | | Add new team members | | | | ✓ | ✓ | diff --git a/doc/user/project/operations/feature_flags.md b/doc/user/project/operations/feature_flags.md index 08df92959c3..c05f8fa8bc4 100644 --- a/doc/user/project/operations/feature_flags.md +++ b/doc/user/project/operations/feature_flags.md @@ -81,7 +81,14 @@ NOTE: **NOTE** We'd highly recommend you to use the [Environment](../../../ci/environments.md) feature in order to quickly assess which flag is enabled per environment. -## Rollout strategy +## Feature Flag strategies + +GitLab Feature Flag adopts [Unleash](https://unleash.github.io) +as the feature flag engine. In unleash, there is a concept of rulesets for granular feature flag controls, +called [strategies](https://unleash.github.io/docs/activation_strategy). +Supported strategies for GitLab Feature Flags are described below. + +### Rollout strategy > [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/8240) in GitLab 12.2. @@ -91,13 +98,13 @@ The status of an environment spec ultimately determines whether or not a feature For instance, a feature will always be disabled for every user if the matching environment spec has a disabled status, regardless of the chosen rollout strategy. However, a feature will be enabled for 50% of logged-in users if the matching environment spec has an enabled status along with a **Percent rollout (logged in users)** strategy set to 50%. -### All users +#### All users Enables the feature for all users. It is implemented using the Unleash [`default`](https://unleash.github.io/docs/activation_strategy#default) activation strategy. -### Percent rollout (logged in users) +#### Percent rollout (logged in users) Enables the feature for a percentage of authenticated users. It is implemented using the Unleash @@ -112,7 +119,7 @@ CAUTION: **Caution:** If this strategy is selected, then the Unleash client **must** be given a user ID for the feature to be enabled. See the [Ruby example](#ruby-application-example) below. -## Target users +### Target users strategy > [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/8240) in GitLab 12.2. @@ -134,7 +141,7 @@ In order to use Feature Flags, you need to first [get the access credentials](#configuring-feature-flags) from GitLab and then prepare your application and hook it with a [client library](#client-libraries). -### Configuring Feature Flags +## Configuring Feature Flags To get the access credentials that your application will need to talk to GitLab: @@ -153,7 +160,7 @@ if **Instance ID** will be single token or multiple tokens, assigned to the **Environment**. Also, **Application name** could describe the version of application instead of the running environment. -### Client libraries +## Client libraries GitLab currently implements a single backend that is compatible with [Unleash](https://github.com/Unleash/unleash#client-implementations) clients. @@ -178,7 +185,7 @@ Community contributed clients: - [Unofficial .Net Core Unleash client](https://github.com/onybo/unleash-client-core) - [Unleash client for Python 3](https://github.com/aes/unleash-client-python) -### Golang application example +## Golang application example Here's an example of how to integrate the feature flags in a Golang application: @@ -219,7 +226,7 @@ func main() { } ``` -### Ruby application example +## Ruby application example Here's an example of how to integrate the feature flags in a Ruby application. @@ -249,3 +256,11 @@ else puts "hello, world!" end ``` + +## Feature Flags API + +You can create, update, read, and delete Feature Flags via API +to control them in an automated flow: + +- [Feature Flags API](../../../api/feature_flags.md) +- [Feature Flag Specs API](../../../api/feature_flag_specs.md) diff --git a/doc/user/project/releases/img/edit_release_page_v12_5.png b/doc/user/project/releases/img/edit_release_page_v12_5.png Binary files differnew file mode 100644 index 00000000000..8b9c502a2ef --- /dev/null +++ b/doc/user/project/releases/img/edit_release_page_v12_5.png diff --git a/doc/user/project/releases/img/new_tag.png b/doc/user/project/releases/img/new_tag_12_5.png Binary files differindex 6137ad2ee56..6137ad2ee56 100644 --- a/doc/user/project/releases/img/new_tag.png +++ b/doc/user/project/releases/img/new_tag_12_5.png diff --git a/doc/user/project/releases/img/release_edit_button_v12_5.png b/doc/user/project/releases/img/release_edit_button_v12_5.png Binary files differnew file mode 100644 index 00000000000..f60b0ecb1be --- /dev/null +++ b/doc/user/project/releases/img/release_edit_button_v12_5.png diff --git a/doc/user/project/releases/img/tags.png b/doc/user/project/releases/img/tags_12_5.png Binary files differindex 4c032f96125..4c032f96125 100644 --- a/doc/user/project/releases/img/tags.png +++ b/doc/user/project/releases/img/tags_12_5.png diff --git a/doc/user/project/releases/index.md b/doc/user/project/releases/index.md index 1ab348f57d4..d31df77f8a0 100644 --- a/doc/user/project/releases/index.md +++ b/doc/user/project/releases/index.md @@ -65,6 +65,27 @@ project. ![Releases list](img/releases.png) +## Editing a release + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/26016) in GitLab 12.5. + +To edit the details of a release, navigate to **Project overview > Releases** and click +the edit button (pencil icon) in the top-right corner of the release you want to modify. + +![A release with an edit button](img/release_edit_button_v12_5.png) + +This will bring you to the **Edit Release** page, from which you can +change some of the release's details. + +![Edit release page](img/edit_release_page_v12_5.png) + +Currently, it is only possible to edit the release title and notes. +To change other release information, such as its tag, associated +milestones, or release date, use the +[Releases API](../../../api/releases/index.md#update-a-release). Editing this +information through the **Edit Release** page is planned for a future version +of GitLab. + ## Notification for Releases > [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/26001) in GitLab 12.4. @@ -85,17 +106,82 @@ drag and drop files to it. Release notes are stored in GitLab's database. There are several ways to add release notes: -- In the interface, when you create a new Git tag -- In the interface, by adding a note to an existing Git tag -- Using the GitLab API - -### New tag page with release notes text area - -![new_tag](img/new_tag.png) - -### Tags page with button to add or edit release notes for existing Git tag - -![tags](img/tags.png) +- In the interface, when you create a new Git tag. +- In the interface, by adding a note to an existing Git tag. +- Using the GitLab API. + +To create a new tag, navigate to your project's **Repository > Tags** and +click **New tag**. From there, you can fill the form with all the information +about the release: + +![new_tag](img/new_tag_12_5.png "Creation of a new tag.") + +You can also edit an existing tag to add release notes: + +![tags](img/tags_12_5.png "Addition of note to an existing tag") + +## Release Evidence + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/26019) in GitLab 12.5. + +Each time a new release is created, specific related data is collected in +parallel. This dataset will be a snapshot this new release (including linked +milestones and issues) at moment of creation. Such collection of data will +provide a chain of custody and facilitate processes like external audits, for example. + +The gathered Evidence data is stored in the database upon creation of a new +release as a JSON object. In GitLab 12.5, a link to +the Evidence data is provided for [each Release](#releases-list). + +Here's what this object can look like: + +```json +{ + "release": { + "id": 5, + "tag": "v4.0", + "name": "New release", + "project_id": 45, + "project_name": "Project name", + "released_at": "2019-06-28 13:23:40 UTC", + "milestones": [ + { + "id": 11, + "title": "v4.0-rc1", + "state": "closed", + "due_date": "2019-05-12 12:00:00 UTC", + "created_at": "2019-04-17 15:45:12 UTC", + "issues": [ + { + "id": 82, + "title": "The top-right popup is broken", + "author_name": "John Doe", + "author_email": "john@doe.com", + "state": "closed", + "due_date": "2019-05-10 12:00:00 UTC" + }, + { + "id": 89, + "title": "The title of this page is misleading", + "author_name": "Jane Smith", + "author_email": "jane@smith.com", + "state": "closed", + "due_date": "nil" + } + ] + }, + { + "id": 12, + "title": "v4.0-rc2", + "state": "closed", + "due_date": "2019-05-30 18:30:00 UTC", + "created_at": "2019-04-17 15:45:12 UTC", + "issues": [] + } + ] + } +} +``` <!-- ## Troubleshooting |