To create a release in the Tags page, add release notes to either an existing or a new Git tag.
To add release notes to a new Git tag:
1. On the top bar, select **Menu > Projects** and find your project.
1. On the left sidebar, select **Repository > Tags**.
1. Select **New tag**.
1. Optional. Enter a tag message in the **Message** text box.
1. In the **Release notes** text box, enter the release's description.
You can use Markdown and drag and drop files to this text box.
1. Select **Create tag**.
To edit release notes of an existing Git tag:
1. On the top bar, select **Menu > Projects** and find your project.
1. On the left sidebar, select **Repository > Tags**.
1. Select **Edit release notes** (**{pencil}**).
1. In the **Release notes** text box, enter the release's description.
You can use Markdown and drag and drop files to this text box.
1. Select **Save changes**.
### Create a release by using a CI/CD job
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19298) in GitLab 12.7.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19298) in GitLab 12.7.
You can create a release directly as part of the GitLab CI/CD pipeline
You can create a release directly as part of the GitLab CI/CD pipeline
by using [the `release` keyword](../../../ci/yaml/index.md#release) in the job definition.
by using the [`release` keyword](../../../ci/yaml/index.md#release) in the job definition.
The release is created only if the job processes without error. If the Rails API returns an error
The release is created only if the job processes without error. If the API returns an error during
during release creation, the release job fails.
release creation, the release job fails.
### CI/CD example of the `release` keyword
#### CI/CD example of the `release` keyword
To create a release when you push a Git tag, or when you add a Git tag
To create a release when you push a Git tag, or when you add a Git tag
in the UI by going to **Repository > Tags**:
in the UI by going to **Repository > Tags**:
...
@@ -213,7 +248,7 @@ which requires the text representation of the certificate.
...
@@ -213,7 +248,7 @@ which requires the text representation of the certificate.
### `release-cli` command line
### `release-cli` command line
The entries under the `release` node are transformed into a `bash` command line and sent
The entries under the `release` node are transformed into Bash commands and sent
to the Docker container, which contains the [release-cli](https://gitlab.com/gitlab-org/release-cli).
to the Docker container, which contains the [release-cli](https://gitlab.com/gitlab-org/release-cli).
You can also call the `release-cli` directly from a `script` entry.
You can also call the `release-cli` directly from a `script` entry.
...
@@ -261,7 +296,8 @@ release tag. When the `released_at` date and time has passed, the badge is autom
...
@@ -261,7 +296,8 @@ release tag. When the `released_at` date and time has passed, the badge is autom
## Edit a release
## Edit a release
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/26016) in GitLab 12.6. Asset link editing was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9427) in GitLab 12.10.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/26016) in GitLab 12.6.
> - Asset link editing [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9427) in GitLab 12.10.
Only users with at least the Developer role can edit releases.
Only users with at least the Developer role can edit releases.
Read more about [Release permissions](#release-permissions).
Read more about [Release permissions](#release-permissions).
...
@@ -277,29 +313,6 @@ You can edit the release title, notes, associated milestones, and asset links.
...
@@ -277,29 +313,6 @@ You can edit the release title, notes, associated milestones, and asset links.