Skip to content
Snippets Groups Projects
Commit d4776fa3 authored by GitLab Bot's avatar GitLab Bot
Browse files

Automatic merge of gitlab-org/gitlab-ce master

parents 37c6a2c4 95075fee
No related branches found
No related tags found
No related merge requests found
Showing
with 125 additions and 120 deletions
Loading
Loading
@@ -9,7 +9,7 @@ description: 'Learn how to use and administer GitLab, the most scalable Git-base
</div>
<!-- the div above will not display on the docs site but will display on /help -->
 
# GitLab Documentation
# GitLab Docs
 
Welcome to [GitLab](https://about.gitlab.com/) Documentation.
 
Loading
Loading
Loading
Loading
@@ -52,7 +52,7 @@ section.
**Admin Area > Users**. You will find the option of the access level under
the 'Access' section.
 
![Admin Area Form](img/auditor_access_form.png)
![Admin Area Form](img/auditor_access_form.png)
 
1. Click **Save changes** or **Create user** for the changes to take effect.
 
Loading
Loading
Loading
Loading
@@ -2,7 +2,7 @@
description: 'Learn how to install, configure, update, and maintain your GitLab instance.'
---
 
# Administrator documentation **(CORE ONLY)**
# Administrator Docs **(CORE ONLY)**
 
Learn how to administer your self-managed GitLab instance.
 
Loading
Loading
# GitLab API
# API Docs
 
Automate GitLab via a simple and powerful API.
 
Loading
Loading
@@ -6,7 +6,7 @@ The main GitLab API is a [REST](https://en.wikipedia.org/wiki/Representational_s
 
## Available API resources
 
For a list of the available resources and their endpoints, see
For a list of the available resources and their endpoints, see
[API resources](api_resources.md).
 
## SCIM **(SILVER ONLY)**
Loading
Loading
Loading
Loading
@@ -378,8 +378,8 @@ Here's what happens behind the scenes:
1. `script` is executed.
1. `after_script` is executed.
1. `cache` runs and the `vendor/` directory is zipped into `cache.zip`.
This file is then saved in the directory based on the
[Runner's setting](#where-the-caches-are-stored) and the `cache: key`.
This file is then saved in the directory based on the
[Runner's setting](#where-the-caches-are-stored) and the `cache: key`.
1. `job B` runs.
1. The cache is extracted (if found).
1. `before_script` is executed.
Loading
Loading
@@ -520,7 +520,7 @@ via GitLab's UI:
1. Navigate to your project's **CI/CD > Pipelines** page.
1. Click on the **Clear Runner caches** button to clean up the cache.
 
![Clear Runners cache](img/clear_runners_cache.png)
![Clear Runners cache](img/clear_runners_cache.png)
 
1. On the next push, your CI/CD job will use a new cache.
 
Loading
Loading
Loading
Loading
@@ -44,7 +44,7 @@ To use GitLab CI/CD with a Bitbucket Cloud repository:
Passwords** to authenticate the build status script setting commit build
statuses in Bitbucket. Repository write permissions are required.
 
![Bitbucket Cloud webhook](img/bitbucket_app_password.png)
![Bitbucket Cloud webhook](img/bitbucket_app_password.png)
 
1. In GitLab, from **Settings > CI/CD > Environment variables**, add variables to allow
communication with Bitbucket via the Bitbucket API:
Loading
Loading
Loading
Loading
@@ -19,12 +19,12 @@ administrator:
1. In GitLab create a **CI/CD for external repo** project and select
**GitHub**.
 
![Create project](img/github_omniauth.png)
![Create project](img/github_omniauth.png)
 
1. Once authenticated, you will be redirected to a list of your repositories to
connect. Click **Connect** to select the repository.
 
![Create project](img/github_repo_list.png)
![Create project](img/github_repo_list.png)
 
1. In GitHub, add a `.gitlab-ci.yml` to [configure GitLab CI/CD](../quick_start/README.md).
 
Loading
Loading
@@ -55,14 +55,14 @@ repositories:
Token**. This token with be used to access your repository and push commit
statuses to GitHub.
 
The `repo` and `admin:repo_hook` should be enable to allow GitLab access to
your project, update commit statuses, and create a web hook to notify
GitLab of new commits.
The `repo` and `admin:repo_hook` should be enable to allow GitLab access to
your project, update commit statuses, and create a web hook to notify
GitLab of new commits.
 
1. In GitLab create a **CI/CD for external repo** project and select
**GitHub**.
 
![Create project](img/github_omniauth.png)
![Create project](img/github_omniauth.png)
 
1. Paste the token into the **Personal access token** field and click **List
Repositories**. Click **Connect** to select the repository.
Loading
Loading
@@ -86,21 +86,21 @@ your repository:
Access Token.** GitLab will use this token to access your repository and
push commit statuses.
 
Enter a **Token description** and update the scope to allow:
Enter a **Token description** and update the scope to allow:
 
`repo` so that GitLab can access your project and update commit statuses
`repo` so that GitLab can access your project and update commit statuses
 
1. In GitLab create a **CI/CD project** using the Git URL option and the HTTPS
URL for your GitHub repository. If your project is private, use the personal
access token you just created for authentication.
 
GitLab will automatically configure polling-based pull mirroring.
GitLab will automatically configure polling-based pull mirroring.
 
1. Still in GitLab, enable the [GitHub project integration](../../user/project/integrations/github.md)
from **Settings > Integrations.**
 
Check the **Active** checkbox to enable the integration, paste your
personal access token and HTTPS repository URL into the form, and **Save.**
Check the **Active** checkbox to enable the integration, paste your
personal access token and HTTPS repository URL into the form, and **Save.**
 
1. Still in GitLab create a **Personal Access Token** with `API` scope to
authenticate the GitHub web hook notifying GitLab of new commits.
Loading
Loading
@@ -108,15 +108,15 @@ your repository:
1. In GitHub from **Settings > Webhooks** create a web hook to notify GitLab of
new commits.
 
The web hook URL should be set to the GitLab API to
[trigger pull mirroring](../../api/projects.md#start-the-pull-mirroring-process-for-a-project-starter),
using the GitLab personal access token we just created.
The web hook URL should be set to the GitLab API to
[trigger pull mirroring](../../api/projects.md#start-the-pull-mirroring-process-for-a-project-starter),
using the GitLab personal access token we just created.
 
```
https://gitlab.com/api/v4/projects/<NAMESPACE>%2F<PROJECT>/mirror/pull?private_token=<PERSONAL_ACCESS_TOKEN>
```
```
https://gitlab.com/api/v4/projects/<NAMESPACE>%2F<PROJECT>/mirror/pull?private_token=<PERSONAL_ACCESS_TOKEN>
```
 
![Create web hook](img/github_push_webhook.png)
![Create web hook](img/github_push_webhook.png)
 
1. In GitHub add a `.gitlab-ci.yml` to configure GitLab CI/CD.
 
Loading
Loading
Loading
Loading
@@ -418,10 +418,14 @@ fully understand [IAM Best Practices in AWS](https://docs.aws.amazon.com/IAM/lat
 
1. Log into your AWS account and go to the [Security Credentials page](https://console.aws.amazon.com/iam/home#/security_credential)
1. Click the **Access Keys** section and **Create New Access Key**. Create the key and keep the id and secret around, you'll need them later
![AWS Access Key Config](img/aws_config_window.png)
![AWS Access Key Config](img/aws_config_window.png)
1. Go to your GitLab project, click **Settings > CI/CD** on the left sidebar
1. Expand the **Variables** section
![GitLab Secret Config](img/gitlab_config.png)
![GitLab Secret Config](img/gitlab_config.png)
1. Add a key named `AWS_KEY_ID` and copy the key id from Step 2 into the **Value** textbox
1. Add a key named `AWS_KEY_SECRET` and copy the key secret from Step 2 into the **Value** textbox
 
Loading
Loading
Loading
Loading
@@ -147,11 +147,11 @@ Once you have the route mapping set up, it will take effect in the following loc
 
- In the diff for a merge request, comparison, or commit.
 
!["View on env" button in merge request diff](img/view_on_env_mr.png)
!["View on env" button in merge request diff](img/view_on_env_mr.png)
 
- In the blob file view.
 
!["View on env" button in file view](img/view_on_env_blob.png)
!["View on env" button in file view](img/view_on_env_blob.png)
 
## Visual Reviews **(STARTER)**
 
Loading
Loading
Loading
Loading
@@ -62,7 +62,7 @@ You can only register a shared Runner if you are an admin of the GitLab instance
 
1. Grab the shared-Runner token on the `admin/runners` page
 
![Shared Runners admin area](img/shared_runners_admin.png)
![Shared Runners admin area](img/shared_runners_admin.png)
 
1. [Register the Runner][register]
 
Loading
Loading
@@ -373,12 +373,12 @@ attacker.
 
To reset the token:
 
1. Go to **Settings > CI/CD** for a specified Project
1. Expand the **General pipelines settings** section
1. Find the **Runner token** form field and click the **Reveal value** button
1. Delete the value and save the form
1. Go to **Settings > CI/CD** for a specified Project.
1. Expand the **General pipelines settings** section.
1. Find the **Runner token** form field and click the **Reveal value** button.
1. Delete the value and save the form.
1. After the page is refreshed, expand the **Runners settings** section
and check the registration token - it should be changed
and check the registration token - it should be changed.
 
From now on the old token is not valid anymore and will not allow to register
a new Runner to the project. If you are using any tools to provision and
Loading
Loading
Loading
Loading
@@ -3,7 +3,7 @@ comments: false
description: 'Learn how to contribute to GitLab.'
---
 
# GitLab development guides
# Contributor and Development Docs
 
## Get started!
 
Loading
Loading
Loading
Loading
@@ -19,7 +19,7 @@ To enable the Facebook OmniAuth provider you must register your application with
 
1. Enter the address of your GitLab installation at the bottom of the package
 
![Facebook Website URL](img/facebook_website_url.png)
![Facebook Website URL](img/facebook_website_url.png)
 
1. Choose "Next"
 
Loading
Loading
@@ -29,7 +29,7 @@ To enable the Facebook OmniAuth provider you must register your application with
 
1. Fill in a contact email for your app
 
![Facebook App Settings](img/facebook_app_settings.png)
![Facebook App Settings](img/facebook_app_settings.png)
 
1. Choose "Save Changes"
 
Loading
Loading
@@ -45,7 +45,7 @@ To enable the Facebook OmniAuth provider you must register your application with
 
1. You should now see an app key and app secret (see screenshot). Keep this page open as you continue configuration.
 
![Facebook API Keys](img/facebook_api_keys.png)
![Facebook API Keys](img/facebook_api_keys.png)
 
1. On your GitLab server, open the configuration file.
 
Loading
Loading
Loading
Loading
@@ -43,67 +43,68 @@ There are no special requirements if you are using GitLab.com.
 
1. In GitLab, create a new application in order to allow Jira to connect with your GitLab account
 
While logged-in, go to `Settings -> Applications`. (Click your profile avatar at
the top right, choose `Settings`, and then navigate to `Applications` from the left
navigation menu.) Use the form to create a new application.
While logged-in, go to `Settings -> Applications`. (Click your profile avatar at
the top right, choose `Settings`, and then navigate to `Applications` from the left
navigation menu.) Use the form to create a new application.
 
Enter a useful name for the `Name` field.
Enter a useful name for the `Name` field.
 
For the `Redirect URI` field, enter `https://<your-gitlab-instance-domain>/login/oauth/callback`,
replacing `<your-gitlab-instance-domain>` appropriately. So for example, if you are using GitLab.com,
this would be `https://gitlab.com/login/oauth/callback`.
For the `Redirect URI` field, enter `https://<your-gitlab-instance-domain>/login/oauth/callback`,
replacing `<your-gitlab-instance-domain>` appropriately. So for example, if you are using GitLab.com,
this would be `https://gitlab.com/login/oauth/callback`.
 
NOTE: **Note**:
If using a GitLab version earlier than 11.3 the `Redirect URI` value should be `https://<your-gitlab-instance-domain>/-/jira/login/oauth/callback`.
NOTE: **Note**:
If using a GitLab version earlier than 11.3 the `Redirect URI` value should be `https://<your-gitlab-instance-domain>/-/jira/login/oauth/callback`.
 
![GitLab Application setup](img/jira_dev_panel_gl_setup_1.png)
- Check `api` in the Scopes section.
![GitLab Application setup](img/jira_dev_panel_gl_setup_1.png)
- Check `api` in the Scopes section.
 
1. Click `Save application`. You will see the generated 'Application Id' and 'Secret' values.
Copy these values that you will use on the Jira configuration side.
Copy these values that you will use on the Jira configuration side.
 
## Jira Configuration
 
1. In Jira, from the gear menu at the top right, go to `Applications`. Navigate to `DVCS accounts`
from the left navigation menu. Click `Link GitHub account` to start creating a new integration.
(We are pretending to be GitHub in this integration until there is further platform support from Jira.)
from the left navigation menu. Click `Link GitHub account` to start creating a new integration.
(We are pretending to be GitHub in this integration until there is further platform support from Jira.)
 
![Jira DVCS from Dashboard](img/jira_dev_panel_jira_setup_1.png)
![Jira DVCS from Dashboard](img/jira_dev_panel_jira_setup_1.png)
 
1. Complete the form
 
Select GitHub Enterprise for the `Host` field.
Select GitHub Enterprise for the `Host` field.
 
For the `Team or User Account` field, enter the relative path of a top-level GitLab group that you have access to,
or the relative path of your personal namespace.
For the `Team or User Account` field, enter the relative path of a top-level GitLab group that you have access to,
or the relative path of your personal namespace.
 
![Creation of Jira DVCS integration](img/jira_dev_panel_jira_setup_2.png)
![Creation of Jira DVCS integration](img/jira_dev_panel_jira_setup_2.png)
 
For the `Host URL` field, enter `https://<your-gitlab-instance-domain>/`,
replacing `<your-gitlab-instance-domain>` appropriately. So for example, if you are using GitLab.com,
this would be `https://gitlab.com/`.
For the `Host URL` field, enter `https://<your-gitlab-instance-domain>/`,
replacing `<your-gitlab-instance-domain>` appropriately. So for example, if you are using GitLab.com,
this would be `https://gitlab.com/`.
 
NOTE: **Note**:
If using a GitLab version earlier than 11.3 the `Host URL` value should be `https://<your-gitlab-instance-domain>/-/jira`
NOTE: **Note**:
If using a GitLab version earlier than 11.3 the `Host URL` value should be `https://<your-gitlab-instance-domain>/-/jira`
 
For the `Client ID` field, use the `Application ID` value from the previous section.
For the `Client ID` field, use the `Application ID` value from the previous section.
 
For the `Client Secret` field, use the `Secret` value from the previous section.
For the `Client Secret` field, use the `Secret` value from the previous section.
 
Ensure that the rest of the checkboxes are checked.
Ensure that the rest of the checkboxes are checked.
 
1. Click `Add` to complete and create the integration.
 
Jira takes up to a few minutes to know about (import behind the scenes) all the commits and branches
for all the projects in the GitLab group you specified in the previous step. These are refreshed
every 60 minutes.
Jira takes up to a few minutes to know about (import behind the scenes) all the commits and branches
for all the projects in the GitLab group you specified in the previous step. These are refreshed
every 60 minutes.
 
> **Note:**
> In the future, we plan on implementating real-time integration. If you need
> to refresh the data manually, you can do this from the `Applications -> DVCS
> accounts` screen where you initially set up the integration:
>
> ![Refresh GitLab information in Jira](img/jira_dev_panel_manual_refresh.png)
> **Note:**
> In the future, we plan on implementating real-time integration. If you need
> to refresh the data manually, you can do this from the `Applications -> DVCS
> accounts` screen where you initially set up the integration:
>
> ![Refresh GitLab information in Jira](img/jira_dev_panel_manual_refresh.png)
 
To connect additional GitLab projects from other GitLab top-level groups (or personal namespaces), repeat the above
steps with additional Jira DVCS accounts.
Loading
Loading
Loading
Loading
@@ -2,7 +2,7 @@
type: index, reference
---
 
# Customers
# Customer Docs
 
This section contains information for:
 
Loading
Loading
Loading
Loading
@@ -19,12 +19,12 @@ at their primary email address.
1. Go to the admin area using the wrench icon in the top right corner and
navigate to **Overview > Users > Send email to users**.
 
![admin users](email1.png)
![admin users](email1.png)
 
1. Compose an email and choose where it will be sent (all users or users of a
chosen group or project):
 
![compose an email](email2.png)
![compose an email](email2.png)
 
## Unsubscribing from emails
 
Loading
Loading
Loading
Loading
@@ -38,13 +38,13 @@ those projects provide a barebones application built on some well-known framewor
Rails, Spring, or NodeJS Express project. For this example,
we'll use the Ruby on Rails template.
 
![Select project template](img/guide_project_template.png)
![Select project template](img/guide_project_template.png)
 
1. Give your project a name, optionally a description, and make it public so that
you can take advantage of the features available in the
[GitLab Gold plan](https://about.gitlab.com/pricing/#gitlab-com).
 
![Create project](img/guide_create_project.png)
![Create project](img/guide_create_project.png)
 
1. Click **Create project**.
 
Loading
Loading
@@ -56,20 +56,20 @@ under which this application will be deployed.
1. On the project's landing page, click the button labeled **Add Kubernetes cluster**
(note that this option is also available when you navigate to **Operations > Kubernetes**).
 
![Project landing page](img/guide_project_landing_page.png)
![Project landing page](img/guide_project_landing_page.png)
 
1. Choose **Create on Google Kubernetes Engine**.
 
![Choose GKE](img/guide_choose_gke.png)
![Choose GKE](img/guide_choose_gke.png)
 
1. Sign in with Google.
 
![Google sign in](img/guide_google_signin.png)
![Google sign in](img/guide_google_signin.png)
 
1. Connect with your Google account and press **Allow** when asked (this will
be shown only the first time you connect GitLab with your Google account).
 
![Google auth](img/guide_google_auth.png)
![Google auth](img/guide_google_auth.png)
 
1. The last step is to fill in the cluster details. Give it a name, leave the
environment scope as is, and choose the GCP project under which the cluster
Loading
Loading
@@ -80,7 +80,7 @@ under which this application will be deployed.
cluster will be created, enter the number of nodes you want it to have, and
finally choose their [machine type](https://cloud.google.com/compute/docs/machine-types).
 
![GitLab GKE cluster details](img/guide_gitlab_gke_details.png)
![GitLab GKE cluster details](img/guide_gitlab_gke_details.png)
 
1. Once ready, click **Create Kubernetes cluster**.
 
Loading
Loading
@@ -133,7 +133,7 @@ Now that the Kubernetes cluster is set up and ready, let's enable Auto DevOps.
successfully runs on the `master` branch.
1. Click **Save changes**.
 
![Auto DevOps settings](img/guide_enable_autodevops.png)
![Auto DevOps settings](img/guide_enable_autodevops.png)
 
Once you complete all the above and save your changes, a new pipeline is
automatically created. To view the pipeline, go to **CI/CD > Pipelines**.
Loading
Loading
@@ -201,7 +201,7 @@ applications. In the rightmost column for the production environment, you can ma
Prometheus collects data about the Kubernetes cluster and how the application
affects it (in terms of memory/CPU usage, latency, etc.).
 
![Environments metrics](img/guide_environments_metrics.png)
![Environments metrics](img/guide_environments_metrics.png)
 
- The third icon is the [web terminal](../../ci/environments.md#web-terminals)
and it will open a terminal session right inside the container where the
Loading
Loading
Loading
Loading
@@ -30,22 +30,22 @@ Otherwise, you can:
 
1. Navigate manually to the **Admin Area** by clicking the wrench icon in the menu bar.
 
![Admin area icon](img/admin_wrench.png)
![Admin area icon](img/admin_wrench.png)
 
1. And then going to the **License** tab and click on **Upload New License**.
 
![License admin area](img/license_admin_area.png)
![License admin area](img/license_admin_area.png)
 
1. If you've received a `.gitlab-license` file, you should have already downloaded
it in your local machine. You can then upload it directly by choosing the
license file and clicking the **Upload license** button. In the image below,
you can see that the selected license file is named `GitLab.gitlab-license`.
 
![Upload license](img/license_upload.png)
![Upload license](img/license_upload.png)
 
If you've received your license as plain text, you need to select the
"Enter license key" option, copy the license, paste it into the "License key"
field and click **Upload license**.
If you've received your license as plain text, you need to select the
"Enter license key" option, copy the license, paste it into the "License key"
field and click **Upload license**.
 
## Add your license at install time
 
Loading
Loading
Loading
Loading
@@ -107,18 +107,18 @@ In order to purchase additional minutes, you should follow these steps:
 
1. Go to **Group > Settings > Pipelines quota**. Once you are on that page, click on **Buy additional minutes**.
 
![Buy additional minutes](img/buy_btn.png)
![Buy additional minutes](img/buy_btn.png)
 
1. Locate the subscription card that is linked to your group on GitLab.com,
click on **Buy more CI minutes**, and complete the details about the transaction.
 
![Buy additional minutes](img/buy_minutes_card.png)
![Buy additional minutes](img/buy_minutes_card.png)
 
1. Once we have processed your payment, the extra CI minutes
will be synced to your Group and you can visualize it from the
**Group > Settings > Pipelines quota** page:
 
![Additional minutes](img/additional_minutes.png)
![Additional minutes](img/additional_minutes.png)
 
Be aware that:
 
Loading
Loading
Loading
Loading
@@ -22,7 +22,7 @@ higher can also edit a comment made by someone else.
You can also reply to a comment notification email to reply to the comment if
[Reply by email] is configured for your GitLab instance. Replying to a standard comment
creates another standard comment. Replying to a threaded comment creates a reply in the thread. Email replies support
[Markdown] and [quick actions], just as if you replied from the web.
[Markdown] and [quick actions], just as if you replied from the web.
 
## Resolvable comments and threads
 
Loading
Loading
@@ -58,17 +58,17 @@ To create a commit diff thread:
1. Navigate to the merge request **Commits** tab. A list of commits that
constitute the merge request will be shown.
 
![Merge request commits tab](img/merge_request_commits_tab.png)
![Merge request commits tab](img/merge_request_commits_tab.png)
 
1. Navigate to a specific commit, click on the **Changes** tab (where you
will only be presented diffs from the selected commit), and leave a comment.
 
![Commit diff discussion in merge request context](img/commit_comment_mr_context.png)
![Commit diff discussion in merge request context](img/commit_comment_mr_context.png)
 
1. Any threads created this way will be shown in the merge request's
**Discussions** tab and are resolvable.
 
![Merge request Discussions tab](img/commit_comment_mr_discussions_tab.png)
![Merge request Discussions tab](img/commit_comment_mr_discussions_tab.png)
 
Threads created this way will only appear in the original merge request
and not when navigating to that commit under your project's
Loading
Loading
@@ -343,8 +343,8 @@ bottom of the screen with two buttons:
 
- **Discard**: Discards all comments that have not been submitted.
- **Finish review**: Opens a list of comments ready to be submitted for review.
Clicking **Submit review** will publish all comments. Any quick actions
submitted are performed at this time.
Clicking **Submit review** will publish all comments. Any quick actions
submitted are performed at this time.
 
Alternatively, every pending comment has a button to finish the entire review.
 
Loading
Loading
@@ -389,18 +389,18 @@ the Merge Request authored by the user that applied them.
1. Choose a line of code to be changed, add a new comment, then click
on the **Insert suggestion** icon in the toolbar:
 
![Add a new comment](img/insert_suggestion.png)
![Add a new comment](img/insert_suggestion.png)
 
1. In the comment, add your suggestion to the pre-populated code block:
 
![Add a suggestion into a code block tagged properly](img/make_suggestion.png)
![Add a suggestion into a code block tagged properly](img/make_suggestion.png)
 
1. Click **Comment**.
 
The suggestions in the comment can be applied by the merge request author
directly from the merge request:
The suggestions in the comment can be applied by the merge request author
directly from the merge request:
 
![Apply suggestions](img/suggestion.png)
![Apply suggestions](img/suggestion.png)
 
Once the author applies a suggestion, it will be marked with the **Applied** label,
the thread will be automatically resolved, and GitLab will create a new commit
Loading
Loading
Loading
Loading
@@ -91,11 +91,11 @@ To create a new Group, either:
 
- In the top menu, click **Groups** and then **Your Groups**, and click the green button **New group**.
 
![new group from groups page](img/new_group_from_groups.png)
![new group from groups page](img/new_group_from_groups.png)
 
- Or, in the top menu, expand the `plus` sign and choose **New group**.
 
![new group from elsewhere](img/new_group_from_other_pages.png)
![new group from elsewhere](img/new_group_from_other_pages.png)
 
Add the following information:
 
Loading
Loading
@@ -104,15 +104,15 @@ Add the following information:
1. The **Group name** will automatically populate the URL. Optionally, you can change it.
This is the name that displays in group views.
The name can contain only:
- Alphanumeric characters
- Underscores
- Dashes and dots
- Spaces
- Alphanumeric characters
- Underscores
- Dashes and dots
- Spaces
1. The **Group URL** is the namespace under which your projects will be hosted.
The URL can contain only:
- Alphanumeric characters
- Underscores
- Dashes and dots (it cannot start with dashes or end in a dot)
- Alphanumeric characters
- Underscores
- Dashes and dots (it cannot start with dashes or end in a dot)
1. Optionally, you can add a brief description to tell others
what this group is about.
1. Optionally, choose an avatar for your group.
Loading
Loading
@@ -166,12 +166,12 @@ There are two different ways to add a new project to a group:
 
- Select a group, and then click **New project**. You can then continue [creating your project](../../gitlab-basics/create-project.md).
 
![New project](img/create_new_project_from_group.png)
![New project](img/create_new_project_from_group.png)
 
- While you are creating a project, select a group namespace
you've already created from the dropdown menu.
 
![Select group](img/select_group_dropdown.png)
![Select group](img/select_group_dropdown.png)
 
### Default project-creation level
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment