diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
commit | 85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch) | |
tree | 9160f299afd8c80c038f08e1545be119f5e3f1e1 /doc/ci/quick_start | |
parent | 15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff) | |
download | gitlab-ce-85dc423f7090da0a52c73eb66faf22ddb20efff9.tar.gz |
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'doc/ci/quick_start')
-rw-r--r-- | doc/ci/quick_start/README.md | 89 |
1 files changed, 44 insertions, 45 deletions
diff --git a/doc/ci/quick_start/README.md b/doc/ci/quick_start/README.md index 050df243af4..fa16614b0e0 100644 --- a/doc/ci/quick_start/README.md +++ b/doc/ci/quick_start/README.md @@ -11,9 +11,9 @@ GitLab offers a [continuous integration](https://about.gitlab.com/stages-devops- [pipeline](../pipelines/index.md), you must: - Add a [`.gitlab-ci.yml` file](#creating-a-gitlab-ciyml-file) to your repository's root directory. -- Ensure your project is configured to use a [Runner](#configuring-a-runner). +- Ensure your project is configured to use a [runner](#configuring-a-runner). -The `.gitlab-ci.yml` file tells the GitLab Runner what to do. A simple pipeline commonly has +The `.gitlab-ci.yml` file tells the runner what to do. A simple pipeline commonly has three [stages](../yaml/README.md#stages): - `build` @@ -57,7 +57,7 @@ The `.gitlab-ci.yml` file is where you configure what CI does with your project. It lives in the root of your repository. On any push to your repository, GitLab will look for the `.gitlab-ci.yml` -file and start jobs on _Runners_ according to the contents of the file, +file and start jobs on _runners_ according to the contents of the file, for that commit. Because `.gitlab-ci.yml` is in the repository and is version controlled, old @@ -80,14 +80,15 @@ so you have to pay extra attention to indentation. Always use spaces, not tabs. Below is an example for a Ruby on Rails project: ```yaml -image: "ruby:2.5" - -before_script: - - sudo apt-get update -qq && sudo apt-get install -y -qq sqlite3 libsqlite3-dev nodejs - - ruby -v - - which ruby - - gem install bundler --no-document - - bundle install --jobs $(nproc) "${FLAGS[@]}" +default: + image: ruby:2.5 + before_script: + - apt-get update + - apt-get install -y sqlite3 libsqlite3-dev nodejs + - ruby -v + - which ruby + - gem install bundler --no-document + - bundle install --jobs $(nproc) "${FLAGS[@]}" rspec: script: @@ -109,7 +110,7 @@ The `.gitlab-ci.yml` file defines sets of jobs with constraints of how and when they should be run. The jobs are defined as top-level elements with a name (in our case `rspec` and `rubocop`) and always have to contain the `script` keyword. Jobs are used to create jobs, which are then picked by -[Runners](../runners/README.md) and executed within the environment of the Runner. +[runners](../runners/README.md) and executed within the environment of the runner. What is important is that each job is run independently from each other. @@ -134,7 +135,7 @@ Now if you go to the **Pipelines** page you will see that the pipeline is pending. NOTE: **Note:** -If you have a [mirrored repository where GitLab pulls from](../../user/project/repository/repository_mirroring.md#pulling-from-a-remote-repository-starter), +If you have a [mirrored repository where GitLab pulls from](../../user/project/repository/repository_mirroring.md#pulling-from-a-remote-repository), you may need to enable pipeline triggering in your project's **Settings > Repository > Pull from a remote repository > Trigger pipelines for mirror updates**. @@ -148,59 +149,54 @@ Clicking on it you will be directed to the jobs page for that specific commit. ![Single commit jobs page](img/single_commit_status_pending.png) Notice that there is a pending job which is named after what we wrote in -`.gitlab-ci.yml`. "stuck" indicates that there is no Runner configured +`.gitlab-ci.yml`. "stuck" indicates that there is no runner configured yet for this job. -The next step is to configure a Runner so that it picks the pending jobs. +The next step is to configure a runner so that it picks the pending jobs. -## Configuring a Runner +## Configuring a runner -In GitLab, Runners run the jobs that you define in `.gitlab-ci.yml`. A Runner -can be a virtual machine, a VPS, a bare-metal machine, a Docker container or -even a cluster of containers. GitLab and the Runners communicate through an API, -so the only requirement is that the Runner's machine has network access to the +In GitLab, runners run the jobs that you define in `.gitlab-ci.yml`. A runner +can be a virtual machine, a VPS, a bare-metal machine, a Docker container, or +even a cluster of containers. GitLab and the runner communicate through an API, +so the only requirement is that the runner's machine has network access to the GitLab server. -A Runner can be specific to a certain project or serve multiple projects in -GitLab. If it serves all projects it's called a _Shared Runner_. - -Find more information about different Runners in the -[Runners](../runners/README.md) documentation. +A runner can be specific to a certain project or serve multiple projects in +GitLab. If it serves all projects, it's called a _shared runner_. -You can find whether any Runners are assigned to your project by going to -**Settings ➔ CI/CD**. Setting up a Runner is easy and straightforward. The -official Runner supported by GitLab is written in Go and its documentation -can be found at <https://docs.gitlab.com/runner/>. +Find more information about runners in the +[runner](../runners/README.md) documentation. -In order to have a functional Runner you need to follow two steps: +The official runner supported by GitLab is written in Go. +View [the documentation](https://docs.gitlab.com/runner/). -1. [Install it](https://docs.gitlab.com/runner/install/) -1. [Configure it](https://docs.gitlab.com/runner/configuration/) +For a runner to be available in GitLab, you must: -Follow the links above to set up your own Runner or use a Shared Runner as -described in the next section. +1. [Install GitLab Runner](https://docs.gitlab.com/runner/install/). +1. [Register a runner for your group or project](https://docs.gitlab.com/runner/register/). -Once the Runner has been set up, you should see it on the Runners page of your -project, following **Settings ➔ CI/CD**. +When a runner is available, you can view it by +clicking **Settings > CI/CD** and expanding **Runners**. ![Activated runners](img/runners_activated.png) -### Shared Runners +### Shared runners -If you use [GitLab.com](https://gitlab.com/) you can use the **Shared Runners** -provided by GitLab Inc. +If you use [GitLab.com](https://gitlab.com/), you can use the **shared runners** +provided by GitLab. These are special virtual machines that run on GitLab's infrastructure and can build any project. -To enable the **Shared Runners** you have to go to your project's -**Settings ➔ CI/CD** and click **Enable shared runners**. +To enable shared runners, go to your project's or group's +**Settings > CI/CD** and click **Enable shared runners**. -[Read more on Shared Runners](../runners/README.md). +[Read more about shared runners](../runners/README.md#shared-runners). -## Seeing the status of your pipeline and jobs +## Viewing the status of your pipeline and jobs -After configuring the Runner successfully, you should see the status of your +After configuring the runner successfully, you should see the status of your last commit change from _pending_ to either _running_, _success_ or _failed_. You can view all pipelines by going to the **Pipelines** page in your project. @@ -220,7 +216,10 @@ you expected. You are also able to view the status of any commit in the various pages in GitLab, such as **Commits** and **Merge requests**. -## Examples +## Additional resources Visit the [examples README](../examples/README.md) to see a list of examples using GitLab CI with various languages. + +For help making your new pipelines faster and more efficient, see the +[pipeline efficiency documentation](../pipelines/pipeline_efficiency.md). |