Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc/user
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-30 18:09:15 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-30 18:09:15 +0300
commit536aa3a1f4b96abc4ca34489bf2cbe503afcded7 (patch)
tree88d08f7dfa29a32d6526773c4fe0fefd9f2bc7d1 /doc/user
parent50ae4065530c4eafbeb7c5ff2c462c48c02947ca (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/user')
-rw-r--r--doc/user/admin_area/license.md2
-rw-r--r--doc/user/admin_area/monitoring/health_check.md6
-rw-r--r--doc/user/clusters/applications.md14
-rw-r--r--doc/user/group/saml_sso/scim_setup.md4
-rw-r--r--doc/user/packages/conan_repository/index.md32
-rw-r--r--doc/user/packages/container_registry/index.md12
-rw-r--r--doc/user/packages/dependency_proxy/index.md6
-rw-r--r--doc/user/packages/maven_repository/index.md2
-rw-r--r--doc/user/packages/npm_registry/index.md28
-rw-r--r--doc/user/packages/nuget_repository/index.md6
-rw-r--r--doc/user/packages/workflows/monorepo.md2
-rw-r--r--doc/user/packages/workflows/project_registry.md2
-rw-r--r--doc/user/profile/account/two_factor_authentication.md4
-rw-r--r--doc/user/profile/index.md2
-rw-r--r--doc/user/project/clusters/add_remove_clusters.md18
-rw-r--r--doc/user/project/clusters/serverless/aws.md4
-rw-r--r--doc/user/project/clusters/serverless/index.md38
-rw-r--r--doc/user/project/deploy_tokens/index.md6
-rw-r--r--doc/user/project/file_lock.md2
-rw-r--r--doc/user/project/import/svn.md10
-rw-r--r--doc/user/project/integrations/generic_alerts.md2
-rw-r--r--doc/user/project/integrations/jira.md2
-rw-r--r--doc/user/project/integrations/slack.md2
-rw-r--r--doc/user/project/issues/associate_zoom_meeting.md4
-rw-r--r--doc/user/project/issues/design_management.md6
-rw-r--r--doc/user/project/issues/managing_issues.md2
-rw-r--r--doc/user/project/merge_requests/allow_collaboration.md4
-rw-r--r--doc/user/project/merge_requests/cherry_pick_changes.md2
-rw-r--r--doc/user/project/merge_requests/creating_merge_requests.md8
-rw-r--r--doc/user/project/merge_requests/revert_changes.md2
-rw-r--r--doc/user/project/pages/getting_started_part_four.md2
-rw-r--r--doc/user/project/pages/lets_encrypt_for_gitlab_pages.md20
-rw-r--r--doc/user/project/pipelines/settings.md2
-rw-r--r--doc/user/project/repository/git_blame.md4
-rw-r--r--doc/user/project/repository/git_history.md4
-rw-r--r--doc/user/project/repository/repository_mirroring.md4
36 files changed, 138 insertions, 132 deletions
diff --git a/doc/user/admin_area/license.md b/doc/user/admin_area/license.md
index c9d8a457a51..fd74b2f311f 100644
--- a/doc/user/admin_area/license.md
+++ b/doc/user/admin_area/license.md
@@ -57,7 +57,7 @@ It is also possible to specify a custom location and filename for the license.
Source installations should set the `GITLAB_LICENSE_FILE` environment
variable with the path to a valid GitLab Enterprise Edition license.
-```sh
+```shell
export GITLAB_LICENSE_FILE="/path/to/license/file"
```
diff --git a/doc/user/admin_area/monitoring/health_check.md b/doc/user/admin_area/monitoring/health_check.md
index fe38c350f19..b0ad08e3b37 100644
--- a/doc/user/admin_area/monitoring/health_check.md
+++ b/doc/user/admin_area/monitoring/health_check.md
@@ -51,7 +51,7 @@ GET /-/health
Example request:
-```sh
+```shell
curl 'https://gitlab.example.com/-/health'
```
@@ -78,7 +78,7 @@ GET /-/readiness?all=1
Example request:
-```sh
+```shell
curl 'https://gitlab.example.com/-/readiness'
```
@@ -117,7 +117,7 @@ GET /-/liveness
Example request:
-```sh
+```shell
curl 'https://gitlab.example.com/-/liveness'
```
diff --git a/doc/user/clusters/applications.md b/doc/user/clusters/applications.md
index c502cd607d7..e8ef3c59b22 100644
--- a/doc/user/clusters/applications.md
+++ b/doc/user/clusters/applications.md
@@ -196,25 +196,25 @@ rules that allow external access to your deployed applications.
If you installed Ingress via the **Applications**, run the following command:
-```bash
+```shell
kubectl get service --namespace=gitlab-managed-apps ingress-nginx-ingress-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
```
Some Kubernetes clusters return a hostname instead, like [Amazon EKS](https://aws.amazon.com/eks/). For these platforms, run:
-```bash
+```shell
kubectl get service --namespace=gitlab-managed-apps ingress-nginx-ingress-controller -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
```
For Istio/Knative, the command will be different:
-```bash
+```shell
kubectl get svc --namespace=istio-system knative-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip} '
```
Otherwise, you can list the IP addresses of all load balancers:
-```bash
+```shell
kubectl get svc --all-namespaces -o jsonpath='{range.items[?(@.status.loadBalancer.ingress)]}{.status.loadBalancer.ingress[*].ip} '
```
@@ -264,7 +264,7 @@ This feature:
- Is viewable by checking your Ingress controller's `modsec` log for rule violations.
For example:
- ```sh
+ ```shell
kubectl logs -n gitlab-managed-apps $(kubectl get pod -n gitlab-managed-apps -l app=nginx-ingress,component=controller --no-headers=true -o custom-columns=:metadata.name) modsecurity-log -f
```
@@ -698,7 +698,7 @@ information.
By default, the drop log for traffic is logged out by the
`cilium-monitor` sidecar container. You can check these logs via:
-```bash
+```shell
kubectl -n gitlab-managed-apps logs cilium-XXXX cilium-monitor
```
@@ -784,7 +784,7 @@ To avoid installation errors:
You can confirm that the certificates match via `kubectl`:
- ```sh
+ ```shell
kubectl get configmaps/values-content-configuration-ingress -n gitlab-managed-apps -o \
"jsonpath={.data['cert\.pem']}" | base64 -d > a.pem
kubectl get secrets/tiller-secret -n gitlab-managed-apps -o "jsonpath={.data['ca\.crt']}" | base64 -d > b.pem
diff --git a/doc/user/group/saml_sso/scim_setup.md b/doc/user/group/saml_sso/scim_setup.md
index fe64afd23f6..c47b9bd25ef 100644
--- a/doc/user/group/saml_sso/scim_setup.md
+++ b/doc/user/group/saml_sso/scim_setup.md
@@ -189,7 +189,7 @@ Alternatively, the [SCIM API](../../../api/scim.md#get-a-list-of-saml-users) can
For example:
-```sh
+```shell
curl 'https://example.gitlab.com/api/scim/v2/groups/GROUP_NAME/Users?startIndex=1"' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
```
@@ -207,7 +207,7 @@ The [SCIM API](../../../api/scim.md#update-a-single-saml-user) can be used to ma
It is then possible to issue a manual SCIM#update request, for example:
-```sh
+```shell
curl --verbose --request PATCH 'https://gitlab.com/api/scim/v2/groups/YOUR_GROUP/Users/OLD_EXTERNAL_UID' --data '{ "Operations": [{"op":"Replace","path":"externalId","value":"NEW_EXTERNAL_UID"}] }' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
```
diff --git a/doc/user/packages/conan_repository/index.md b/doc/user/packages/conan_repository/index.md
index e9f86ebf4b2..2abfd08a5dd 100644
--- a/doc/user/packages/conan_repository/index.md
+++ b/doc/user/packages/conan_repository/index.md
@@ -33,7 +33,7 @@ Follow the instructions at [conan.io](https://conan.io/downloads.html) to downlo
Once installation is complete, verify you can use Conan in your terminal by running
-```sh
+```shell
conan --version
```
@@ -48,7 +48,7 @@ Conan version 1.20.5
When developing with C++ and Conan, you have a wide range of options for compilers. This tutorial walks through using the cmake
compiler. In your terminal, run the command
-```sh
+```shell
cmake --version
```
@@ -69,13 +69,13 @@ Clone the repo and it can be used for the rest of the tutorial if you don't have
In your terminal, navigate to the root folder of your project. Generate a new recipe by running `conan new` and providing it with a
package name and version:
-```sh
+```shell
conan new Hello/0.1 -t
```
Next, you will create a package for that recipe by running `conan create` providing the Conan user and channel:
-```sh
+```shell
conan create . my-org+my-group+my-project/beta
```
@@ -94,7 +94,7 @@ You are now ready to upload your package to the GitLab registry. To get started,
Add a new remote to your Conan configuration:
-```sh
+```shell
conan remote add gitlab https://gitlab.example.com/api/v4/packages/conan
```
@@ -102,7 +102,7 @@ Once the remote is set, you can use the remote when running Conan commands by ad
For example:
-```sh
+```shell
conan search Hello* --all --remote=gitlab
```
@@ -114,7 +114,7 @@ You will need to generate a [personal access token](../../../user/profile/person
Once you have a personal access token and have [set your Conan remote](#adding-the-gitlab-package-registry-as-a-conan-remote), you can associate the token with the remote so you do not have to explicitly add them to each Conan command you run:
-```sh
+```shell
conan user <gitlab-username> -r gitlab -p <personal_access_token>
```
@@ -129,7 +129,7 @@ The personal access token is not stored locally at any moment. Conan uses JWT, s
Alternatively, you could explicitly include your credentials in any given command.
For example:
-```sh
+```shell
CONAN_LOGIN_USERNAME=<gitlab-username> CONAN_PASSWORD=<personal_access_token> conan upload Hello/0.1@my-group+my-project/beta --all --remote=gitlab
```
@@ -137,7 +137,7 @@ CONAN_LOGIN_USERNAME=<gitlab-username> CONAN_PASSWORD=<personal_access_token> co
If you'd like Conan to always use GitLab as the registry for your package, you can tell Conan to always reference the GitLab remote for a given package recipe:
-```sh
+```shell
conan remote add_ref Hello/0.1@my-group+my-project/beta gitlab
```
@@ -147,7 +147,7 @@ This functionality is best suited for when you want to consume or install packag
The rest of the example commands in this documentation assume that you have added a Conan user with your credentials to the `gitlab` remote and will not include the explicit credentials or remote option, but be aware that any of the commands could be run without having added a user or default remote:
-```sh
+```shell
`CONAN_LOGIN_USERNAME=<gitlab-username> CONAN_PASSWORD=<personal_access_token> <conan command> --remote=gitlab
```
@@ -159,7 +159,7 @@ Ensure you have a project created on GitLab and that the personal access token y
You can upload your package to the GitLab Package Registry using the `conan upload` command:
-```sh
+```shell
conan upload Hello/0.1@my-group+my-project/beta --all
```
@@ -200,13 +200,13 @@ Add the Conan recipe to the `[requires]` section of the file:
Next, from the root of your project, create a build directory and navigate to it:
-```sh
+```shell
mkdir build && cd build
```
Now you can install the dependencies listed in `conanfile.txt`:
-```sh
+```shell
conan install ..
```
@@ -220,7 +220,7 @@ There are two ways to remove a Conan package from the GitLab Package Registry.
- **Using the Conan client in the command line:**
- ```sh
+ ```shell
conan remove Hello/0.2@user/channel --remote=gitlab
```
@@ -238,7 +238,7 @@ The `conan search` command can be run searching by full or partial package name,
To search using a partial name, use the wildcard symbol `*`, which should be placed at the end of your search (e.g., `my-packa*`):
-```sh
+```shell
conan search Hello --all --remote=gitlab
conan search He* --all --remote=gitlab
conan search Hello/0.1@my-group+my-project/beta --all --remote=gitlab
@@ -250,7 +250,7 @@ The scope of your search will include all projects you have permission to access
The `conan info` command will return info about a given package:
-```sh
+```shell
conan info Hello/0.1@my-group+my-project/beta
```
diff --git a/doc/user/packages/container_registry/index.md b/doc/user/packages/container_registry/index.md
index b10430633ff..c9e60d1497f 100644
--- a/doc/user/packages/container_registry/index.md
+++ b/doc/user/packages/container_registry/index.md
@@ -60,7 +60,7 @@ using your GitLab credentials.
For example if the Registry's URL is `registry.example.com`, then you should be
able to login with:
-```sh
+```shell
docker login registry.example.com
```
@@ -68,7 +68,7 @@ Building and publishing images should be a straightforward process. Just make
sure that you are using the Registry URL with the namespace and project name
that is hosted on GitLab:
-```sh
+```shell
docker build -t registry.example.com/group/project/image .
docker push registry.example.com/group/project/image
```
@@ -94,7 +94,7 @@ registry.example.com/group/project/my/image:rc1
To download and run a container from images hosted in GitLab Container Registry,
use `docker run`:
-```sh
+```shell
docker run [options] registry.example.com/group/project/image [arguments]
```
@@ -134,7 +134,7 @@ The minimal scope needed for both of them is `read_registry`.
Example of using a token:
-```sh
+```shell
docker login registry.example.com -u <username> -p <token>
```
@@ -153,13 +153,13 @@ Examples:
- Select all tags, keep at least 1 tag per image, expire any tag older than 14 days, run once a month, and the policy is enabled:
- ```bash
+ ```shell
curl --request PUT --header 'Content-Type: application/json;charset=UTF-8' --header "PRIVATE-TOKEN: <your_access_token>" --data-binary '{"container_expiration_policy_attributes":{"cadence":"1month","enabled":true,"keep_n":1,"older_than":"14d","name_regex":".*"}' 'https://gitlab.example.com/api/v4/projects/2'
```
- Select only tags with a name that contains `stable`, keep at least 50 tag per image, expire any tag older than 7 days, run every day, and the policy is enabled:
- ```bash
+ ```shell
curl --request PUT --header 'Content-Type: application/json;charset=UTF-8' --header "PRIVATE-TOKEN: <your_access_token>" --data-binary '{"container_expiration_policy_attributes":{"cadence":"1day","enabled":true,"keep_n":50"older_than":"7d","name_regex":"*stable"}' 'https://gitlab.example.com/api/v4/projects/2'
```
diff --git a/doc/user/packages/dependency_proxy/index.md b/doc/user/packages/dependency_proxy/index.md
index 1cebd734a99..7e15df7b433 100644
--- a/doc/user/packages/dependency_proxy/index.md
+++ b/doc/user/packages/dependency_proxy/index.md
@@ -41,19 +41,19 @@ To get a Docker image into the dependency proxy:
- Manually pulling the Docker image:
- ```bash
+ ```shell
docker pull gitlab.com/groupname/dependency_proxy/containers/alpine:latest
```
- From a `Dockerfile`:
- ```bash
+ ```shell
FROM gitlab.com/groupname/dependency_proxy/containers/alpine:latest
```
- In [`.gitlab-ci.yml`](../../../ci/yaml/README.md#image):
- ```bash
+ ```shell
image: gitlab.com/groupname/dependency_proxy/containers/alpine:latest
```
diff --git a/doc/user/packages/maven_repository/index.md b/doc/user/packages/maven_repository/index.md
index ea052703416..f65042d2684 100644
--- a/doc/user/packages/maven_repository/index.md
+++ b/doc/user/packages/maven_repository/index.md
@@ -261,7 +261,7 @@ Once you have set up the [authentication](#authenticating-to-the-gitlab-maven-re
and [configuration](#configuring-your-project-to-use-the-gitlab-maven-repository-url),
test to upload a Maven artifact from a project of yours:
-```sh
+```shell
mvn deploy
```
diff --git a/doc/user/packages/npm_registry/index.md b/doc/user/packages/npm_registry/index.md
index a0c82fd3e3c..58b4bf6a710 100644
--- a/doc/user/packages/npm_registry/index.md
+++ b/doc/user/packages/npm_registry/index.md
@@ -43,7 +43,7 @@ NPM to your local development environment.
Once installation is complete, verify you can use NPM in your terminal by
running:
-```sh
+```shell
npm --version
```
@@ -61,7 +61,7 @@ your development environment.
Once installed, you can verify that Yarn is available with the following command:
-```sh
+```shell
yarn --version
```
@@ -77,13 +77,13 @@ Understanding how to create a full JavaScript project is outside the scope of
this guide but you can initialize a new empty package by creating and navigating
to an empty directory and using the following command:
-```sh
+```shell
npm init
```
Or if you're using Yarn:
-```sh
+```shell
yarn init
```
@@ -110,7 +110,7 @@ If you have 2FA enabled, you need to use a [personal access token](../../profile
To authenticate with a [personal access token](../../profile/personal_access_tokens.md),
set your NPM configuration:
-```bash
+```shell
# Set URL for your scoped packages.
# For example package with name `@foo/bar` will use this URL for download
npm config set @foo:registry https://gitlab.com/api/v4/packages/npm/
@@ -140,7 +140,7 @@ If you encounter an error message with [Yarn](https://yarnpkg.com/en/), see the
To avoid hard-coding the `authToken` value, you may use a variables in its place:
-```bash
+```shell
npm config set '//gitlab.com/api/v4/projects/<your_project_id>/packages/npm/:_authToken' "${NPM_TOKEN}"
npm config set '//gitlab.com/api/v4/packages/npm/:_authToken' "${NPM_TOKEN}"
```
@@ -149,7 +149,7 @@ Then, you could run `npm publish` either locally or via GitLab CI/CD:
- **Locally:** Export `NPM_TOKEN` before publishing:
- ```sh
+ ```shell
NPM_TOKEN=<your_token> npm publish
```
@@ -191,7 +191,7 @@ domain name.
Once you have enabled it and set up [authentication](#authenticating-to-the-gitlab-npm-registry),
you can upload an NPM package to your project:
-```sh
+```shell
npm publish
```
@@ -248,7 +248,7 @@ NPM packages are commonly installed using the the `npm` or `yarn` commands
inside a JavaScript project. If you haven't already, you will need to set the
URL for scoped packages. You can do this with the following command:
-```sh
+```shell
npm config set @foo:registry https://gitlab.com/api/v4/packages/npm/
```
@@ -259,13 +259,13 @@ is setup so you can successfully install the package. Once this has been
completed, you can run the following command inside your project to install a
package:
-```sh
+```shell
npm install @my-project-scope/my-package
```
Or if you're using Yarn:
-```sh
+```shell
yarn add @my-project-scope/my-package
```
@@ -302,7 +302,7 @@ deploy:
If you are using [yarn](https://yarnpkg.com/en/) with the NPM registry, you may get
an error message like:
-```sh
+```shell
yarn install v1.15.2
warning package.json: No license field
info No lockfile found.
@@ -351,7 +351,7 @@ And the `.npmrc` file should look like:
You do not need a token to run `npm install` unless your project is private (the token is only required to publish). If the `.npmrc` file was checked in with a reference to `$NPM_TOKEN`, you can remove it. If you prefer to leave the reference in, you'll need to set a value prior to running `npm install` or set the value using [GitLab environment variables](./../../../ci/variables/README.md):
-```bash
+```shell
NPM_TOKEN=<your_token> npm install
```
@@ -384,7 +384,7 @@ a package without specifying the tag or version.
Examples of the supported `dist-tag` commands and using tags in general:
-```sh
+```shell
npm publish @scope/package --tag # Publish new package with new tag
npm dist-tag add @scope/package@version my-tag # Add a tag to an existing package
npm dist-tag ls @scope/package # List all tags under the package
diff --git a/doc/user/packages/nuget_repository/index.md b/doc/user/packages/nuget_repository/index.md
index 212641222f8..d32683e1d40 100644
--- a/doc/user/packages/nuget_repository/index.md
+++ b/doc/user/packages/nuget_repository/index.md
@@ -17,7 +17,7 @@ If you have [Visual Studio](https://visualstudio.microsoft.com/vs/), [nuget CLI]
You can confirm that [nuget CLI](https://www.nuget.org/) is properly installed with:
-```sh
+```shell
nuget help
```
@@ -63,7 +63,7 @@ You can now add a new source to nuget either using [nuget CLI](https://www.nuget
To add the GitLab NuGet Repository as a source with `nuget`:
-```sh
+```shell
nuget source Add -Name <source_name> -Source "https://example.gitlab.com/api/v4/projects/<your_project_id>/packages/nuget/index.json" -UserName <gitlab_username> -Password <gitlab_token>
```
@@ -77,7 +77,7 @@ Replace:
For example:
-```sh
+```shell
nuget source Add -Name "GitLab" -Source "https//gitlab.example/api/v4/projects/10/packages/nuget/index.json" -UserName carol -Password 12345678asdf
```
diff --git a/doc/user/packages/workflows/monorepo.md b/doc/user/packages/workflows/monorepo.md
index 9f281d2b31c..0c7fb4a1a20 100644
--- a/doc/user/packages/workflows/monorepo.md
+++ b/doc/user/packages/workflows/monorepo.md
@@ -76,7 +76,7 @@ Using the example project above, this `gitlab-ci.yml` file will publish
and publish `MyPackage` anytime changes are made to anywhere _except_ the `Foo`
directory on the `master` branch.
-```sh
+```shell
stages:
- build
diff --git a/doc/user/packages/workflows/project_registry.md b/doc/user/packages/workflows/project_registry.md
index d8c1c7c2861..df330931ac5 100644
--- a/doc/user/packages/workflows/project_registry.md
+++ b/doc/user/packages/workflows/project_registry.md
@@ -80,6 +80,6 @@ if your project is located at `https://gitlab.com/foo/bar/my-proj`, then you can
using `conan create . foo+bar+my-proj/channel`, where `channel` is your package channel (`stable`, `beta`, etc.). Once your package
is created, you are ready to [upload your package](../conan_repository/index.md#uploading-a-package) depending on your final package recipe. For example:
-```sh
+```shell
CONAN_LOGIN_USERNAME=<gitlab-username> CONAN_PASSWORD=<personal_access_token> conan upload MyPackage/1.0.0@foo+bar+my-proj/channel --all --remote=gitlab
```
diff --git a/doc/user/profile/account/two_factor_authentication.md b/doc/user/profile/account/two_factor_authentication.md
index 108d4f0b387..ab701337c2a 100644
--- a/doc/user/profile/account/two_factor_authentication.md
+++ b/doc/user/profile/account/two_factor_authentication.md
@@ -181,14 +181,14 @@ a new set of recovery codes with SSH:
1. Run:
- ```sh
+ ```shell
ssh git@gitlab.example.com 2fa_recovery_codes
```
1. You will then be prompted to confirm that you want to generate new codes.
Continuing this process invalidates previously saved codes:
- ```sh
+ ```shell
Are you sure you want to generate new two-factor recovery codes?
Any existing recovery codes you saved will be invalidated. (yes/no)
diff --git a/doc/user/profile/index.md b/doc/user/profile/index.md
index 06e4eac6623..dc6c744ff3c 100644
--- a/doc/user/profile/index.md
+++ b/doc/user/profile/index.md
@@ -209,7 +209,7 @@ Once this option is enabled, every Git-related action will be performed using th
To stay fully anonymous, you can also copy this private commit email
and configure it on your local machine using the following command:
-```sh
+```shell
git config --global user.email <your email address>
```
diff --git a/doc/user/project/clusters/add_remove_clusters.md b/doc/user/project/clusters/add_remove_clusters.md
index 7aeb4c4cf91..ef491a1971d 100644
--- a/doc/user/project/clusters/add_remove_clusters.md
+++ b/doc/user/project/clusters/add_remove_clusters.md
@@ -393,7 +393,7 @@ To add a Kubernetes cluster to your project, group, or instance:
Get the API URL by running this command:
- ```sh
+ ```shell
kubectl cluster-info | grep 'Kubernetes master' | awk '/http/ {print $NF}'
```
@@ -402,7 +402,7 @@ To add a Kubernetes cluster to your project, group, or instance:
`default-token-xxxxx`. Copy that token name for use below.
- Get the certificate by running this command:
- ```sh
+ ```shell
kubectl get secret <secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode
@@ -444,7 +444,7 @@ To add a Kubernetes cluster to your project, group, or instance:
1. Apply the service account and cluster role binding to your cluster:
- ```bash
+ ```shell
kubectl apply -f gitlab-admin-service-account.yaml
```
@@ -453,7 +453,7 @@ To add a Kubernetes cluster to your project, group, or instance:
you can alternatively enable Basic Authentication and then run the
`kubectl apply` command as an admin:
- ```bash
+ ```shell
kubectl apply -f gitlab-admin-service-account.yaml --username=admin --password=<password>
```
@@ -463,14 +463,14 @@ To add a Kubernetes cluster to your project, group, or instance:
Output:
- ```bash
+ ```shell
serviceaccount "gitlab-admin" created
clusterrolebinding "gitlab-admin" created
```
1. Retrieve the token for the `gitlab-admin` service account:
- ```bash
+ ```shell
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab-admin | awk '{print $1}')
```
@@ -530,7 +530,7 @@ To add an existing EKS cluster to your project, group, or instance:
`default-token-xxxxx`. Copy that token name for use below.
1. Get the certificate with:
- ```sh
+ ```shell
kubectl get secret <secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode
```
@@ -582,7 +582,7 @@ To add an existing EKS cluster to your project, group, or instance:
1. Retrieve the token for the `eks-admin` service account:
- ```bash
+ ```shell
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')
```
@@ -643,7 +643,7 @@ or user who can authenticate to the cluster, has full API access. This is a
To effectively disable RBAC, global permissions can be applied granting full access:
-```bash
+```shell
kubectl create clusterrolebinding permissive-binding \
--clusterrole=cluster-admin \
--user=admin \
diff --git a/doc/user/project/clusters/serverless/aws.md b/doc/user/project/clusters/serverless/aws.md
index 94b07af0985..afe48f8c7f4 100644
--- a/doc/user/project/clusters/serverless/aws.md
+++ b/doc/user/project/clusters/serverless/aws.md
@@ -149,7 +149,7 @@ Running the following `curl` command should trigger your function.
NOTE: **Note:**
Your url should be the one retrieved from the GitLab deploy stage log.
-```sh
+```shell
curl https://u768nzby1j.execute-api.us-east-1.amazonaws.com/production/hello
```
@@ -192,7 +192,7 @@ The `serverless-offline` plugin allows to run your code locally. To run your cod
Running the following `curl` command should trigger your function.
-```sh
+```shell
curl http://localhost:3000/hello
```
diff --git a/doc/user/project/clusters/serverless/index.md b/doc/user/project/clusters/serverless/index.md
index 9b56970db53..7935a88f3ad 100644
--- a/doc/user/project/clusters/serverless/index.md
+++ b/doc/user/project/clusters/serverless/index.md
@@ -159,7 +159,7 @@ You must do the following:
Then run the following command:
- ```bash
+ ```shell
kubectl apply -f knative-serving-only-role.yaml
```
@@ -362,7 +362,7 @@ Kubernetes cluster. Click on each function to obtain detailed scale and invocati
The function details can be retrieved directly from Knative on the cluster:
-```bash
+```shell
kubectl -n "$KUBE_NAMESPACE" get services.serving.knative.dev
```
@@ -370,7 +370,7 @@ The sample function can now be triggered from any HTTP client using a simple `PO
1. Using curl (replace the URL on the last line with the URL of your application):
- ```bash
+ ```shell
curl \
--header "Content-Type: application/json" \
--request POST \
@@ -388,7 +388,7 @@ To access your Kubernetes secrets from within your function, the secrets should
#### CLI example
-```bash
+```shell
kubectl create secret generic my-secrets -n "$KUBE_NAMESPACE" --from-literal MY_SECRET=imverysecure
```
@@ -491,7 +491,7 @@ Go to the **CI/CD > Pipelines** and click on the pipeline that deployed your app
The output will look like this:
-```bash
+```shell
Running with gitlab-runner 12.1.0-rc1 (6da35412)
on prm-com-gitlab-org ae3bfce3
Using Docker executor with image registry.gitlab.com/gitlab-org/gitlabktl:latest ...
@@ -594,7 +594,7 @@ The instructions below relate to installing and running Certbot on a Linux serve
[`certbot-auto` wrapper script](https://certbot.eff.org/docs/install.html#certbot-auto).
On the command line of your server, run the following commands:
- ```sh
+ ```shell
wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto
sudo chown root /usr/local/bin/certbot-auto
@@ -604,7 +604,7 @@ The instructions below relate to installing and running Certbot on a Linux serve
To check the integrity of the `certbot-auto` script, run:
- ```sh
+ ```shell
wget -N https://dl.eff.org/certbot-auto.asc
gpg2 --keyserver ipv4.pool.sks-keyservers.net --recv-key A2CFB51FA275A7286234E7B24D17C995CD9775F2
gpg2 --trusted-key 4D17C995CD9775F2 --verify certbot-auto.asc /usr/local/bin/certbot-auto
@@ -612,7 +612,7 @@ The instructions below relate to installing and running Certbot on a Linux serve
The output of the last command should look something like:
- ```sh
+ ```shell
gpg: Signature made Mon 10 Jun 2019 06:24:40 PM EDT
gpg: using RSA key A2CFB51FA275A7286234E7B24D17C995CD9775F2
gpg: key 4D17C995CD9775F2 marked as ultimately trusted
@@ -626,7 +626,7 @@ The instructions below relate to installing and running Certbot on a Linux serve
1. Run the following command to use Certbot to request a certificate
using DNS challenge during authorization:
- ```sh
+ ```shell
./certbot-auto certonly --manual --preferred-challenges dns -d '*.<namespace>.example.com'
```
@@ -640,14 +640,14 @@ The instructions below relate to installing and running Certbot on a Linux serve
In the above image, the namespace for the project is `node-function-11909507` and the domain is `knative.info`, thus
certificate request line would look like this:
- ```sh
+ ```shell
./certbot-auto certonly --manual --preferred-challenges dns -d '*.node-function-11909507.knative.info'
```
The Certbot tool walks you through the steps of validating that you own each domain that you specify by creating TXT records in those domains.
After this process is complete, the output should look something like this:
- ```sh
+ ```shell
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/namespace.example.com/fullchain.pem
@@ -671,13 +671,13 @@ The instructions below relate to installing and running Certbot on a Linux serve
Run the following command to see the contents of `fullchain.pem`:
- ```sh
+ ```shell
sudo cat /etc/letsencrypt/live/node-function-11909507.knative.info/fullchain.pem
```
Output should look like this:
- ```sh
+ ```shell
-----BEGIN CERTIFICATE-----
2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
@@ -743,13 +743,13 @@ The instructions below relate to installing and running Certbot on a Linux serve
Once `cert.pem` is created, run the following command to see the contents of `privkey.pem`:
- ```sh
+ ```shell
sudo cat /etc/letsencrypt/live/namespace.example/privkey.pem
```
Output should look like this:
- ```sh
+ ```shell
-----BEGIN PRIVATE KEY-----
2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
@@ -792,7 +792,7 @@ The instructions below relate to installing and running Certbot on a Linux serve
[GKE Cluster Access](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl).
For other platforms, [install `kubectl`](https://kubernetes.io/docs/tasks/tools/install-kubectl/).
- ```sh
+ ```shell
kubectl create --namespace istio-system secret tls istio-ingressgateway-certs \
--key cert.pk \
--cert cert.pem
@@ -804,13 +804,13 @@ The instructions below relate to installing and running Certbot on a Linux serve
connections. Run the
following command to open the Knative shared `gateway` in edit mode:
- ```sh
+ ```shell
kubectl edit gateway knative-ingress-gateway --namespace knative-serving
```
Update the gateway to include the following tls: section and configuration:
- ```sh
+ ```shell
tls:
mode: SIMPLE
privateKey: /etc/istio/ingressgateway-certs/tls.key
@@ -819,7 +819,7 @@ The instructions below relate to installing and running Certbot on a Linux serve
Example:
- ```sh
+ ```shell
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
diff --git a/doc/user/project/deploy_tokens/index.md b/doc/user/project/deploy_tokens/index.md
index 5c3c2188629..ef09c299036 100644
--- a/doc/user/project/deploy_tokens/index.md
+++ b/doc/user/project/deploy_tokens/index.md
@@ -56,7 +56,7 @@ To download a repository using a Deploy Token, you just need to:
1. Take note of your `username` and `token`.
1. `git clone` the project using the Deploy Token:
- ```sh
+ ```shell
git clone http://<username>:<deploy_token>@gitlab.example.com/tanuki/awesome_project.git
```
@@ -70,7 +70,7 @@ To read the container registry images, you'll need to:
1. Take note of your `username` and `token`.
1. Log in to GitLab’s Container Registry using the deploy token:
-```sh
+```shell
docker login -u <username> -p <deploy_token> registry.example.com
```
@@ -90,7 +90,7 @@ automatically exposed to the CI/CD jobs as environment variables: `CI_DEPLOY_USE
After you create the token, you can login to the Container Registry using
those variables:
-```sh
+```shell
docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
```
diff --git a/doc/user/project/file_lock.md b/doc/user/project/file_lock.md
index 045f2c8049b..e3590147dd7 100644
--- a/doc/user/project/file_lock.md
+++ b/doc/user/project/file_lock.md
@@ -81,7 +81,7 @@ pre-receive hook will reject your changes when you try to push. In the
following example, a user who has no permissions on the locked `.gitignore`
file will see the message below:
-```bash
+```shell
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
diff --git a/doc/user/project/import/svn.md b/doc/user/project/import/svn.md
index 6b22c5f2fd0..87ea02b5b46 100644
--- a/doc/user/project/import/svn.md
+++ b/doc/user/project/import/svn.md
@@ -119,13 +119,13 @@ process should be run on a local workstation.
Install `svn2git`. On all systems you can install as a Ruby gem if you already
have Ruby and Git installed.
-```bash
+```shell
sudo gem install svn2git
```
On Debian-based Linux distributions you can install the native packages:
-```bash
+```shell
sudo apt-get install git-core git-svn ruby
```
@@ -138,7 +138,7 @@ repository. If you don't, the conversion will fail and you will have to update
the author file accordingly. The following command will search through the
repository and output a list of authors.
-```bash
+```shell
svn log --quiet | grep -E "r[0-9]+ \| .+ \|" | cut -d'|' -f2 | sed 's/ //g' | sort | uniq
```
@@ -157,7 +157,7 @@ command will checkout the repository and do the conversion in the current
working directory. Be sure to create a new directory for each repository before
running the `svn2git` command. The conversion process will take some time.
-```bash
+```shell
svn2git https://svn.example.com/path/to/repo --authors /path/to/authors.txt
```
@@ -172,7 +172,7 @@ Copy the SSH or HTTP(S) repository URL from the project page. Add the GitLab
repository as a Git remote and push all the changes. This will push all commits,
branches and tags.
-```bash
+```shell
git remote add origin git@gitlab.com:<group>/<project>.git
git push --all origin
git push --tags origin
diff --git a/doc/user/project/integrations/generic_alerts.md b/doc/user/project/integrations/generic_alerts.md
index 8c509f30c4f..bb07b97e456 100644
--- a/doc/user/project/integrations/generic_alerts.md
+++ b/doc/user/project/integrations/generic_alerts.md
@@ -34,7 +34,7 @@ You can customize the payload by sending the following parameters. All fields ar
Example request:
-```sh
+```shell
curl --request POST \
--data '{"title": "Incident title"}' \
--header "Authorization: Bearer <authorization_key>" \
diff --git a/doc/user/project/integrations/jira.md b/doc/user/project/integrations/jira.md
index d08c8699eba..0bfb13ba54f 100644
--- a/doc/user/project/integrations/jira.md
+++ b/doc/user/project/integrations/jira.md
@@ -134,7 +134,7 @@ ENTITY_TITLE
For example, the following commit will reference the Jira issue with `PROJECT-1` as its ID:
-```bash
+```shell
git commit -m "PROJECT-1 Fix spelling and grammar"
```
diff --git a/doc/user/project/integrations/slack.md b/doc/user/project/integrations/slack.md
index 508e72b5753..1dda3a60430 100644
--- a/doc/user/project/integrations/slack.md
+++ b/doc/user/project/integrations/slack.md
@@ -50,7 +50,7 @@ communicating with itself. The former is less likely since Slack's security cert
should _hopefully_ always be trusted. We can establish which we're dealing with by using
the below rails console script.
-```sh
+```shell
# start a rails console:
sudo gitlab-rails console production
diff --git a/doc/user/project/issues/associate_zoom_meeting.md b/doc/user/project/issues/associate_zoom_meeting.md
index 24775204c9f..a11fb4a7438 100644
--- a/doc/user/project/issues/associate_zoom_meeting.md
+++ b/doc/user/project/issues/associate_zoom_meeting.md
@@ -15,7 +15,7 @@ To associate a zoom meeting with an issue, you can use GitLab's
In an issue, leave a comment using the `/zoom` quick action followed by a valid Zoom link:
-```sh
+```shell
/zoom https://zoom.us/j/123456789
```
@@ -34,7 +34,7 @@ need to [remove it](#removing-an-existing-zoom-meeting-from-an-issue) first.
Similarly to adding a zoom meeting, you can remove it with a quick action:
-```sh
+```shell
/remove_zoom
```
diff --git a/doc/user/project/issues/design_management.md b/doc/user/project/issues/design_management.md
index b8983a06180..80075efe4ac 100644
--- a/doc/user/project/issues/design_management.md
+++ b/doc/user/project/issues/design_management.md
@@ -75,6 +75,12 @@ of the design, and will replace the previous version.
Designs cannot be added if the issue has been moved, or its
[discussion is locked](../../discussions/#lock-discussions).
+### Skipped designs
+
+Designs with the same filename as an existing uploaded design _and_ whose content has not changed will be skipped.
+This means that no new version of the design will be created. When designs are skipped, you will be made aware via a warning
+message on the Issue.
+
## Viewing designs
Images on the Design Management page can be enlarged by clicking on them.
diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md
index ff360e973aa..c6444259f25 100644
--- a/doc/user/project/issues/managing_issues.md
+++ b/doc/user/project/issues/managing_issues.md
@@ -178,7 +178,7 @@ Closes #4, #6, and https://gitlab.com/<username>/<projectname>/issues/<xxx>
When not specified, the default issue closing pattern as shown below will be used:
-```bash
+```shell
((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?|[Rr]esolv(?:e[sd]?|ing)|[Ii]mplement(?:s|ed|ing)?)(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?)|([A-Z][A-Z0-9_]+-\d+))+)
```
diff --git a/doc/user/project/merge_requests/allow_collaboration.md b/doc/user/project/merge_requests/allow_collaboration.md
index 083a117600b..721d866415c 100644
--- a/doc/user/project/merge_requests/allow_collaboration.md
+++ b/doc/user/project/merge_requests/allow_collaboration.md
@@ -55,7 +55,7 @@ Here's how the process would look like:
1. Use the copy button to copy the first command and paste them
in your terminal:
- ```sh
+ ```shell
git fetch git@gitlab.com:thedude/awesome-project.git update-docs
git checkout -b thedude-awesome-project-update-docs FETCH_HEAD
```
@@ -66,7 +66,7 @@ Here's how the process would look like:
1. Make any changes you want and commit.
1. Push to the forked project:
- ```sh
+ ```shell
git push git@gitlab.com:thedude/awesome-project.git thedude-awesome-project-update-docs:update-docs
```
diff --git a/doc/user/project/merge_requests/cherry_pick_changes.md b/doc/user/project/merge_requests/cherry_pick_changes.md
index a5c191c150f..1ba5ece89d5 100644
--- a/doc/user/project/merge_requests/cherry_pick_changes.md
+++ b/doc/user/project/merge_requests/cherry_pick_changes.md
@@ -38,7 +38,7 @@ from the command line.
Here is a quick example to cherry-pick a merge commit using the second parent as the
mainline:
-```bash
+```shell
git cherry-pick -m 2 7a39eb0
```
diff --git a/doc/user/project/merge_requests/creating_merge_requests.md b/doc/user/project/merge_requests/creating_merge_requests.md
index 470cf2a8656..87ef29407e9 100644
--- a/doc/user/project/merge_requests/creating_merge_requests.md
+++ b/doc/user/project/merge_requests/creating_merge_requests.md
@@ -106,27 +106,27 @@ Assuming you have your repository cloned into your computer and you'd
like to start working on changes to files, start by creating and
checking out a new branch:
-```bash
+```shell
git checkout -b my-new-branch
```
Work on your file changes, stage, and commit them:
-```bash
+```shell
git add .
git commit -m "My commit message"
```
Once you're done, [push your branch to GitLab](../../../gitlab-basics/start-using-git.md#send-changes-to-gitlabcom):
-```bash
+```shell
git push origin my-new-branch
```
In the output, GitLab will prompt you with a direct link for creating
a merge request:
-```bash
+```shell
...
remote: To create a merge request for docs-new-merge-request, visit:
remote: https://gitlab-instance.com/my-group/my-project/merge_requests/new?merge_request%5Bsource_branch%5D=my-new-branch
diff --git a/doc/user/project/merge_requests/revert_changes.md b/doc/user/project/merge_requests/revert_changes.md
index 1cbbcf45400..75d9702ceb9 100644
--- a/doc/user/project/merge_requests/revert_changes.md
+++ b/doc/user/project/merge_requests/revert_changes.md
@@ -52,7 +52,7 @@ from the command line.
Here is a quick example to revert a merge commit using the second parent as the
mainline:
-```bash
+```shell
git revert -m 2 7a39eb0
```
diff --git a/doc/user/project/pages/getting_started_part_four.md b/doc/user/project/pages/getting_started_part_four.md
index 263b20ea224..d6b34f4319e 100644
--- a/doc/user/project/pages/getting_started_part_four.md
+++ b/doc/user/project/pages/getting_started_part_four.md
@@ -53,7 +53,7 @@ write in the `.gitlab-ci.yml` the script you want to run so
GitLab Runner will do it for you. It looks more complicated than it
is. What you need to tell the Runner:
-```sh
+```shell
gem install jekyll
jekyll build
```
diff --git a/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md b/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
index c9bd3e35a5f..33181828fb2 100644
--- a/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
+++ b/doc/user/project/pages/lets_encrypt_for_gitlab_pages.md
@@ -43,27 +43,27 @@ operating systems the steps might be slightly different. Follow the
1. On your computer, open a terminal and navigate to your repository's
root directory:
- ```bash
+ ```shell
cd path/to/dir
```
1. Install CertBot (the tool Let's Encrypt uses to issue certificates):
- ```bash
+ ```shell
brew install certbot
```
1. Request a certificate for your domain (`example.com`) and
provide an email account (`your@email.com`) to receive notifications:
- ```bash
+ ```shell
sudo certbot certonly -a manual -d example.com --email your@email.com
```
Alternatively, you can register without adding an e-mail account,
but you won't be notified about the certificate expiration's date:
- ```bash
+ ```shell
sudo certbot certonly -a manual -d example.com --register-unsafely-without-email
```
@@ -76,7 +76,7 @@ operating systems the steps might be slightly different. Follow the
CertBot will then prompt you with the following message:
- ```bash
+ ```shell
Create a file containing just this data:
Rxnv6WKo95hsuLVX3osmT6LgmzsJKSaK9htlPToohOP.HUGNKk82jlsmOOfphlt8Jy69iuglsn095nxOMH9j3Yb
@@ -95,7 +95,7 @@ operating systems the steps might be slightly different. Follow the
and add to the last folder an `index.html` file containing the content
referred on the previous prompt message:
- ```bash
+ ```shell
Rxnv6WKo95hsuLVX3osmT6LgmzsJKSaK9htlPToohOP.HUGNKk82jlsmOOfphlt8Jy69iuglsn095nxOMH9j3Yb
```
@@ -109,7 +109,7 @@ operating systems the steps might be slightly different. Follow the
passes, press **Enter** on your terminal to continue issuing your
certificate. CertBot will then prompt you with the following message:
- ```bash
+ ```shell
Waiting for verification...
Cleaning up challenges
@@ -137,13 +137,13 @@ Now that your certificate has been issued, let's add it to your Pages site:
1. From your terminal, copy and paste the certificate into the first field
**Certificate (PEM)**:
- ```bash
+ ```shell
sudo cat /etc/letsencrypt/live/example.com/fullchain.pem | pbcopy
```
1. Copy and paste the private key into the second field **Key (PEM)**:
- ```bash
+ ```shell
sudo cat /etc/letsencrypt/live/example.com/privkey.pem | pbcopy
```
@@ -160,6 +160,6 @@ valid certificates)**.
Let's Encrypt certificates expire every 90 days and you'll have to
renew them periodically. To renew all your certificates at once, run:
-```bash
+```shell
sudo certbot renew
```
diff --git a/doc/user/project/pipelines/settings.md b/doc/user/project/pipelines/settings.md
index 3998dc69ad5..a89304acd8a 100644
--- a/doc/user/project/pipelines/settings.md
+++ b/doc/user/project/pipelines/settings.md
@@ -141,7 +141,7 @@ small one line script that will strip the color codes off.
For example:
-```bash
+```shell
lein cloverage | perl -pe 's/\e\[?.*?[\@-~]//g'
```
diff --git a/doc/user/project/repository/git_blame.md b/doc/user/project/repository/git_blame.md
index 1c63d73acdb..2deb53b313c 100644
--- a/doc/user/project/repository/git_blame.md
+++ b/doc/user/project/repository/git_blame.md
@@ -38,14 +38,14 @@ If you're running `git` from the command line, the equivalent command is
`git blame <filename>`. For example, if you want to find `blame` information
about a `README.md` file in the local directory, run the following command:
-```bash
+```shell
git blame README.md
```
You'll see output similar to the following, which includes the commit time
in UTC format:
-```bash
+```shell
62e2353a (Achilleas Pipinellis 2019-07-11 14:52:18 +0300 1) [![build status](https://gitlab.com/gitlab-org/gitlab-docs/badges/master/build.svg)](https://gitlab.com/gitlab-com/gitlab-docs/commits/master)
fb0fc7d6 (Achilleas Pipinellis 2016-11-07 22:21:22 +0100 2)
^764ca75 (Connor Shea 2016-10-05 23:40:24 -0600 3) # GitLab Documentation
diff --git a/doc/user/project/repository/git_history.md b/doc/user/project/repository/git_history.md
index 9cd3d0d4ed0..b7375602a78 100644
--- a/doc/user/project/repository/git_history.md
+++ b/doc/user/project/repository/git_history.md
@@ -29,14 +29,14 @@ is `git log <filename>`. For example, if you want to find `history`
information about a `README.md` file in the local directory, run the
following command:
-```bash
+```shell
git log README.md
```
You'll see output similar to the following, which includes the commit
time in UTC format:
-```bash
+```shell
commit 0e62ed6d9f39fa9bedf7efc6edd628b137fa781a
Author: Mike Jang <mjang@gitlab.com>
Date: Tue Nov 26 21:44:53 2019 +0000
diff --git a/doc/user/project/repository/repository_mirroring.md b/doc/user/project/repository/repository_mirroring.md
index 09506da6e90..aa54c727fbe 100644
--- a/doc/user/project/repository/repository_mirroring.md
+++ b/doc/user/project/repository/repository_mirroring.md
@@ -214,7 +214,7 @@ Other providers will vary. If you're running self-managed GitLab, or otherwise
have access to the server for the other repository, you can securely gather the
key fingerprints:
-```sh
+```shell
$ cat /etc/ssh/ssh_host*pub | ssh-keygen -E md5 -l -f -
256 MD5:f4:28:9f:23:99:15:21:1b:bf:ed:1f:8e:a0:76:b2:9d root@example.com (ECDSA)
256 MD5:e6:eb:45:8a:3c:59:35:5f:e9:5b:80:12:be:7e:22:73 root@example.com (ED25519)
@@ -345,7 +345,7 @@ Read about [configuring Server hooks](../../../administration/server_hooks.md) o
A sample `pre-receive` hook is provided below.
-```bash
+```shell
#!/usr/bin/env bash
# --- Assume only one push mirror target