Commit 1c45e75d authored by Suzanne Selhorn's avatar Suzanne Selhorn

Merge branch '36654-move-environments-doc-to-right-directory' into 'master'

issue #36654-move environments doc to correct dir and update links

Closes #36654

See merge request gitlab-org/gitlab!32246
parents 868b8657 e4e6563d
...@@ -285,7 +285,7 @@ The following documentation relates to the DevOps **Release** stage: ...@@ -285,7 +285,7 @@ The following documentation relates to the DevOps **Release** stage:
| [Auto Deploy](topics/autodevops/stages.md#auto-deploy) | Configure GitLab for the deployment of your application. | | [Auto Deploy](topics/autodevops/stages.md#auto-deploy) | Configure GitLab for the deployment of your application. |
| [Canary Deployments](user/project/canary_deployments.md) **(PREMIUM)** | Employ a popular CI strategy where a small portion of the fleet is updated to the new version first. | | [Canary Deployments](user/project/canary_deployments.md) **(PREMIUM)** | Employ a popular CI strategy where a small portion of the fleet is updated to the new version first. |
| [Deploy Boards](user/project/deploy_boards.md) **(PREMIUM)** | View the current health and status of each CI environment running on Kubernetes, displaying the status of the pods in the deployment. | | [Deploy Boards](user/project/deploy_boards.md) **(PREMIUM)** | View the current health and status of each CI environment running on Kubernetes, displaying the status of the pods in the deployment. |
| [Environments and deployments](ci/environments.md) | With environments, you can control the continuous deployment of your software within GitLab. | | [Environments and deployments](ci/environments/index.md) | With environments, you can control the continuous deployment of your software within GitLab. |
| [Environment-specific variables](ci/variables/README.md#limit-the-environment-scopes-of-environment-variables) | Limit the scope of variables to specific environments. | | [Environment-specific variables](ci/variables/README.md#limit-the-environment-scopes-of-environment-variables) | Limit the scope of variables to specific environments. |
| [GitLab CI/CD](ci/README.md) | Explore the features and capabilities of Continuous Deployment and Delivery with GitLab. | | [GitLab CI/CD](ci/README.md) | Explore the features and capabilities of Continuous Deployment and Delivery with GitLab. |
| [GitLab Pages](user/project/pages/index.md) | Build, test, and deploy a static site directly from GitLab. | | [GitLab Pages](user/project/pages/index.md) | Build, test, and deploy a static site directly from GitLab. |
......
...@@ -134,7 +134,7 @@ The following table lists basic ports that must be open between the **primary** ...@@ -134,7 +134,7 @@ The following table lists basic ports that must be open between the **primary**
See the full list of ports used by GitLab in [Package defaults](https://docs.gitlab.com/omnibus/package-information/defaults.html) See the full list of ports used by GitLab in [Package defaults](https://docs.gitlab.com/omnibus/package-information/defaults.html)
NOTE: **Note:** NOTE: **Note:**
[Web terminal](../../../ci/environments.md#web-terminals) support requires your load balancer to correctly handle WebSocket connections. [Web terminal](../../../ci/environments/index.md#web-terminals) support requires your load balancer to correctly handle WebSocket connections.
When using HTTP or HTTPS proxying, your load balancer must be configured to pass through the `Connection` and `Upgrade` hop-by-hop headers. See the [web terminal](../../integration/terminal.md) integration guide for more details. When using HTTP or HTTPS proxying, your load balancer must be configured to pass through the `Connection` and `Upgrade` hop-by-hop headers. See the [web terminal](../../integration/terminal.md) integration guide for more details.
NOTE: **Note:** NOTE: **Note:**
......
...@@ -66,7 +66,7 @@ for details on managing SSL certificates and configuring NGINX. ...@@ -66,7 +66,7 @@ for details on managing SSL certificates and configuring NGINX.
| 443 | 443 | TCP or HTTPS (*1*) (*2*) | | 443 | 443 | TCP or HTTPS (*1*) (*2*) |
| 22 | 22 | TCP | | 22 | 22 | TCP |
- (*1*): [Web terminal](../../ci/environments.md#web-terminals) support requires - (*1*): [Web terminal](../../ci/environments/index.md#web-terminals) support requires
your load balancer to correctly handle WebSocket connections. When using your load balancer to correctly handle WebSocket connections. When using
HTTP or HTTPS proxying, this means your load balancer must be configured HTTP or HTTPS proxying, this means your load balancer must be configured
to pass through the `Connection` and `Upgrade` hop-by-hop headers. See the to pass through the `Connection` and `Upgrade` hop-by-hop headers. See the
......
...@@ -100,7 +100,7 @@ Learn how to install, configure, update, and maintain your GitLab instance. ...@@ -100,7 +100,7 @@ Learn how to install, configure, update, and maintain your GitLab instance.
- [Mattermost](https://docs.gitlab.com/omnibus/gitlab-mattermost/): Integrate with [Mattermost](https://mattermost.com), an open source, private cloud workplace for web messaging. - [Mattermost](https://docs.gitlab.com/omnibus/gitlab-mattermost/): Integrate with [Mattermost](https://mattermost.com), an open source, private cloud workplace for web messaging.
- [PlantUML](integration/plantuml.md): Create simple diagrams in AsciiDoc and Markdown documents - [PlantUML](integration/plantuml.md): Create simple diagrams in AsciiDoc and Markdown documents
created in snippets, wikis, and repositories. created in snippets, wikis, and repositories.
- [Web terminals](integration/terminal.md): Provide terminal access to your applications deployed to Kubernetes from within GitLab's CI/CD [environments](../ci/environments.md#web-terminals). - [Web terminals](integration/terminal.md): Provide terminal access to your applications deployed to Kubernetes from within GitLab's CI/CD [environments](../ci/environments/index.md#web-terminals).
## User settings and permissions ## User settings and permissions
......
...@@ -8,7 +8,7 @@ Only project maintainers and owners can access web terminals. ...@@ -8,7 +8,7 @@ Only project maintainers and owners can access web terminals.
With the introduction of the [Kubernetes integration](../../user/project/clusters/index.md), With the introduction of the [Kubernetes integration](../../user/project/clusters/index.md),
GitLab gained the ability to store and use credentials for a Kubernetes cluster. GitLab gained the ability to store and use credentials for a Kubernetes cluster.
One of the things it uses these credentials for is providing access to One of the things it uses these credentials for is providing access to
[web terminals](../../ci/environments.md#web-terminals) for environments. [web terminals](../../ci/environments/index.md#web-terminals) for environments.
## How it works ## How it works
......
...@@ -10,7 +10,7 @@ Users with Developer or higher [permissions](../user/permissions.md) can access ...@@ -10,7 +10,7 @@ Users with Developer or higher [permissions](../user/permissions.md) can access
## List all effective feature flag specs under the specified environment ## List all effective feature flag specs under the specified environment
Get all effective feature flag specs under the specified [environment](../ci/environments.md). Get all effective feature flag specs under the specified [environment](../ci/environments/index.md).
For instance, there are two specs, `staging` and `production`, for a feature flag. For instance, there are two specs, `staging` and `production`, for a feature flag.
When you pass `production` as a parameter to this endpoint, the system returns When you pass `production` as a parameter to this endpoint, the system returns
...@@ -23,7 +23,7 @@ GET /projects/:id/feature_flag_scopes ...@@ -23,7 +23,7 @@ GET /projects/:id/feature_flag_scopes
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- | | ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
| `environment` | string | yes | The [environment](../ci/environments.md) name | | `environment` | string | yes | The [environment](../ci/environments/index.md) name |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/1/feature_flag_scopes?environment=production curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/1/feature_flag_scopes?environment=production
...@@ -155,7 +155,7 @@ POST /projects/:id/feature_flags/:name/scopes ...@@ -155,7 +155,7 @@ POST /projects/:id/feature_flags/:name/scopes
| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- | | ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
| `name` | string | yes | The name of the feature flag. | | `name` | string | yes | The name of the feature flag. |
| `environment_scope` | string | yes | The [environment spec](../ci/environments.md#scoping-environments-with-specs) of the feature flag. | | `environment_scope` | string | yes | The [environment spec](../ci/environments/index.md#scoping-environments-with-specs) of the feature flag. |
| `active` | boolean | yes | Whether the spec is active. | | `active` | boolean | yes | Whether the spec is active. |
| `strategies` | json | yes | The [strategies](../user/project/operations/feature_flags.md#feature-flag-strategies) of the feature flag spec. | | `strategies` | json | yes | The [strategies](../user/project/operations/feature_flags.md#feature-flag-strategies) of the feature flag spec. |
...@@ -202,7 +202,7 @@ GET /projects/:id/feature_flags/:name/scopes/:environment_scope ...@@ -202,7 +202,7 @@ GET /projects/:id/feature_flags/:name/scopes/:environment_scope
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------| | ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
| `name` | string | yes | The name of the feature flag. | | `name` | string | yes | The name of the feature flag. |
| `environment_scope` | string | yes | The URL-encoded [environment spec](../ci/environments.md#scoping-environments-with-specs) of the feature flag. | | `environment_scope` | string | yes | The URL-encoded [environment spec](../ci/environments/index.md#scoping-environments-with-specs) of the feature flag. |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/:id/feature_flags/new_live_trace/scopes/production curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/:id/feature_flags/new_live_trace/scopes/production
...@@ -238,7 +238,7 @@ PUT /projects/:id/feature_flags/:name/scopes/:environment_scope ...@@ -238,7 +238,7 @@ PUT /projects/:id/feature_flags/:name/scopes/:environment_scope
| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- | | ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
| `name` | string | yes | The name of the feature flag. | | `name` | string | yes | The name of the feature flag. |
| `environment_scope` | string | yes | The URL-encoded [environment spec](../ci/environments.md#scoping-environments-with-specs) of the feature flag. | | `environment_scope` | string | yes | The URL-encoded [environment spec](../ci/environments/index.md#scoping-environments-with-specs) of the feature flag. |
| `active` | boolean | yes | Whether the spec is active. | | `active` | boolean | yes | Whether the spec is active. |
| `strategies` | json | yes | The [strategies](../user/project/operations/feature_flags.md#feature-flag-strategies) of the feature flag spec. | | `strategies` | json | yes | The [strategies](../user/project/operations/feature_flags.md#feature-flag-strategies) of the feature flag spec. |
...@@ -284,7 +284,7 @@ DELETE /projects/:id/feature_flags/:name/scopes/:environment_scope ...@@ -284,7 +284,7 @@ DELETE /projects/:id/feature_flags/:name/scopes/:environment_scope
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------| | ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding). |
| `name` | string | yes | The name of the feature flag. | | `name` | string | yes | The name of the feature flag. |
| `environment_scope` | string | yes | The URL-encoded [environment spec](../ci/environments.md#scoping-environments-with-specs) of the feature flag. | | `environment_scope` | string | yes | The URL-encoded [environment spec](../ci/environments/index.md#scoping-environments-with-specs) of the feature flag. |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" --request DELETE https://gitlab.example.com/api/v4/projects/1/feature_flags/new_live_trace/scopes/production curl --header "PRIVATE-TOKEN: <your_access_token>" --request DELETE https://gitlab.example.com/api/v4/projects/1/feature_flags/new_live_trace/scopes/production
......
...@@ -155,7 +155,7 @@ POST /projects/:id/feature_flags ...@@ -155,7 +155,7 @@ POST /projects/:id/feature_flags
| `name` | string | yes | The name of the feature flag. | | `name` | string | yes | The name of the feature flag. |
| `description` | string | no | The description of the feature flag. | | `description` | string | no | The description of the feature flag. |
| `scopes` | JSON | no | The [feature flag specs](../user/project/operations/feature_flags.md#define-environment-specs) of the feature flag. | | `scopes` | JSON | no | The [feature flag specs](../user/project/operations/feature_flags.md#define-environment-specs) of the feature flag. |
| `scopes:environment_scope` | string | no | The [environment spec](../ci/environments.md#scoping-environments-with-specs). | | `scopes:environment_scope` | string | no | The [environment spec](../ci/environments/index.md#scoping-environments-with-specs). |
| `scopes:active` | boolean | no | Whether the spec is active. | | `scopes:active` | boolean | no | Whether the spec is active. |
| `scopes:strategies` | JSON | no | The [strategies](../user/project/operations/feature_flags.md#feature-flag-strategies) of the feature flag spec. | | `scopes:strategies` | JSON | no | The [strategies](../user/project/operations/feature_flags.md#feature-flag-strategies) of the feature flag spec. |
......
...@@ -85,7 +85,7 @@ GitLab CI/CD uses a number of concepts to describe and run your build and deploy ...@@ -85,7 +85,7 @@ GitLab CI/CD uses a number of concepts to describe and run your build and deploy
|:--------------|:-------------| |:--------------|:-------------|
| [Pipelines](pipelines/index.md) | Structure your CI/CD process through pipelines. | | [Pipelines](pipelines/index.md) | Structure your CI/CD process through pipelines. |
| [Environment variables](variables/README.md) | Reuse values based on a variable/value key pair. | | [Environment variables](variables/README.md) | Reuse values based on a variable/value key pair. |
| [Environments](environments.md) | Deploy your application to different environments (e.g., staging, production). | | [Environments](environments/index.md) | Deploy your application to different environments (e.g., staging, production). |
| [Job artifacts](pipelines/job_artifacts.md) | Output, use, and reuse job artifacts. | | [Job artifacts](pipelines/job_artifacts.md) | Output, use, and reuse job artifacts. |
| [Cache dependencies](caching/index.md) | Cache your dependencies for a faster execution. | | [Cache dependencies](caching/index.md) | Cache your dependencies for a faster execution. |
| [GitLab Runner](https://docs.gitlab.com/runner/) | Configure your own GitLab Runners to execute your scripts. | | [GitLab Runner](https://docs.gitlab.com/runner/) | Configure your own GitLab Runners to execute your scripts. |
......
This diff is collapsed.
This diff is collapsed.
...@@ -8,7 +8,7 @@ type: concepts, howto ...@@ -8,7 +8,7 @@ type: concepts, howto
## Overview ## Overview
[Environments](../environments.md) can be used for different reasons: [Environments](../environments/index.md) can be used for different reasons:
- Some of them are just for testing. - Some of them are just for testing.
- Others are for production. - Others are for production.
......
...@@ -516,7 +516,7 @@ Errors can be easily debugged through GitLab's build logs, and within minutes of ...@@ -516,7 +516,7 @@ Errors can be easily debugged through GitLab's build logs, and within minutes of
you can see the changes live on your game. you can see the changes live on your game.
Setting up Continuous Integration and Continuous Deployment from the start with Dark Nova enables Setting up Continuous Integration and Continuous Deployment from the start with Dark Nova enables
rapid but stable development. We can easily test changes in a separate [environment](../../environments.md), rapid but stable development. We can easily test changes in a separate [environment](../../environments/index.md),
or multiple environments if needed. Balancing and updating a multiplayer game can be ongoing or multiple environments if needed. Balancing and updating a multiplayer game can be ongoing
and tedious, but having faith in a stable deployment with GitLab CI/CD allows and tedious, but having faith in a stable deployment with GitLab CI/CD allows
a lot of breathing room in quickly getting changes to players. a lot of breathing room in quickly getting changes to players.
......
...@@ -376,7 +376,7 @@ You might want to create another Envoy task to do that for you. ...@@ -376,7 +376,7 @@ You might want to create another Envoy task to do that for you.
We also create the `.env` file in the same path to set up our production environment variables for Laravel. We also create the `.env` file in the same path to set up our production environment variables for Laravel.
These are persistent data and will be shared to every new release. These are persistent data and will be shared to every new release.
Now, we would need to deploy our app by running `envoy run deploy`, but it won't be necessary since GitLab can handle that for us with CI's [environments](../../environments.md), which will be described [later](#setting-up-gitlab-cicd) in this tutorial. Now, we would need to deploy our app by running `envoy run deploy`, but it won't be necessary since GitLab can handle that for us with CI's [environments](../../environments/index.md), which will be described [later](#setting-up-gitlab-cicd) in this tutorial.
Now it's time to commit [Envoy.blade.php](https://gitlab.com/mehranrasulian/laravel-sample/blob/master/Envoy.blade.php) and push it to the `master` branch. Now it's time to commit [Envoy.blade.php](https://gitlab.com/mehranrasulian/laravel-sample/blob/master/Envoy.blade.php) and push it to the `master` branch.
To keep things simple, we commit directly to `master`, without using [feature-branches](../../../topics/gitlab_flow.md#github-flow-as-a-simpler-alternative) since collaboration is beyond the scope of this tutorial. To keep things simple, we commit directly to `master`, without using [feature-branches](../../../topics/gitlab_flow.md#github-flow-as-a-simpler-alternative) since collaboration is beyond the scope of this tutorial.
......
...@@ -136,7 +136,7 @@ displayed by GitLab: ...@@ -136,7 +136,7 @@ displayed by GitLab:
![pipeline status](img/pipeline_status.png) ![pipeline status](img/pipeline_status.png)
At the end, if anything goes wrong, you can easily At the end, if anything goes wrong, you can easily
[roll back](../environments.md#retrying-and-rolling-back) all the changes: [roll back](../environments/index.md#retrying-and-rolling-back) all the changes:
![rollback button](img/rollback.png) ![rollback button](img/rollback.png)
...@@ -207,7 +207,7 @@ according to each stage (Verify, Package, Release). ...@@ -207,7 +207,7 @@ according to each stage (Verify, Package, Release).
With GitLab CI/CD you can also: With GitLab CI/CD you can also:
- Easily set up your app's entire lifecycle with [Auto DevOps](../../topics/autodevops/index.md). - Easily set up your app's entire lifecycle with [Auto DevOps](../../topics/autodevops/index.md).
- Deploy your app to different [environments](../environments.md). - Deploy your app to different [environments](../environments/index.md).
- Install your own [GitLab Runner](https://docs.gitlab.com/runner/). - Install your own [GitLab Runner](https://docs.gitlab.com/runner/).
- [Schedule pipelines](../pipelines/schedules.md). - [Schedule pipelines](../pipelines/schedules.md).
- Check for app vulnerabilities with [Security Test reports](../../user/application_security/index.md). **(ULTIMATE)** - Check for app vulnerabilities with [Security Test reports](../../user/application_security/index.md). **(ULTIMATE)**
......
...@@ -159,7 +159,7 @@ You can do this straight from the pipeline graph. Just click the play button ...@@ -159,7 +159,7 @@ You can do this straight from the pipeline graph. Just click the play button
to execute that particular job. to execute that particular job.
For example, your pipeline might start automatically, but it requires manual action to For example, your pipeline might start automatically, but it requires manual action to
[deploy to production](../environments.md#configuring-manual-deployments). In the example below, the `production` [deploy to production](../environments/index.md#configuring-manual-deployments). In the example below, the `production`
stage has a job with a manual action. stage has a job with a manual action.
![Pipelines example](img/pipelines.png) ![Pipelines example](img/pipelines.png)
...@@ -397,7 +397,7 @@ For example, if you start rolling out new code and: ...@@ -397,7 +397,7 @@ For example, if you start rolling out new code and:
- Users do not experience trouble, GitLab can automatically complete the deployment from 0% to 100%. - Users do not experience trouble, GitLab can automatically complete the deployment from 0% to 100%.
- Users experience trouble with the new code, you can stop the timed incremental rollout by canceling the pipeline - Users experience trouble with the new code, you can stop the timed incremental rollout by canceling the pipeline
and [rolling](../environments.md#retrying-and-rolling-back) back to the last stable version. and [rolling](../environments/index.md#retrying-and-rolling-back) back to the last stable version.
![Pipelines example](img/pipeline_incremental_rollout.png) ![Pipelines example](img/pipeline_incremental_rollout.png)
......
...@@ -109,7 +109,7 @@ combination thereof (`junit: [rspec.xml, test-results/TEST-*.xml]`). ...@@ -109,7 +109,7 @@ combination thereof (`junit: [rspec.xml, test-results/TEST-*.xml]`).
The `dotenv` report collects a set of environment variables as artifacts. The `dotenv` report collects a set of environment variables as artifacts.
The collected variables are registered as runtime-created variables of the job, The collected variables are registered as runtime-created variables of the job,
which is useful to [set dynamic environment URLs after a job finishes](../environments.md#set-dynamic-environment-urls-after-a-job-finishes). which is useful to [set dynamic environment URLs after a job finishes](../environments/index.md#set-dynamic-environment-urls-after-a-job-finishes).
It's not available for download through the web interface. It's not available for download through the web interface.
There are a couple of limitations on top of the [original dotenv rules](https://github.com/motdotla/dotenv#rules). There are a couple of limitations on top of the [original dotenv rules](https://github.com/motdotla/dotenv#rules).
......
...@@ -29,7 +29,7 @@ In the above example: ...@@ -29,7 +29,7 @@ In the above example:
## How Review Apps work ## How Review Apps work
A Review App is a mapping of a branch with an [environment](../environments.md). A Review App is a mapping of a branch with an [environment](../environments/index.md).
Access to the Review App is made available as a link on the [merge request](../../user/project/merge_requests.md) relevant to the branch. Access to the Review App is made available as a link on the [merge request](../../user/project/merge_requests.md) relevant to the branch.
The following is an example of a merge request with an environment set dynamically. The following is an example of a merge request with an environment set dynamically.
...@@ -49,7 +49,7 @@ After adding Review Apps to your workflow, you follow the branched Git flow. Tha ...@@ -49,7 +49,7 @@ After adding Review Apps to your workflow, you follow the branched Git flow. Tha
## Configuring Review Apps ## Configuring Review Apps
Review Apps are built on [dynamic environments](../environments.md#configuring-dynamic-environments), which allow you to dynamically create a new environment for each branch. Review Apps are built on [dynamic environments](../environments/index.md#configuring-dynamic-environments), which allow you to dynamically create a new environment for each branch.
The process of configuring Review Apps is as follows: The process of configuring Review Apps is as follows:
...@@ -58,7 +58,7 @@ The process of configuring Review Apps is as follows: ...@@ -58,7 +58,7 @@ The process of configuring Review Apps is as follows:
1. Set up a job in `.gitlab-ci.yml` that uses the [predefined CI environment variable](../variables/README.md) `${CI_COMMIT_REF_NAME}` 1. Set up a job in `.gitlab-ci.yml` that uses the [predefined CI environment variable](../variables/README.md) `${CI_COMMIT_REF_NAME}`
to create dynamic environments and restrict it to run only on branches. to create dynamic environments and restrict it to run only on branches.
Alternatively, you can get a YML template for this job by [enabling review apps](#enable-review-apps-button) for your project. Alternatively, you can get a YML template for this job by [enabling review apps](#enable-review-apps-button) for your project.
1. Optionally, set a job that [manually stops](../environments.md#stopping-an-environment) the Review Apps. 1. Optionally, set a job that [manually stops](../environments/index.md#stopping-an-environment) the Review Apps.
### Enable Review Apps button ### Enable Review Apps button
...@@ -82,7 +82,7 @@ you can copy and paste into `.gitlab-ci.yml` as a starting point. To do so: ...@@ -82,7 +82,7 @@ you can copy and paste into `.gitlab-ci.yml` as a starting point. To do so:
## Review Apps auto-stop ## Review Apps auto-stop
See how to [configure Review Apps environments to expire and auto-stop](../environments.md#environments-auto-stop) See how to [configure Review Apps environments to expire and auto-stop](../environments/index.md#environments-auto-stop)
after a given period of time. after a given period of time.
## Review Apps examples ## Review Apps examples
...@@ -100,7 +100,7 @@ See also the video [Demo: Cloud Native Development with GitLab](https://www.yout ...@@ -100,7 +100,7 @@ See also the video [Demo: Cloud Native Development with GitLab](https://www.yout
> Introduced in GitLab 8.17. In GitLab 11.5, the file links are available in the merge request widget. > Introduced in GitLab 8.17. In GitLab 11.5, the file links are available in the merge request widget.
Route Maps allows you to go directly from source files Route Maps allows you to go directly from source files
to public pages on the [environment](../environments.md) defined for to public pages on the [environment](../environments/index.md) defined for
Review Apps. Review Apps.
Once set up, the review app link in the merge request Once set up, the review app link in the merge request
...@@ -301,4 +301,4 @@ automatically in the respective merge request. ...@@ -301,4 +301,4 @@ automatically in the respective merge request.
## Limitations ## Limitations
Review App limitations are the same as [environments limitations](../environments.md#limitations). Review App limitations are the same as [environments limitations](../environments/index.md#limitations).
...@@ -431,9 +431,9 @@ Click [here](where_variables_can_be_used.md) for a section that describes where ...@@ -431,9 +431,9 @@ Click [here](where_variables_can_be_used.md) for a section that describes where
### Limit the environment scopes of environment variables ### Limit the environment scopes of environment variables
You can limit the environment scope of a variable by You can limit the environment scope of a variable by
[defining which environments](../environments.md) it can be available for. [defining which environments](../environments/index.md) it can be available for.
To learn more about scoping environments, see [Scoping environments with specs](../environments.md#scoping-environments-with-specs). To learn more about scoping environments, see [Scoping environments with specs](../environments/index.md#scoping-environments-with-specs).
### Deployment environment variables ### Deployment environment variables
...@@ -442,7 +442,7 @@ To learn more about scoping environments, see [Scoping environments with specs]( ...@@ -442,7 +442,7 @@ To learn more about scoping environments, see [Scoping environments with specs](
[Integrations](../../user/project/integrations/overview.md) that are [Integrations](../../user/project/integrations/overview.md) that are
responsible for deployment configuration may define their own variables that responsible for deployment configuration may define their own variables that
are set in the build environment. These variables are only defined for are set in the build environment. These variables are only defined for
[deployment jobs](../environments.md). Please consult the documentation of [deployment jobs](../environments/index.md). Please consult the documentation of
the integrations that you are using to learn which variables they define. the integrations that you are using to learn which variables they define.
An example integration that defines deployment variables is the An example integration that defines deployment variables is the
......
...@@ -1871,7 +1871,7 @@ Manual actions are a special type of job that are not executed automatically, ...@@ -1871,7 +1871,7 @@ Manual actions are a special type of job that are not executed automatically,
they need to be explicitly started by a user. An example usage of manual actions they need to be explicitly started by a user. An example usage of manual actions
would be a deployment to a production environment. Manual actions can be started would be a deployment to a production environment. Manual actions can be started
from the pipeline, job, environment, and deployment views. Read more at the from the pipeline, job, environment, and deployment views. Read more at the
[environments documentation](../environments.md#configuring-manual-deployments). [environments documentation](../environments/index.md#configuring-manual-deployments).
Manual actions can be either optional or blocking. Blocking manual actions will Manual actions can be either optional or blocking. Blocking manual actions will
block the execution of the pipeline at the stage this action is defined in. It's block the execution of the pipeline at the stage this action is defined in. It's
...@@ -1984,7 +1984,7 @@ GitLab Runner will pick your job soon and start the job. ...@@ -1984,7 +1984,7 @@ GitLab Runner will pick your job soon and start the job.
> - Introduced in GitLab 8.9. > - Introduced in GitLab 8.9.
> - You can read more about environments and find more examples in the > - You can read more about environments and find more examples in the
> [documentation about environments](../environments.md). > [documentation about environments](../environments/index.md).
`environment` is used to define that a job deploys to a specific environment. `environment` is used to define that a job deploys to a specific environment.
If `environment` is specified and no environment under that name exists, a new If `environment` is specified and no environment under that name exists, a new
...@@ -2114,7 +2114,7 @@ GitLab's web interface in order to run. ...@@ -2114,7 +2114,7 @@ GitLab's web interface in order to run.
Also in the example, `GIT_STRATEGY` is set to `none` so that GitLab Runner won’t Also in the example, `GIT_STRATEGY` is set to `none` so that GitLab Runner won’t
try to check out the code after the branch is deleted when the `stop_review_app` try to check out the code after the branch is deleted when the `stop_review_app`
job is [automatically triggered](../environments.md#automatically-stopping-an-environment). job is [automatically triggered](../environments/index.md#automatically-stopping-an-environment).
NOTE: **Note:** NOTE: **Note:**
The above example overwrites global variables. If your stop environment job depends The above example overwrites global variables. If your stop environment job depends
...@@ -2150,7 +2150,7 @@ When `review_app` job is executed and a review app is created, a life period of ...@@ -2150,7 +2150,7 @@ When `review_app` job is executed and a review app is created, a life period of
the environment is set to `1 day`. the environment is set to `1 day`.
For more information, see For more information, see
[the environments auto-stop documentation](../environments.md#environments-auto-stop) [the environments auto-stop documentation](../environments/index.md#environments-auto-stop)
#### `environment:kubernetes` #### `environment:kubernetes`
...@@ -2176,7 +2176,7 @@ environment, using the `production` ...@@ -2176,7 +2176,7 @@ environment, using the `production`
[Kubernetes namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/). [Kubernetes namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/).
For more information, see For more information, see
[Available settings for `kubernetes`](../environments.md#configuring-kubernetes-deployments). [Available settings for `kubernetes`](../environments/index.md#configuring-kubernetes-deployments).
NOTE: **Note:** NOTE: **Note:**
Kubernetes configuration is not supported for Kubernetes clusters Kubernetes configuration is not supported for Kubernetes clusters
......
...@@ -102,10 +102,10 @@ subgraph "CNG-mirror pipeline" ...@@ -102,10 +102,10 @@ subgraph "CNG-mirror pipeline"
### Auto-stopping of Review Apps ### Auto-stopping of Review Apps
Review Apps are automatically stopped 2 days after the last deployment thanks to Review Apps are automatically stopped 2 days after the last deployment thanks to
the [Environment auto-stop](../../ci/environments.md#environments-auto-stop) feature. the [Environment auto-stop](../../ci/environments/index.md#environments-auto-stop) feature.
If you need your Review App to stay up for a longer time, you can If you need your Review App to stay up for a longer time, you can
[pin its environment](../../ci/environments.md#auto-stop-example) or retry the [pin its environment](../../ci/environments/index.md#auto-stop-example) or retry the
`review-deploy` job to update the "latest deployed at" time. `review-deploy` job to update the "latest deployed at" time.
The `review-cleanup` job that automatically runs in scheduled The `review-cleanup` job that automatically runs in scheduled
......
...@@ -179,7 +179,7 @@ into your project and edit it as needed. ...@@ -179,7 +179,7 @@ into your project and edit it as needed.
For clusters not managed by GitLab, you can customize the namespace in For clusters not managed by GitLab, you can customize the namespace in
`.gitlab-ci.yml` by specifying `.gitlab-ci.yml` by specifying
[`environment:kubernetes:namespace`](../../ci/environments.md#configuring-kubernetes-deployments). [`environment:kubernetes:namespace`](../../ci/environments/index.md#configuring-kubernetes-deployments).
For example, the following configuration overrides the namespace used for For example, the following configuration overrides the namespace used for
`production` deployments: `production` deployments:
...@@ -269,7 +269,7 @@ You must define environment-scoped variables for `POSTGRES_ENABLED` and ...@@ -269,7 +269,7 @@ You must define environment-scoped variables for `POSTGRES_ENABLED` and
`DATABASE_URL` in your project's CI/CD settings: `DATABASE_URL` in your project's CI/CD settings:
1. Disable the built-in PostgreSQL installation for the required environments using 1. Disable the built-in PostgreSQL installation for the required environments using
scoped [environment variables](../../ci/environments.md#scoping-environments-with-specs). scoped [environment variables](../../ci/environments/index.md#scoping-environments-with-specs).
For this use case, it's likely that only `production` will need to be added to this For this use case, it's likely that only `production` will need to be added to this
list. The built-in PostgreSQL setup for Review Apps and staging is sufficient. list. The built-in PostgreSQL setup for Review Apps and staging is sufficient.
...@@ -534,7 +534,7 @@ required to go from `10%` to `100%`, you can jump to whatever job you want. ...@@ -534,7 +534,7 @@ required to go from `10%` to `100%`, you can jump to whatever job you want.
You can also scale down by running a lower percentage job, just before hitting You can also scale down by running a lower percentage job, just before hitting
`100%`. Once you get to `100%`, you can't scale down, and you'd have to roll `100%`. Once you get to `100%`, you can't scale down, and you'd have to roll
back by redeploying the old version using the back by redeploying the old version using the
[rollback button](../../ci/environments.md#retrying-and-rolling-back) in the [rollback button](../../ci/environments/index.md#retrying-and-rolling-back) in the
environment page. environment page.
Below, you can see how the pipeline will look if the rollout or staging Below, you can see how the pipeline will look if the rollout or staging
......
...@@ -215,12 +215,12 @@ you to common environment tasks: ...@@ -215,12 +215,12 @@ you to common environment tasks:
about the Kubernetes cluster and how the application about the Kubernetes cluster and how the application
affects it in terms of memory usage, CPU usage, and latency affects it in terms of memory usage, CPU usage, and latency
- **Deploy to** (**{play}** **{angle-down}**) - Displays a list of environments you can deploy to - **Deploy to** (**{play}** **{angle-down}**) - Displays a list of environments you can deploy to
- **Terminal** (**{terminal}**) - Opens a [web terminal](../../ci/environments.md#web-terminals) - **Terminal** (**{terminal}**) - Opens a [web terminal](../../ci/environments/index.md#web-terminals)
session inside the container where the application is running session inside the container where the application is running
- **Re-deploy to environment** (**{repeat}**) - For more information, see - **Re-deploy to environment** (**{repeat}**) - For more information, see
[Retrying and rolling back](../../ci/environments.md#retrying-and-rolling-back) [Retrying and rolling back](../../ci/environments/index.md#retrying-and-rolling-back)
- **Stop environment** (**{stop}**) - For more information, see - **Stop environment** (**{stop}**) - For more information, see
[Stopping an environment](../../ci/environments.md#stopping-an-environment) [Stopping an environment](../../ci/environments/index.md#stopping-an-environment)
GitLab displays the [Deploy Board](../../user/project/deploy_boards.md) below the GitLab displays the [Deploy Board](../../user/project/deploy_boards.md) below the
environment's information, with squares representing pods in your environment's information, with squares representing pods in your
......
...@@ -538,7 +538,7 @@ may require commands to be wrapped as follows: ...@@ -538,7 +538,7 @@ may require commands to be wrapped as follows:
Some of the reasons you may need to wrap commands: Some of the reasons you may need to wrap commands:
- Attaching using `kubectl exec`. - Attaching using `kubectl exec`.
- Using GitLab's [Web Terminal](../../ci/environments.md#web-terminals). - Using GitLab's [Web Terminal](../../ci/environments/index.md#web-terminals).
For example, to start a Rails console from the application root directory, run: For example, to start a Rails console from the application root directory, run:
...@@ -572,7 +572,7 @@ To use Auto Monitoring: ...@@ -572,7 +572,7 @@ To use Auto Monitoring:
1. [Enable Auto DevOps](index.md#enablingdisabling-auto-devops), if you haven't done already. 1. [Enable Auto DevOps](index.md#enablingdisabling-auto-devops), if you haven't done already.
1. Navigate to your project's **{rocket}** **CI/CD > Pipelines** and click **Run Pipeline**. 1. Navigate to your project's **{rocket}** **CI/CD > Pipelines** and click **Run Pipeline**.
1. After the pipeline finishes successfully, open the 1. After the pipeline finishes successfully, open the
[monitoring dashboard for a deployed environment](../../ci/environments.md#monitoring-environments) [monitoring dashboard for a deployed environment](../../ci/environments/index.md#monitoring-environments)
to view the metrics of your deployed application. To view the metrics of the to view the metrics of your deployed application. To view the metrics of the
whole Kubernetes cluster, navigate to **{cloud-gear}** **Operations > Metrics**. whole Kubernetes cluster, navigate to **{cloud-gear}** **Operations > Metrics**.
......
...@@ -164,7 +164,7 @@ deleted, you can choose to retain the [persistent ...@@ -164,7 +164,7 @@ deleted, you can choose to retain the [persistent
volume](#retain-persistent-volumes). volume](#retain-persistent-volumes).
TIP: **Tip:** You can also TIP: **Tip:** You can also
[scope](../../ci/environments.md#scoping-environments-with-specs) the [scope](../../ci/environments/index.md#scoping-environments-with-specs) the
`AUTO_DEVOPS_POSTGRES_CHANNEL`, `AUTO_DEVOPS_POSTGRES_DELETE_V1` and `AUTO_DEVOPS_POSTGRES_CHANNEL`, `AUTO_DEVOPS_POSTGRES_DELETE_V1` and
`POSTGRES_VERSION` variables to specific environments, e.g. `staging`. `POSTGRES_VERSION` variables to specific environments, e.g. `staging`.
...@@ -176,7 +176,7 @@ TIP: **Tip:** You can also ...@@ -176,7 +176,7 @@ TIP: **Tip:** You can also
1. Set `POSTGRES_VERSION` to `11.7`. This is the minimum PostgreSQL 1. Set `POSTGRES_VERSION` to `11.7`. This is the minimum PostgreSQL
version supported. version supported.
1. Set `PRODUCTION_REPLICAS` to `0`. For other environments, use 1. Set `PRODUCTION_REPLICAS` to `0`. For other environments, use
`REPLICAS` with an [environment scope](../../ci/environments.md#scoping-environments-with-specs). `REPLICAS` with an [environment scope](../../ci/environments/index.md#scoping-environments-with-specs).
1. If you have set the `DB_INITIALIZE` or `DB_MIGRATE` variables, either 1. If you have set the `DB_INITIALIZE` or `DB_MIGRATE` variables, either
remove the variables, or rename the variables temporarily to remove the variables, or rename the variables temporarily to
`XDB_INITIALIZE` or the `XDB_MIGRATE` to effectively disable them. `XDB_INITIALIZE` or the `XDB_MIGRATE` to effectively disable them.
......
...@@ -21,7 +21,7 @@ The Web Application Firewall section provides metrics for the NGINX ...@@ -21,7 +21,7 @@ The Web Application Firewall section provides metrics for the NGINX
Ingress controller and ModSecurity firewall. This section has the Ingress controller and ModSecurity firewall. This section has the
following prerequisites: following prerequisites:
- Project has to have at least one [environment](../../../ci/environments.md). - Project has to have at least one [environment](../../../ci/environments/index.md).
- [Web Application Firewall](../../clusters/applications.md#web-application-firewall-modsecurity) has to be enabled. - [Web Application Firewall](../../clusters/applications.md#web-application-firewall-modsecurity) has to be enabled.
- [Elastic Stack](../../clusters/applications.md#web-application-firewall-modsecurity) has to be installed. - [Elastic Stack](../../clusters/applications.md#web-application-firewall-modsecurity) has to be installed.
...@@ -48,7 +48,7 @@ The **Container Network Policy** section provides packet flow metrics for ...@@ -48,7 +48,7 @@ The **Container Network Policy** section provides packet flow metrics for
your application's Kubernetes namespace. This section has the following your application's Kubernetes namespace. This section has the following
prerequisites: prerequisites:
- Your project contains at least one [environment](../../../ci/environments.md) - Your project contains at least one [environment](../../../ci/environments/index.md)
- You've [installed Cilium](../../clusters/applications.md#install-cilium-using-gitlab-cicd) - You've [installed Cilium](../../clusters/applications.md#install-cilium-using-gitlab-cicd)
- You've configured the [Prometheus service](../../project/integrations/prometheus.md#enabling-prometheus-integration) - You've configured the [Prometheus service](../../project/integrations/prometheus.md#enabling-prometheus-integration)
......
...@@ -10,7 +10,7 @@ GitLab provides **GitLab Managed Apps**, a one-click install for various applica ...@@ -10,7 +10,7 @@ GitLab provides **GitLab Managed Apps**, a one-click install for various applica
be added directly to your configured cluster. be added directly to your configured cluster.
These applications are needed for [Review Apps](../../ci/review_apps/index.md) These applications are needed for [Review Apps](../../ci/review_apps/index.md)
and [deployments](../../ci/environments.md) when using [Auto DevOps](../../topics/autodevops/index.md). and [deployments](../../ci/environments/index.md) when using [Auto DevOps](../../topics/autodevops/index.md).
You can install them after you You can install them after you
[create a cluster](../project/clusters/add_remove_clusters.md). [create a cluster](../project/clusters/add_remove_clusters.md).
......
...@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/13392) for group-level clusters in [GitLab Premium](https://about.gitlab.com/pricing/) 12.3. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/13392) for group-level clusters in [GitLab Premium](https://about.gitlab.com/pricing/) 12.3.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/14809) for instance-level clusters in [GitLab Premium](https://about.gitlab.com/pricing/) 12.4. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/14809) for instance-level clusters in [GitLab Premium](https://about.gitlab.com/pricing/) 12.4.
Cluster environments provide a consolidated view of which CI [environments](../../ci/environments.md) are Cluster environments provide a consolidated view of which CI [environments](../../ci/environments/index.md) are
deployed to the Kubernetes cluster and it: deployed to the Kubernetes cluster and it:
- Shows the project and the relevant environment related to the deployment. - Shows the project and the relevant environment related to the deployment.
......
...@@ -103,7 +103,7 @@ The domain should have a wildcard DNS configured to the Ingress IP address. ...@@ -103,7 +103,7 @@ The domain should have a wildcard DNS configured to the Ingress IP address.
When adding more than one Kubernetes cluster to your project, you need to differentiate When adding more than one Kubernetes cluster to your project, you need to differentiate
them with an environment scope. The environment scope associates clusters with them with an environment scope. The environment scope associates clusters with
[environments](../../../ci/environments.md) similar to how the [environments](../../../ci/environments/index.md) similar to how the
[environment-specific variables](../../../ci/variables/README.md#limit-the-environment-scopes-of-environment-variables) [environment-specific variables](../../../ci/variables/README.md#limit-the-environment-scopes-of-environment-variables)
work. work.
...@@ -157,7 +157,7 @@ The result is: ...@@ -157,7 +157,7 @@ The result is:
## Cluster environments **(PREMIUM)** ## Cluster environments **(PREMIUM)**
For a consolidated view of which CI [environments](../../../ci/environments.md) For a consolidated view of which CI [environments](../../../ci/environments/index.md)
are deployed to the Kubernetes cluster, see the documentation for are deployed to the Kubernetes cluster, see the documentation for
[cluster environments](../../clusters/environments.md). [cluster environments](../../clusters/environments.md).
......
...@@ -12,7 +12,7 @@ projects. ...@@ -12,7 +12,7 @@ projects.
## Cluster precedence ## Cluster precedence
GitLab will try [to match](../../../ci/environments.md#scoping-environments-with-specs) clusters in GitLab will try [to match](../../../ci/environments/index.md#scoping-environments-with-specs) clusters in
the following order: the following order:
- Project-level clusters. - Project-level clusters.
...@@ -20,11 +20,11 @@ the following order: ...@@ -20,11 +20,11 @@ the following order:
- Instance-level clusters. - Instance-level clusters.
To be selected, the cluster must be enabled and To be selected, the cluster must be enabled and
match the [environment selector](../../../ci/environments.md#scoping-environments-with-specs). match the [environment selector](../../../ci/environments/index.md#scoping-environments-with-specs).
## Cluster environments **(PREMIUM)** ## Cluster environments **(PREMIUM)**
For a consolidated view of which CI [environments](../../../ci/environments.md) For a consolidated view of which CI [environments](../../../ci/environments/index.md)
are deployed to the Kubernetes cluster, see the documentation for are deployed to the Kubernetes cluster, see the documentation for
[cluster environments](../../clusters/environments.md). [cluster environments](../../clusters/environments.md).
......
...@@ -57,7 +57,7 @@ Some GitLab features may support versions outside the range provided here. ...@@ -57,7 +57,7 @@ Some GitLab features may support versions outside the range provided here.
### Deploy Boards **(PREMIUM)** ### Deploy Boards **(PREMIUM)**
GitLab's Deploy Boards offer a consolidated view of the current health and GitLab's Deploy Boards offer a consolidated view of the current health and
status of each CI [environment](../../../ci/environments.md) running on Kubernetes, status of each CI [environment](../../../ci/environments/index.md) running on Kubernetes,
displaying the status of the pods in the deployment. Developers and other 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 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. workflow they already use without any need to access Kubernetes.
...@@ -102,8 +102,8 @@ Kubernetes clusters can be used without Auto DevOps. ...@@ -102,8 +102,8 @@ Kubernetes clusters can be used without Auto DevOps.
> Introduced in GitLab 8.15. > Introduced in GitLab 8.15.
When enabled, the Kubernetes integration adds [web terminal](../../../ci/environments.md#web-terminals) When enabled, the Kubernetes integration adds [web terminal](../../../ci/environments/index.md#web-terminals)
support to your [environments](../../../ci/environments.md). This is based on the `exec` functionality found in support to your [environments](../../../ci/environments/index.md). This is based on the `exec` functionality found in
Docker and Kubernetes, so you get a new shell session within your existing Docker and Kubernetes, so you get a new shell session within your existing
containers. To use this integration, you should deploy to Kubernetes using containers. To use this integration, you should deploy to Kubernetes using
the deployment variables above, ensuring any deployments, replica sets, and the deployment variables above, ensuring any deployments, replica sets, and
...@@ -205,7 +205,7 @@ you can either: ...@@ -205,7 +205,7 @@ you can either:
### Setting the environment scope **(PREMIUM)** ### Setting the environment scope **(PREMIUM)**
When adding more than one Kubernetes cluster to your project, you need to differentiate When adding more than one Kubernetes cluster to your project, you need to differentiate
them with an environment scope. The environment scope associates clusters with [environments](../../../ci/environments.md) similar to how the them with an environment scope. The environment scope associates clusters with [environments](../../../ci/environments/index.md) similar to how the
[environment-specific variables](../../../ci/variables/README.md#limit-the-environment-scopes-of-environment-variables) work. [environment-specific variables](../../../ci/variables/README.md#limit-the-environment-scopes-of-environment-variables) work.
The default environment scope is `*`, which means all jobs, regardless of their The default environment scope is `*`, which means all jobs, regardless of their
...@@ -321,7 +321,7 @@ of the form `<project_name>-<project_id>-<environment>` (see [Deployment ...@@ -321,7 +321,7 @@ of the form `<project_name>-<project_id>-<environment>` (see [Deployment
variables](#deployment-variables)). variables](#deployment-variables)).
For **non**-GitLab-managed clusters, the namespace can be customized using For **non**-GitLab-managed clusters, the namespace can be customized using
[`environment:kubernetes:namespace`](../../../ci/environments.md#configuring-kubernetes-deployments) [`environment:kubernetes:namespace`](../../../ci/environments/index.md#configuring-kubernetes-deployments)
in `.gitlab-ci.yml`. in `.gitlab-ci.yml`.
NOTE: **Note:** When using a [GitLab-managed cluster](#gitlab-managed-clusters), the NOTE: **Note:** When using a [GitLab-managed cluster](#gitlab-managed-clusters), the
...@@ -349,7 +349,7 @@ Reasons for failure include: ...@@ -349,7 +349,7 @@ Reasons for failure include:
- The token you gave GitLab does not have [`cluster-admin`](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles) - The token you gave GitLab does not have [`cluster-admin`](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)
privileges required by GitLab. privileges required by GitLab.
- Missing `KUBECONFIG` or `KUBE_TOKEN` variables. To be passed to your job, they must have a matching - Missing `KUBECONFIG` or `KUBE_TOKEN` variables. To be passed to your job, they must have a matching
[`environment:name`](../../../ci/environments.md#defining-environments). If your job has no [`environment:name`](../../../ci/environments/index.md#defining-environments). If your job has no
`environment:name` set, it will not be passed the Kubernetes credentials. `environment:name` set, it will not be passed the Kubernetes credentials.
NOTE: **NOTE:** NOTE: **NOTE:**
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/1589) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.0. > [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/1589) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.0.
GitLab's Deploy Boards offer a consolidated view of the current health and GitLab's Deploy Boards offer a consolidated view of the current health and
status of each CI [environment](../../ci/environments.md) running on [Kubernetes](https://kubernetes.io), displaying the status status of each CI [environment](../../ci/environments/index.md) running on [Kubernetes](https://kubernetes.io), displaying the status
of the pods in the deployment. Developers and other teammates can view the 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 progress and status of a rollout, pod by pod, in the workflow they already use
without any need to access Kubernetes. without any need to access Kubernetes.
...@@ -57,9 +57,9 @@ specific environment, there are a lot of use cases. To name a few: ...@@ -57,9 +57,9 @@ specific environment, there are a lot of use cases. To name a few:
## Enabling Deploy Boards ## Enabling Deploy Boards
To display the Deploy Boards for a specific [environment](../../ci/environments.md) you should: To display the Deploy Boards for a specific [environment](../../ci/environments/index.md) you should:
1. Have [defined an environment](../../ci/environments.md#defining-environments) with a deploy stage. 1. Have [defined an environment](../../ci/environments/index.md#defining-environments) with a deploy stage.
1. Have a Kubernetes cluster up and running. 1. Have a Kubernetes cluster up and running.
...@@ -146,5 +146,5 @@ version of your application. ...@@ -146,5 +146,5 @@ version of your application.
- [GitLab Autodeploy](../../topics/autodevops/stages.md#auto-deploy) - [GitLab Autodeploy](../../topics/autodevops/stages.md#auto-deploy)
- [GitLab CI/CD environment variables](../../ci/variables/README.md) - [GitLab CI/CD environment variables](../../ci/variables/README.md)
- [Environments and deployments](../../ci/environments.md) - [Environments and deployments](../../ci/environments/index.md)
- [Kubernetes deploy example](https://gitlab.com/gitlab-examples/kubernetes-deploy) - [Kubernetes deploy example](https://gitlab.com/gitlab-examples/kubernetes-deploy)
...@@ -145,7 +145,7 @@ one of them will be used: ...@@ -145,7 +145,7 @@ one of them will be used:
[Cluster precedence](../../instance/clusters/index.md#cluster-precedence). [Cluster precedence](../../instance/clusters/index.md#cluster-precedence).
- If you have managed Prometheus applications installed on multiple Kubernetes - If you have managed Prometheus applications installed on multiple Kubernetes
clusters at the **same** level, the Prometheus application of a cluster with a clusters at the **same** level, the Prometheus application of a cluster with a
matching [environment scope](../../../ci/environments.md#scoping-environments-with-specs) is used. matching [environment scope](../../../ci/environments/index.md#scoping-environments-with-specs) is used.
## Monitoring CI/CD Environments ## Monitoring CI/CD Environments
...@@ -154,7 +154,7 @@ environment which has had a successful deployment. ...@@ -154,7 +154,7 @@ environment which has had a successful deployment.
GitLab will automatically scan the Prometheus server for metrics from known servers like Kubernetes and NGINX, and attempt to identify individual environments. The supported metrics and scan process is detailed in our [Prometheus Metrics Library documentation](prometheus_library/index.md). GitLab will automatically scan the Prometheus server for metrics from known servers like Kubernetes and NGINX, and attempt to identify individual environments. The supported metrics and scan process is detailed in our [Prometheus Metrics Library documentation](prometheus_library/index.md).
You can view the performance dashboard for an environment by [clicking on the monitoring button](../../../ci/environments.md#monitoring-environments). You can view the performance dashboard for an environment by [clicking on the monitoring button](../../../ci/environments/index.md#monitoring-environments).
### Adding custom metrics ### Adding custom metrics
...@@ -882,7 +882,7 @@ receivers: ...@@ -882,7 +882,7 @@ receivers:
... ...
``` ```
In order for GitLab to associate your alerts with an [environment](../../../ci/environments.md), you need to configure a `gitlab_environment_name` label on the alerts you set up in Prometheus. The value of this should match the name of your Environment in GitLab. In order for GitLab to associate your alerts with an [environment](../../../ci/environments/index.md), you need to configure a `gitlab_environment_name` label on the alerts you set up in Prometheus. The value of this should match the name of your Environment in GitLab.
### Taking action on incidents **(ULTIMATE)** ### Taking action on incidents **(ULTIMATE)**
......
...@@ -111,7 +111,7 @@ you will be able to see: ...@@ -111,7 +111,7 @@ you will be able to see:
- Both pre and post-merge pipelines and the environment information if any. - Both pre and post-merge pipelines and the environment information if any.
- Which deployments are in progress. - Which deployments are in progress.
If there's an [environment](../../../ci/environments.md) and the application is If there's an [environment](../../../ci/environments/index.md) and the application is
successfully deployed to it, the deployed environment and the link to the successfully deployed to it, the deployed environment and the link to the
Review App will be shown as well. Review App will be shown as well.
......
...@@ -73,22 +73,22 @@ For example, you may not want to enable a feature flag on production until your ...@@ -73,22 +73,22 @@ For example, you may not want to enable a feature flag on production until your
first confirmed that the feature is working correctly on testing environments. first confirmed that the feature is working correctly on testing environments.
To handle these situations, you can enable a feature flag on a particular environment To handle these situations, you can enable a feature flag on a particular environment
with [Environment specs](../../../ci/environments.md#scoping-environments-with-specs). with [Environment specs](../../../ci/environments/index.md#scoping-environments-with-specs).
You can define multiple specs per flag so that you can control your feature flag more granularly. You can define multiple specs per flag so that you can control your feature flag more granularly.
To define specs for each environment: To define specs for each environment:
1. Navigate to your project's **Operations > Feature Flags**. 1. Navigate to your project's **Operations > Feature Flags**.
1. Click on the **New Feature Flag** button or edit an existing flag. 1. Click on the **New Feature Flag** button or edit an existing flag.
1. Set the status of the default [spec](../../../ci/environments.md#scoping-environments-with-specs) (`*`). Choose a rollout strategy. This status and rollout strategy combination will be used for _all_ environments. 1. Set the status of the default [spec](../../../ci/environments/index.md#scoping-environments-with-specs) (`*`). Choose a rollout strategy. This status and rollout strategy combination will be used for _all_ environments.
1. If you want to enable/disable the feature on a specific environment, create a new [spec](../../../ci/environments.md#scoping-environments-with-specs) and type the environment name. 1. If you want to enable/disable the feature on a specific environment, create a new [spec](../../../ci/environments/index.md#scoping-environments-with-specs) and type the environment name.
1. Set the status and rollout strategy of the additional spec. This status and rollout strategy combination takes precedence over the default spec since we always use the most specific match available. 1. Set the status and rollout strategy of the additional spec. This status and rollout strategy combination takes precedence over the default spec since we always use the most specific match available.
1. Click **Create feature flag** or **Update feature flag**. 1. Click **Create feature flag** or **Update feature flag**.
![Feature flag specs list](img/specs_list_v12_6.png) ![Feature flag specs list](img/specs_list_v12_6.png)
NOTE: **NOTE** NOTE: **NOTE**
We'd highly recommend you to use the [Environment](../../../ci/environments.md) We'd highly recommend you to use the [Environment](../../../ci/environments/index.md)
feature in order to quickly assess which flag is enabled per environment. feature in order to quickly assess which flag is enabled per environment.
## Feature flag behavior change in 13.0 ## Feature flag behavior change in 13.0
...@@ -122,7 +122,7 @@ make a strategy apply to a specific environment spec: ...@@ -122,7 +122,7 @@ make a strategy apply to a specific environment spec:
1. Click the **Add Environment** button. 1. Click the **Add Environment** button.
1. Create a new 1. Create a new
[spec](../../../ci/environments.md#scoping-environments-with-specs). [spec](../../../ci/environments/index.md#scoping-environments-with-specs).
To apply the strategy to multiple environment specs, repeat these steps. To apply the strategy to multiple environment specs, repeat these steps.
......
...@@ -4,7 +4,7 @@ GitLab provides a variety of tools to help operate and maintain ...@@ -4,7 +4,7 @@ GitLab provides a variety of tools to help operate and maintain
your applications: your applications:
- Collect [Prometheus metrics](../integrations/prometheus_library/index.md). - Collect [Prometheus metrics](../integrations/prometheus_library/index.md).
- Deploy to different [environments](../../../ci/environments.md). - Deploy to different [environments](../../../ci/environments/index.md).
- Connect your project to a [Kubernetes cluster](../clusters/index.md). - Connect your project to a [Kubernetes cluster](../clusters/index.md).
- Manage your infrastructure with [Infrastructure as Code](../../infrastructure/index.md) approaches. - Manage your infrastructure with [Infrastructure as Code](../../infrastructure/index.md) approaches.
- Discover and view errors generated by your applications with [Error Tracking](error_tracking.md). - Discover and view errors generated by your applications with [Error Tracking](error_tracking.md).
......
...@@ -13,7 +13,7 @@ You can add a button to the Monitoring dashboard linking directly to your existi ...@@ -13,7 +13,7 @@ You can add a button to the Monitoring dashboard linking directly to your existi
![External Dashboard Settings](img/external_dashboard_settings.png) ![External Dashboard Settings](img/external_dashboard_settings.png)
1. There should now be a button on your 1. There should now be a button on your
[Monitoring dashboard](../../../ci/environments.md#monitoring-environments) which [Monitoring dashboard](../../../ci/environments/index.md#monitoring-environments) which
will open the URL you entered in the above step. will open the URL you entered in the above step.
![External Dashboard Link](img/external_dashboard_link.png) ![External Dashboard Link](img/external_dashboard_link.png)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment