diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-08 21:08:08 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-08 21:08:08 +0000 |
commit | e0b84f4ba4b44c8ecf00be97843c40df2550b74c (patch) | |
tree | 7cecae4276358dd46d7fa15f84068f7b4c626089 /doc | |
parent | 73391dcc368ef846c2960c1d0ef5e64ca78e1bee (diff) | |
download | gitlab-ce-e0b84f4ba4b44c8ecf00be97843c40df2550b74c.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r-- | doc/administration/gitaly/praefect.md | 89 | ||||
-rw-r--r-- | doc/administration/packages/container_registry.md | 2 | ||||
-rw-r--r-- | doc/api/graphql/reference/gitlab_schema.graphql | 70 | ||||
-rw-r--r-- | doc/api/graphql/reference/gitlab_schema.json | 204 | ||||
-rw-r--r-- | doc/api/graphql/reference/index.md | 18 | ||||
-rw-r--r-- | doc/api/projects.md | 10 | ||||
-rw-r--r-- | doc/ci/docker/using_docker_images.md | 26 | ||||
-rw-r--r-- | doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md | 6 | ||||
-rw-r--r-- | doc/ci/yaml/README.md | 8 | ||||
-rw-r--r-- | doc/development/performance.md | 2 | ||||
-rw-r--r-- | doc/user/application_security/dependency_scanning/index.md | 2 | ||||
-rw-r--r-- | doc/user/project/pages/getting_started_part_four.md | 18 | ||||
-rw-r--r-- | doc/user/project/pages/introduction.md | 4 |
13 files changed, 391 insertions, 68 deletions
diff --git a/doc/administration/gitaly/praefect.md b/doc/administration/gitaly/praefect.md index 597be6cc97e..72c3f996841 100644 --- a/doc/administration/gitaly/praefect.md +++ b/doc/administration/gitaly/praefect.md @@ -25,15 +25,22 @@ The most common architecture for Praefect is simplified in the diagram below: ```mermaid graph TB GitLab --> Praefect; - Praefect --> Gitaly-1; - Praefect --> Gitaly-2; - Praefect --> Gitaly-3; + Praefect --- PostgreSQL; + Praefect --> Gitaly1; + Praefect --> Gitaly2; + Praefect --> Gitaly3; ``` Where `GitLab` is the collection of clients that can request Git operations. The Praefect node has three storage nodes attached. Praefect itself doesn't store data, but connects to three Gitaly nodes, `Gitaly-1`, `Gitaly-2`, and `Gitaly-3`. +In order to keep track of replication state, Praefect relies on a +PostgreSQL database. This database is a single point of failure so you +should use a highly available PostgreSQL server for this. GitLab +itself needs a HA PostgreSQL server too, so you could optionally co-locate the Praefect +SQL database on the PostgreSQL server you use for the rest of GitLab. + Praefect may be enabled on its own node or can be run on the GitLab server. In the example below we will use a separate server, but the optimal configuration for Praefect is still being determined. @@ -62,6 +69,53 @@ We need to manage the following secrets and make them match across hosts: `PRAEFECT_EXTERNAL_TOKEN` because Gitaly clients must not be able to access internal nodes of the Praefect cluster directly; that could lead to data loss. +1. `PRAEFECT_SQL_PASSWORD`: this password is used by Praefect to connect to + PostgreSQL. + +#### Network addresses + +1. `POSTGRESQL_SERVER`: the host name or IP address of your PostgreSQL server + +#### PostgreSQL + +To set up a Praefect cluster you need a highly available PostgreSQL +server. You need PostgreSQL 9.6 or newer. Praefect needs to have a SQL +user with the right to create databases. + +In the instructions below we assume you have administrative access to +your PostgreSQL server via `psql`. Depending on your environment, you +may also be able to do this via the web interface of your cloud +platform, or via your configuration management system, etc. + +Below we assume that you have administrative access as the `postgres` +user. First open a `psql` session as the `postgres` user: + +```shell +psql -h POSTGRESQL_SERVER -U postgres -d template1 +``` + +Once you are connected, run the following command. Replace +`PRAEFECT_SQL_PASSWORD` with the actual (random) password you +generated for the `praefect` SQL user: + +```sql +CREATE ROLE praefect WITH LOGIN CREATEDB PASSWORD 'PRAEFECT_SQL_PASSWORD'; +\q # exit psql +``` + +Now connect as the `praefect` user to create the database. This has +the side effect of verifying that you have access: + +```shell +psql -h POSTGRESQL_SERVER -U praefect -d template1 +``` + +Once you have connected as the `praefect` user, run: + +```sql +CREATE DATABASE praefect_production WITH ENCODING=UTF8; +\q # quit psql +``` #### Praefect @@ -118,10 +172,39 @@ praefect['virtual_storages'] = { } } } + +praefect['database_host'] = 'POSTGRESQL_SERVER' +praefect['database_port'] = 5432 +praefect['database_user'] = 'praefect' +praefect['database_password'] = 'PRAEFECT_SQL_PASSWORD' +praefect['database_dbname'] = 'praefect_production' + +# Uncomment the line below if you do not want to use an encrypted +# connection to PostgreSQL +# praefect['database_sslmode'] = 'disable' + +# Uncomment and modify these lines if you are using a TLS client +# certificate to connect to PostgreSQL +# praefect['database_sslcert'] = '/path/to/client-cert' +# praefect['database_sslkey'] = '/path/to/client-key' + +# Uncomment and modify this line if your PostgreSQL server uses a custom +# CA +# praefect['database_sslrootcert'] = '/path/to/rootcert' ``` Save the file and [reconfigure Praefect](../restart_gitlab.md#omnibus-gitlab-reconfigure). +After you reconfigure, verify that Praefect can reach PostgreSQL: + +```shell +sudo -u git /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml sql-ping +``` + +If the check fails, make sure you have followed the steps correctly. If you edit `/etc/gitlab/gitlab.rb`, +remember to run `sudo gitlab-ctl reconfigure` again before trying the +`sql-ping` command. + #### Gitaly Next we will configure each Gitaly server assigned to Praefect. Configuration for these diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index 0c6caed4e55..e573699e856 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -631,7 +631,7 @@ mounting the docker-daemon and setting `privileged = false` in the Runner's ```toml [runners.docker] - image = "ruby:2.1" + image = "ruby:2.6" privileged = false volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"] ``` diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql index 5c6dd93a676..c04071faf9c 100644 --- a/doc/api/graphql/reference/gitlab_schema.graphql +++ b/doc/api/graphql/reference/gitlab_schema.graphql @@ -529,9 +529,9 @@ type CreateSnippetPayload { snippet: Snippet } -type Design implements Noteable { +type Design implements DesignFields & Noteable { """ - Diff refs of the design + The diff refs for this design """ diffRefs: DiffRefs! @@ -561,33 +561,32 @@ type Design implements Noteable { ): DiscussionConnection! """ - Type of change made to the design at the version specified by the `atVersion` - argument if supplied. Defaults to the latest version + How this design was changed in the current version """ event: DesignVersionEvent! """ - Filename of the design file + The filename of the design """ filename: String! """ - Full path of the design file + The full path to the design file """ fullPath: String! """ - ID of the design + The ID of this design """ id: ID! """ - Image of the design + The URL of the image """ image: String! """ - Issue associated with the design + The issue the design belongs to """ issue: Issue! @@ -617,17 +616,17 @@ type Design implements Noteable { ): NoteConnection! """ - Total count of user-created notes for the design + The total count of user-created notes for this design """ notesCount: Int! """ - Project associated with the design + The project the design belongs to """ project: Project! """ - All versions related to the design, ordered newest first + All versions related to this design ordered newest first """ versions( """ @@ -765,6 +764,53 @@ type DesignEdge { node: Design } +interface DesignFields { + """ + The diff refs for this design + """ + diffRefs: DiffRefs! + + """ + How this design was changed in the current version + """ + event: DesignVersionEvent! + + """ + The filename of the design + """ + filename: String! + + """ + The full path to the design file + """ + fullPath: String! + + """ + The ID of this design + """ + id: ID! + + """ + The URL of the image + """ + image: String! + + """ + The issue the design belongs to + """ + issue: Issue! + + """ + The total count of user-created notes for this design + """ + notesCount: Int! + + """ + The project the design belongs to + """ + project: Project! +} + """ Autogenerated input type of DesignManagementDelete """ diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json index 1357cab54fe..8730cccf1ed 100644 --- a/doc/api/graphql/reference/gitlab_schema.json +++ b/doc/api/graphql/reference/gitlab_schema.json @@ -10350,7 +10350,7 @@ "fields": [ { "name": "diffRefs", - "description": "Diff refs of the design", + "description": "The diff refs for this design", "args": [ ], @@ -10425,7 +10425,7 @@ }, { "name": "event", - "description": "Type of change made to the design at the version specified by the `atVersion` argument if supplied. Defaults to the latest version", + "description": "How this design was changed in the current version", "args": [ ], @@ -10443,7 +10443,7 @@ }, { "name": "filename", - "description": "Filename of the design file", + "description": "The filename of the design", "args": [ ], @@ -10461,7 +10461,7 @@ }, { "name": "fullPath", - "description": "Full path of the design file", + "description": "The full path to the design file", "args": [ ], @@ -10479,7 +10479,7 @@ }, { "name": "id", - "description": "ID of the design", + "description": "The ID of this design", "args": [ ], @@ -10497,7 +10497,7 @@ }, { "name": "image", - "description": "Image of the design", + "description": "The URL of the image", "args": [ ], @@ -10515,7 +10515,7 @@ }, { "name": "issue", - "description": "Issue associated with the design", + "description": "The issue the design belongs to", "args": [ ], @@ -10590,7 +10590,7 @@ }, { "name": "notesCount", - "description": "Total count of user-created notes for the design", + "description": "The total count of user-created notes for this design", "args": [ ], @@ -10608,7 +10608,7 @@ }, { "name": "project", - "description": "Project associated with the design", + "description": "The project the design belongs to", "args": [ ], @@ -10626,7 +10626,7 @@ }, { "name": "versions", - "description": "All versions related to the design, ordered newest first", + "description": "All versions related to this design ordered newest first", "args": [ { "name": "after", @@ -10688,12 +10688,196 @@ "kind": "INTERFACE", "name": "Noteable", "ofType": null + }, + { + "kind": "INTERFACE", + "name": "DesignFields", + "ofType": null } ], "enumValues": null, "possibleTypes": null }, { + "kind": "INTERFACE", + "name": "DesignFields", + "description": null, + "fields": [ + { + "name": "diffRefs", + "description": "The diff refs for this design", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiffRefs", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "event", + "description": "How this design was changed in the current version", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DesignVersionEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The filename of the design", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "The full path to the design file", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of this design", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The URL of the image", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "The issue the design belongs to", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notesCount", + "description": "The total count of user-created notes for this design", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "The project the design belongs to", + "args": [ + + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Design", + "ofType": null + } + ] + }, + { "kind": "ENUM", "name": "DesignVersionEvent", "description": "Mutation event of a Design within a Version", diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index 8ca17d4107d..086c80415ad 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -104,15 +104,15 @@ The API can be explored interactively using the [GraphiQL IDE](../index.md#graph | Name | Type | Description | | --- | ---- | ---------- | -| `id` | ID! | ID of the design | -| `project` | Project! | Project associated with the design | -| `issue` | Issue! | Issue associated with the design | -| `notesCount` | Int! | Total count of user-created notes for the design | -| `filename` | String! | Filename of the design file | -| `fullPath` | String! | Full path of the design file | -| `event` | DesignVersionEvent! | Type of change made to the design at the version specified by the `atVersion` argument if supplied. Defaults to the latest version | -| `image` | String! | Image of the design | -| `diffRefs` | DiffRefs! | Diff refs of the design | +| `id` | ID! | The ID of this design | +| `project` | Project! | The project the design belongs to | +| `issue` | Issue! | The issue the design belongs to | +| `filename` | String! | The filename of the design | +| `fullPath` | String! | The full path to the design file | +| `image` | String! | The URL of the image | +| `diffRefs` | DiffRefs! | The diff refs for this design | +| `event` | DesignVersionEvent! | How this design was changed in the current version | +| `notesCount` | Int! | The total count of user-created notes for this design | ### DesignCollection diff --git a/doc/api/projects.md b/doc/api/projects.md index 33308ff8905..a856c01eb00 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -761,6 +761,14 @@ GET /projects/:id "snippets_enabled": false, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, + "container_expiration_policy": { + "cadence": "7d", + "enabled": false, + "keep_n": null, + "older_than": null, + "name_regex": null, + "next_run_at": "2020-01-07T21:42:58.658Z" + }, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, @@ -986,6 +994,7 @@ POST /projects | `snippets_access_level` | string | no | One of `disabled`, `private` or `enabled` | | `resolve_outdated_diff_discussions` | boolean | no | Automatically resolve merge request diffs discussions on lines changed with a push | | `container_registry_enabled` | boolean | no | Enable container registry for this project | +| `container_expiration_policy_attributes` | hash | no | Update the container expiration policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `enabled` (boolean) | | `shared_runners_enabled` | boolean | no | Enable shared runners for this project | | `visibility` | string | no | See [project visibility level](#project-visibility-level) | | `import_url` | string | no | URL to import repository from | @@ -1115,6 +1124,7 @@ PUT /projects/:id | `snippets_access_level` | string | no | One of `disabled`, `private` or `enabled` | | `resolve_outdated_diff_discussions` | boolean | no | Automatically resolve merge request diffs discussions on lines changed with a push | | `container_registry_enabled` | boolean | no | Enable container registry for this project | +| `container_expiration_policy_attributes` | hash | no | Update the container expiration policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `enabled` (boolean) | | `shared_runners_enabled` | boolean | no | Enable shared runners for this project | | `visibility` | string | no | See [project visibility level](#project-visibility-level) | | `import_url` | string | no | URL to import repository from | diff --git a/doc/ci/docker/using_docker_images.md b/doc/ci/docker/using_docker_images.md index 2d1abed0dc5..8c6069bd939 100644 --- a/doc/ci/docker/using_docker_images.md +++ b/doc/ci/docker/using_docker_images.md @@ -32,14 +32,14 @@ A one-line example can be seen below: sudo gitlab-runner register \ --url "https://gitlab.example.com/" \ --registration-token "PROJECT_REGISTRATION_TOKEN" \ - --description "docker-ruby-2.1" \ + --description "docker-ruby:2.6" \ --executor "docker" \ - --docker-image ruby:2.1 \ + --docker-image ruby:2.6 \ --docker-services postgres:latest \ --docker-services mysql:latest ``` -The registered runner will use the `ruby:2.1` Docker image and will run two +The registered runner will use the `ruby:2.6` Docker image and will run two services, `postgres:latest` and `mysql:latest`, both of which will be accessible during the build process. @@ -194,7 +194,7 @@ services that you want to use during build time: ```yaml default: - image: ruby:2.2 + image: ruby:2.6 services: - postgres:9.3 @@ -214,15 +214,15 @@ default: before_script: - bundle install -test:2.1: - image: ruby:2.1 +test:2.6: + image: ruby:2.6 services: - postgres:9.3 script: - bundle exec rake spec -test:2.2: - image: ruby:2.2 +test:2.7: + image: ruby:2.7 services: - postgres:9.4 script: @@ -235,7 +235,7 @@ for `image` and `services`: ```yaml default: image: - name: ruby:2.2 + name: ruby:2.6 entrypoint: ["/bin/bash"] services: @@ -277,7 +277,7 @@ services: command: ["postgres"] image: - name: ruby:2.2 + name: ruby:2.6 entrypoint: ["/bin/bash"] before_script: @@ -773,7 +773,7 @@ time. 1. Create any service container: `mysql`, `postgresql`, `mongodb`, `redis`. 1. Create cache container to store all volumes as defined in `config.toml` and - `Dockerfile` of build image (`ruby:2.1` as in above example). + `Dockerfile` of build image (`ruby:2.6` as in above example). 1. Create build container and link any service container to build container. 1. Start build container and send job script to the container. 1. Run job script. @@ -818,11 +818,11 @@ Finally, create a build container by executing the `build_script` file we created earlier: ```sh -docker run --name build -i --link=service-mysql:mysql --link=service-postgres:postgres ruby:2.1 /bin/bash < build_script +docker run --name build -i --link=service-mysql:mysql --link=service-postgres:postgres ruby:2.6 /bin/bash < build_script ``` The above command will create a container named `build` that is spawned from -the `ruby:2.1` image and has two services linked to it. The `build_script` is +the `ruby:2.6` image and has two services linked to it. The `build_script` is piped using STDIN to the bash interpreter which in turn executes the `build_script` in the `build` container. diff --git a/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md b/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md index 9a4fbfcce6d..66246a0fda2 100644 --- a/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md +++ b/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md @@ -71,12 +71,12 @@ gitlab-runner register \ --non-interactive \ --url "https://gitlab.com/" \ --registration-token "PROJECT_REGISTRATION_TOKEN" \ - --description "ruby-2.2" \ + --description "ruby:2.6" \ --executor "docker" \ - --docker-image ruby:2.2 \ + --docker-image ruby:2.6 \ --docker-postgres latest ``` -With the command above, you create a Runner that uses the [ruby:2.2](https://hub.docker.com/_/ruby) image and uses a [postgres](https://hub.docker.com/_/postgres) database. +With the command above, you create a Runner that uses the [ruby:2.6](https://hub.docker.com/_/ruby) image and uses a [postgres](https://hub.docker.com/_/postgres) database. To access the PostgreSQL database, connect to `host: postgres` as user `postgres` with no password. diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index 3fc9f75808f..1d735f4e221 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -3645,7 +3645,7 @@ having their own custom `script` defined: ```yaml .job_template: &job_definition # Hidden key that defines an anchor named 'job_definition' - image: ruby:2.1 + image: ruby:2.6 services: - postgres - redis @@ -3667,13 +3667,13 @@ given hash into the current one", and `*` includes the named anchor ```yaml .job_template: - image: ruby:2.1 + image: ruby:2.6 services: - postgres - redis test1: - image: ruby:2.1 + image: ruby:2.6 services: - postgres - redis @@ -3681,7 +3681,7 @@ test1: - test1 project test2: - image: ruby:2.1 + image: ruby:2.6 services: - postgres - redis diff --git a/doc/development/performance.md b/doc/development/performance.md index 786b590ec70..94285efdf1e 100644 --- a/doc/development/performance.md +++ b/doc/development/performance.md @@ -382,7 +382,7 @@ end ## String Freezing In recent Ruby versions calling `freeze` on a String leads to it being allocated -only once and re-used. For example, on Ruby 2.3 this will only allocate the +only once and re-used. For example, on Ruby 2.3 or later this will only allocate the "foo" String once: ```ruby diff --git a/doc/user/application_security/dependency_scanning/index.md b/doc/user/application_security/dependency_scanning/index.md index 01feaaac423..59f241db7de 100644 --- a/doc/user/application_security/dependency_scanning/index.md +++ b/doc/user/application_security/dependency_scanning/index.md @@ -146,7 +146,7 @@ using environment variables. | `PIP_INDEX_URL` | Base URL of Python Package Index (default `https://pypi.org/simple`). | | `PIP_EXTRA_INDEX_URL` | Array of [extra URLs](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-extra-index-url) of package indexes to use in addition to `PIP_INDEX_URL`. Comma separated. | | `PIP_REQUIREMENTS_FILE` | Pip requirements file to be scanned. | -| `MAVEN_CLI_OPTS` | List of command line arguments that will be passed to the maven analyzer during the project's build phase (see example for [using private repos](#using-private-maven-repos)). | +| `MAVEN_CLI_OPTS` | List of command line arguments that will be passed to `maven` by the analyzer. The default is `"-DskipTests --batch-mode"`. See an example for [using private repos](#using-private-maven-repos). | | `BUNDLER_AUDIT_UPDATE_DISABLED` | Disable automatic updates for the `bundler-audit` analyzer (default: `"false"`). Useful if you're running Dependency Scanning in an offline, air-gapped environment.| ### Using private Maven repos diff --git a/doc/user/project/pages/getting_started_part_four.md b/doc/user/project/pages/getting_started_part_four.md index 27bd9da8d18..263b20ea224 100644 --- a/doc/user/project/pages/getting_started_part_four.md +++ b/doc/user/project/pages/getting_started_part_four.md @@ -1,5 +1,5 @@ --- -last_updated: 2019-06-04 +last_updated: 2020-01-06 type: reference, howto --- @@ -158,7 +158,7 @@ first thing GitLab Runner will look for in your `.gitlab-ci.yml` is a your container to run that script: ```yaml -image: ruby:2.3 +image: ruby:2.7 pages: script: @@ -170,9 +170,9 @@ pages: ``` In this case, you're telling the Runner to pull this image, which -contains Ruby 2.3 as part of its file system. When you don't specify +contains Ruby 2.7 as part of its file system. When you don't specify this image in your configuration, the Runner will use a default -image, which is Ruby 2.1. +image, which is Ruby 2.6. If your SSG needs [NodeJS](https://nodejs.org/) to build, you'll need to specify which image you want to use, and this image should @@ -198,7 +198,7 @@ To do that, we need to add another line to our CI, telling the Runner to only perform that _job_ called `pages` on the `master` branch `only`: ```yaml -image: ruby:2.3 +image: ruby:2.6 pages: script: @@ -221,7 +221,7 @@ and deploy. To specify which stage your _job_ is running, simply add another line to your CI: ```yaml -image: ruby:2.3 +image: ruby:2.6 pages: stage: deploy @@ -244,7 +244,7 @@ let's add another task (_job_) to our CI, telling it to test every push to other branches, `except` the `master` branch: ```yaml -image: ruby:2.3 +image: ruby:2.6 pages: stage: deploy @@ -294,7 +294,7 @@ every single _job_. In our example, notice that we run We don't need to repeat it: ```yaml -image: ruby:2.3 +image: ruby:2.6 before_script: - bundle install @@ -329,7 +329,7 @@ cache Jekyll dependencies in a `vendor` directory when we run `bundle install`: ```yaml -image: ruby:2.3 +image: ruby:2.6 cache: paths: diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md index 01e1909f6d6..37b5e77c062 100644 --- a/doc/user/project/pages/introduction.md +++ b/doc/user/project/pages/introduction.md @@ -1,6 +1,6 @@ --- type: reference -last_updated: 2018-06-04 +last_updated: 2020-01-06 --- # Exploring GitLab Pages @@ -156,7 +156,7 @@ Below is a copy of `.gitlab-ci.yml` where the most significant line is the last one, specifying to execute everything in the `pages` branch: ``` -image: ruby:2.1 +image: ruby:2.6 pages: script: |