Commit ce130e21 authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent ed4df05c
<!-- Follow the documentation workflow https://docs.gitlab.com/ee/development/documentation/workflow.html --> <!-- Follow the documentation workflow https://docs.gitlab.com/ee/development/documentation/workflow.html -->
<!-- Additional information is located at https://docs.gitlab.com/ee/development/documentation/ --> <!-- Additional information is located at https://docs.gitlab.com/ee/development/documentation/ -->
<!-- To find the designated Tech Writer for the stage/group, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers -->
<!-- Mention "documentation" or "docs" in the MR title --> <!-- Mention "documentation" or "docs" in the MR title -->
<!-- For changing documentation location use the "Change documentation location" template --> <!-- For changing documentation location use the "Change documentation location" template -->
......
...@@ -2,26 +2,18 @@ ...@@ -2,26 +2,18 @@
type: reference type: reference
--- ---
# Multi-project pipelines **(PREMIUM)** # Multi-project pipelines
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/2121) in > - [Introduced](https://about.gitlab.com/releases/2015/08/22/gitlab-7-14-released/#build-triggers-api-gitlab-ci) in GitLab 7.14, as Build Triggers.
[GitLab Premium 9.3](https://about.gitlab.com/releases/2017/06/22/gitlab-9-3-released/#multi-project-pipeline-graphs). > - [Made available](https://gitlab.com/gitlab-org/gitlab/issues/199224) in all tiers in GitLab 12.8.
When you set up [GitLab CI/CD](README.md) across multiple projects, you can visualize You can set up [GitLab CI/CD](README.md) across multiple projects, so that a pipeline
the entire pipeline, including all cross-project inter-dependencies. in one project can trigger a pipeline in another project.
## Overview ## Overview
GitLab CI/CD is a powerful continuous integration tool that works not only per project, but also across projects. When you GitLab CI/CD is a powerful continuous integration tool that works not only per project,
configure GitLab CI for your project, you can visualize the stages but also across projects with multi-project pipelines.
of your [jobs](pipelines.md#configuring-pipelines) on a [pipeline graph](pipelines.md#visualizing-pipelines).
![Multi-project pipeline graph](img/multi_project_pipeline_graph.png)
In the Merge Request Widget, multi-project pipeline mini-graphs are displayed,
and when hovering or tapping (on touchscreen devices) they will expand and be shown adjacent to each other.
![Multi-project mini graph](img/multi_pipeline_mini_graph.gif)
Multi-project pipelines are useful for larger products that require cross-project inter-dependencies, such as those Multi-project pipelines are useful for larger products that require cross-project inter-dependencies, such as those
adopting a [microservices architecture](https://about.gitlab.com/blog/2016/08/16/trends-in-version-control-land-microservices/). adopting a [microservices architecture](https://about.gitlab.com/blog/2016/08/16/trends-in-version-control-land-microservices/).
...@@ -30,6 +22,9 @@ For a demonstration of how cross-functional development teams can use cross-pipe ...@@ -30,6 +22,9 @@ For a demonstration of how cross-functional development teams can use cross-pipe
triggering to trigger multiple pipelines for different microservices projects, see triggering to trigger multiple pipelines for different microservices projects, see
[Cross-project Pipeline Triggering and Visualization](https://about.gitlab.com/handbook/marketing/product-marketing/demo/#cross-project-pipeline-triggering-and-visualization-may-2019---1110). [Cross-project Pipeline Triggering and Visualization](https://about.gitlab.com/handbook/marketing/product-marketing/demo/#cross-project-pipeline-triggering-and-visualization-may-2019---1110).
Additionally, it's possible to visualize the entire pipeline, including all cross-project
inter-dependencies. **(PREMIUM)**
## Use cases ## Use cases
Let's assume you deploy your web app from different projects in GitLab: Let's assume you deploy your web app from different projects in GitLab:
...@@ -40,8 +35,25 @@ Let's assume you deploy your web app from different projects in GitLab: ...@@ -40,8 +35,25 @@ Let's assume you deploy your web app from different projects in GitLab:
With Multi-Project Pipelines you can visualize the entire pipeline, including all build and test stages for the three projects. With Multi-Project Pipelines you can visualize the entire pipeline, including all build and test stages for the three projects.
## Multi-project pipeline visualization **(PREMIUM)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/2121) in [GitLab Premium 9.3](https://about.gitlab.com/releases/2017/06/22/gitlab-9-3-released/#multi-project-pipeline-graphs).
When you configure GitLab CI for your project, you can visualize the stages of your
[jobs](pipelines.md#configuring-pipelines) on a [pipeline graph](pipelines.md#visualizing-pipelines).
![Multi-project pipeline graph](img/multi_project_pipeline_graph.png)
In the Merge Request Widget, multi-project pipeline mini-graphs are displayed,
and when hovering or tapping (on touchscreen devices) they will expand and be shown adjacent to each other.
![Multi-project mini graph](img/multi_pipeline_mini_graph.gif)
## Triggering multi-project pipelines through API ## Triggering multi-project pipelines through API
> - Use of `CI_JOB_TOKEN` for multi-project pipelines was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2017) in [GitLab Premium][ee] 9.3.
> - Use of `CI_JOB_TOKEN` for multi-project pipelines was [made available](https://gitlab.com/gitlab-org/gitlab/issues/31573) in all tiers in GitLab 12.4.
When you use the [`CI_JOB_TOKEN` to trigger pipelines](triggers/README.md#ci-job-token), GitLab When you use the [`CI_JOB_TOKEN` to trigger pipelines](triggers/README.md#ci-job-token), GitLab
recognizes the source of the job token, and thus internally ties these pipelines recognizes the source of the job token, and thus internally ties these pipelines
together, allowing you to visualize their relationships on pipeline graphs. together, allowing you to visualize their relationships on pipeline graphs.
...@@ -52,7 +64,7 @@ outbound connections for upstream and downstream pipeline dependencies. ...@@ -52,7 +64,7 @@ outbound connections for upstream and downstream pipeline dependencies.
## Creating multi-project pipelines from `.gitlab-ci.yml` ## Creating multi-project pipelines from `.gitlab-ci.yml`
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/8997) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.8. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/8997) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.8.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/issues/199224) to GitLab Core in 12.8. > - [Made available](https://gitlab.com/gitlab-org/gitlab/issues/199224) in all tiers in 12.8.
### Triggering a downstream pipeline using a bridge job ### Triggering a downstream pipeline using a bridge job
......
...@@ -299,11 +299,12 @@ Pipeline status and test coverage report badges are available and configurable f ...@@ -299,11 +299,12 @@ Pipeline status and test coverage report badges are available and configurable f
For information on adding pipeline badges to projects, see [Pipeline badges](../user/project/pipelines/settings.md#pipeline-badges). For information on adding pipeline badges to projects, see [Pipeline badges](../user/project/pipelines/settings.md#pipeline-badges).
## Multi-project pipelines **(PREMIUM)** ## Multi-project pipelines
Pipelines for different projects can be combined and visualized together. Pipelines for different projects can be combined together into [Multi-project pipelines](multi_project_pipelines.md).
For more information, see [Multi-project pipelines](multi_project_pipelines.md). [Multi-project pipeline graphs](multi_project_pipelines.md#multi-project-pipeline-visualization-premium) help
you visualize the entire pipeline, including all cross-project inter-dependencies. **(PREMIUM)**
## Parent-child pipelines ## Parent-child pipelines
......
...@@ -343,12 +343,16 @@ This is really useful for cloning repositories to your Continuous ...@@ -343,12 +343,16 @@ This is really useful for cloning repositories to your Continuous
Integration (CI) server. By using deploy keys, you don't have to set up a Integration (CI) server. By using deploy keys, you don't have to set up a
dummy user account. dummy user account.
If you are a project maintainer or owner, you can add a deploy key in the Project maintainers and owners can add a deploy key. To add one:
project's **{settings}** **Settings > CI / CD** page by expanding the
**Deploy Keys** section. Specify a title for the new 1. Go to the settings page:
deploy key and paste a public SSH key. After this, the machine that uses - On GitLab 12.8 and earlier, navigate to the project's **Settings > Repository**.
the corresponding private SSH key has read-only or read-write (if enabled) - On GitLab 12.9 and later, navigate to the project's **Settings > CI / CD**.
access to the project. 1. Expand the **Deploy Keys** section.
1. Specify a title for the new deploy key and paste a public SSH key.
After this, the machine that uses the corresponding private SSH key has read-only or
read-write (if enabled) access to the project.
You can't add the same deploy key twice using the form. You can't add the same deploy key twice using the form.
If you want to add the same key to another project, please enable it in the If you want to add the same key to another project, please enable it in the
...@@ -387,9 +391,14 @@ of broader usage for something like "Anywhere you need to give read access to ...@@ -387,9 +391,14 @@ of broader usage for something like "Anywhere you need to give read access to
your repository". your repository".
Once a GitLab administrator adds the Global Deployment key, project maintainers Once a GitLab administrator adds the Global Deployment key, project maintainers
and owners can add it in project's **{settings}** **Settings > CI / CD** page by expanding the and owners can add it by:
**Deploy Keys** section and clicking **Enable** next to the appropriate key listed
under **Public deploy keys available to any project**. 1. Navigating the settings page:
- On GitLab 12.8 and earlier, the project's **Settings > Repository** page.
- On GitLab 12.9 and later, the project's **Settings > CI / CD** page.
1. Expanding the **Deploy Keys** section.
1. Clicking **Enable** next to the appropriate key listed under
**Public deploy keys available to any project**.
NOTE: **Note:** NOTE: **Note:**
The heading **Public deploy keys available to any project** only appears The heading **Public deploy keys available to any project** only appears
......
# Deploy Tokens # Deploy Tokens
> [Introduced][ce-17894] in GitLab 10.7. > - [Introduced][ce-17894] in GitLab 10.7.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/issues/199370) from **Settings > Repository** in GitLab 12.9.
Deploy tokens allow to download (through `git clone`), or read the container registry images of a project without the need of having a user and a password. Deploy tokens allow you to download (through `git clone`) or read the container registry images of a project without having a user and a password.
Please note, that the expiration of deploy tokens happens on the date you define, Please note that deploy tokens expire on the date you define,
at midnight UTC and that they can be only managed by [maintainers](../../permissions.md). at midnight UTC, and that they can be only managed by [maintainers](../../permissions.md).
## Creating a Deploy Token ## Creating a Deploy Token
......
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