From 6438df3a1e0fb944485cebf07976160184697d72 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 20 Jan 2021 13:34:23 -0600 Subject: Add latest changes from gitlab-org/gitlab@13-8-stable-ee --- doc/install/README.md | 24 ++++++++++----- doc/install/aws/index.md | 33 ++++++++++---------- doc/install/google_cloud_platform/index.md | 2 +- doc/install/installation.md | 49 ++++++++++++++++++++++++++++-- doc/install/requirements.md | 15 +++++---- 5 files changed, 88 insertions(+), 35 deletions(-) (limited to 'doc/install') diff --git a/doc/install/README.md b/doc/install/README.md index f0aee9b6927..7ed478439e0 100644 --- a/doc/install/README.md +++ b/doc/install/README.md @@ -17,7 +17,7 @@ troubleshooting), and the cost of hosting. Depending on your platform, select from the following available methods to install GitLab: -- [_Omnibus GitLab_](#installing-gitlab-using-the-omnibus-gitlab-package-recommended): +- [_Omnibus GitLab_](#installing-gitlab-on-linux-using-the-omnibus-gitlab-package-recommended): The official deb/rpm packages that contain a bundle of GitLab and the components it depends on, including PostgreSQL, Redis, and Sidekiq. - [_GitLab Helm chart_](#installing-gitlab-on-kubernetes-via-the-gitlab-helm-charts): @@ -42,16 +42,24 @@ Before you install GitLab, be sure to review the [system requirements](requireme The system requirements include details about the minimum hardware, software, database, and additional requirements to support GitLab. -## Installing GitLab using the Omnibus GitLab package (recommended) +## Installing GitLab on Linux using the Omnibus GitLab package (recommended) The Omnibus GitLab package uses our official deb/rpm repositories, and is recommended for most users. -If you need additional flexibility and resilience, we recommend deploying +If you need additional scale or resilience, we recommend deploying GitLab as described in our [reference architecture documentation](../administration/reference_architectures/index.md). [**> Install GitLab using the Omnibus GitLab package.**](https://about.gitlab.com/install/) +### GitLab Environment Toolkit (alpha) + +The [GitLab Environment Toolkit](https://gitlab.com/gitlab-org/quality/gitlab-environment-toolkit) provides a set of automation tools to easily deploy a [reference architecture](../administration/reference_architectures/index.md) on most major cloud providers. + +It is currently in alpha, and is not recommended for production use. + +[**> Install a GitLab reference architecture using the GitLab Environment Toolkit.**](https://gitlab.com/gitlab-org/quality/gitlab-environment-toolkit#documentation) + ## Installing GitLab on Kubernetes via the GitLab Helm charts When installing GitLab on Kubernetes, there are some trade-offs that you @@ -79,9 +87,10 @@ package. ## Installing GitLab from source -If the Omnibus GitLab package is not available in your distribution, you can -install GitLab from source: Useful for unsupported systems like \*BSD. For an -overview of the directory structure, read the [structure documentation](installation.md#gitlab-directory-structure). +If the Omnibus GitLab package isn't available for your distribution, you can +install GitLab from source. This can be useful with unsupported systems, like +\*BSD. For an overview of the directory structure, see the +[structure documentation](installation.md#gitlab-directory-structure). [**> Install GitLab from source.**](installation.md) @@ -94,8 +103,7 @@ the above methods, provided the cloud provider supports it. - [Install GitLab on Google Cloud Platform](google_cloud_platform/index.md): Install Omnibus GitLab on a VM in GCP. - [Install GitLab on Azure](azure/index.md): Install Omnibus GitLab from Azure Marketplace. - [Install GitLab on OpenShift](https://docs.gitlab.com/charts/installation/cloud/openshift.html): Install GitLab on OpenShift by using the GitLab Helm charts. -- [Install GitLab on DC/OS](https://d2iq.com/blog/gitlab-dcos): Install GitLab on Mesosphere DC/OS via the [GitLab-Mesosphere integration](https://about.gitlab.com/blog/2016/09/16/announcing-gitlab-and-mesosphere/). -- [Install GitLab on DigitalOcean](https://about.gitlab.com/blog/2016/04/27/getting-started-with-gitlab-and-digitalocean/): Install Omnibus GitLab on DigitalOcean. +- [Install GitLab on DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-gitlab-on-ubuntu-18-04): Install Omnibus GitLab on DigitalOcean. - _Testing only!_ [DigitalOcean and Docker Machine](digitaloceandocker.md): Quickly test any version of GitLab on DigitalOcean using Docker Machine. diff --git a/doc/install/aws/index.md b/doc/install/aws/index.md index 28f04c1a7a7..8a8e3a053b6 100644 --- a/doc/install/aws/index.md +++ b/doc/install/aws/index.md @@ -8,7 +8,7 @@ type: howto # Installing GitLab on Amazon Web Services (AWS) This page offers a walkthrough of a common configuration -for GitLab on AWS. You should customize it to accommodate your needs. +for GitLab on AWS using the official GitLab Linux package. You should customize it to accommodate your needs. NOTE: For organizations with 1,000 users or less, the recommended AWS installation method is to launch an EC2 single box [Omnibus Installation](https://about.gitlab.com/install/) and implement a snapshot strategy for backing up the data. See the [1,000 user reference architecture](../../administration/reference_architectures/1k_users.md) for more. @@ -44,22 +44,21 @@ Below is a diagram of the recommended architecture. ## AWS costs -Here's a list of the AWS services we will use, with links to pricing information: - -- **EC2**: GitLab will deployed on shared hardware which means - [on-demand pricing](https://aws.amazon.com/ec2/pricing/on-demand/) - will apply. If you want to run it on a dedicated or reserved instance, - consult the [EC2 pricing page](https://aws.amazon.com/ec2/pricing/) for more - information on the cost. -- **S3**: We will use S3 to store backups, artifacts, LFS objects, etc. See the - [Amazon S3 pricing](https://aws.amazon.com/s3/pricing/). -- **ELB**: A Classic Load Balancer will be used to route requests to the - GitLab instances. See the [Amazon ELB pricing](https://aws.amazon.com/elasticloadbalancing/pricing/). -- **RDS**: An Amazon Relational Database Service using PostgreSQL will be used. See the - [Amazon RDS pricing](https://aws.amazon.com/rds/postgresql/pricing/). -- **ElastiCache**: An in-memory cache environment will be used to provide a - Redis configuration. See the - [Amazon ElastiCache pricing](https://aws.amazon.com/elasticache/pricing/). +GitLab uses the following AWS services, with links to pricing information: + +- **EC2**: GitLab is deployed on shared hardware, for which + [on-demand pricing](https://aws.amazon.com/ec2/pricing/on-demand/) applies. + If you want to run GitLab on a dedicated or reserved instance, see the + [EC2 pricing page](https://aws.amazon.com/ec2/pricing/) for information about + its cost. +- **S3**: GitLab uses S3 ([pricing page](https://aws.amazon.com/s3/pricing/)) to + store backups, artifacts, and LFS objects. +- **ELB**: A Classic Load Balancer ([pricing page](https://aws.amazon.com/elasticloadbalancing/pricing/)), + used to route requests to the GitLab instances. +- **RDS**: An Amazon Relational Database Service using PostgreSQL + ([pricing page](https://aws.amazon.com/rds/postgresql/pricing/)). +- **ElastiCache**: An in-memory cache environment ([pricing page](https://aws.amazon.com/elasticache/pricing/)), + used to provide a Redis configuration. ## Create an IAM EC2 instance role and profile diff --git a/doc/install/google_cloud_platform/index.md b/doc/install/google_cloud_platform/index.md index 22f32d69c02..d579e214efc 100644 --- a/doc/install/google_cloud_platform/index.md +++ b/doc/install/google_cloud_platform/index.md @@ -8,7 +8,7 @@ type: howto # Installing GitLab on Google Cloud Platform -This guide will help you install GitLab on a [Google Cloud Platform (GCP)](https://cloud.google.com/) instance. +This guide will help you install GitLab on a [Google Cloud Platform (GCP)](https://cloud.google.com/) using the official GitLab Linux package. You should customize it to accommodate your needs. NOTE: Google provides a whitepaper for [deploying production-ready GitLab on diff --git a/doc/install/installation.md b/doc/install/installation.md index 983c7ed577f..80f3f6ab092 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -271,10 +271,22 @@ sudo adduser --disabled-login --gecos 'GitLab' git NOTE: In GitLab 12.1 and later, only PostgreSQL is supported. In GitLab 13.0 and later, we [require PostgreSQL 11+](requirements.md#postgresql-requirements). -1. Install the database packages: +1. Install the database packages. + + For Ubuntu 20.04 and later: + + ```shell + sudo apt install -y postgresql postgresql-client libpq-dev postgresql-contrib + ``` + + For Ubuntu 18.04 and earlier, the available PostgreSQL doesn't meet the minimum + version requirement. You need to add PostgreSQL's repository: ```shell - sudo apt-get install -y postgresql postgresql-client libpq-dev postgresql-contrib + wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - + RELEASE=$(lsb_release -cs) echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list + sudo apt update + sudo apt -y install postgresql-11 postgresql-client-11 libpq-dev ``` 1. Verify the PostgreSQL version you have is supported by the version of GitLab you're @@ -426,7 +438,7 @@ Clone Enterprise Edition: ```shell # Clone GitLab repository -sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab.git -b gitlab +sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab.git -b gitlab ``` Make sure to replace `` with the stable branch that matches the @@ -1041,3 +1053,34 @@ On RedHat/CentOS: ```shell sudo yum groupinstall 'Development Tools' ``` + +### Error compiling GitLab assets + +While compiling assets, you may receive the following error message: + +```plaintext +Killed +error Command failed with exit code 137. +``` + +This can occur when Yarn kills a container that runs out of memory. To fix this: + +1. Increase your system's memory to at least 8 GB. + +1. Run this command to clean the assets: + + ```shell + sudo -u git -H bundle exec rake gitlab:assets:clean RAILS_ENV=production NODE_ENV=production + ``` + +1. Run the `yarn` command again to resolve any conflicts: + + ```shell + sudo -u git -H yarn install --production --pure-lockfile + ``` + +1. Recompile the assets: + + ```shell + sudo -u git -H bundle exec rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production + ``` diff --git a/doc/install/requirements.md b/doc/install/requirements.md index cced6d0a3f6..69983edc383 100644 --- a/doc/install/requirements.md +++ b/doc/install/requirements.md @@ -16,7 +16,7 @@ as the hardware requirements that are needed to install and use GitLab. - Ubuntu (16.04/18.04/20.04) - Debian (9/10) -- CentOS (6/7/8) +- CentOS (7/8) - openSUSE (Leap 15.1/Enterprise Server 12.2) - Red Hat Enterprise Linux (please use the CentOS packages and instructions) - Scientific Linux (please use the CentOS packages and instructions) @@ -35,6 +35,9 @@ For the installation options, see [the main installation page](README.md). Installation of GitLab on these operating systems is possible, but not supported. Please see the [installation from source guide](installation.md) and the [installation guides](https://about.gitlab.com/install/) for more information. +Please see [OS versions that are no longer supported](https://docs.gitlab.com/omnibus/package-information/deprecated_os.html) for Omnibus installs page +for a list of supported and unsupported OS versions as well as the last support GitLab version for that OS. + ### Microsoft Windows GitLab is developed for Linux-based operating systems. @@ -163,11 +166,11 @@ Support for [PostgreSQL 9.6 and 10 has been removed in GitLab 13.0](https://abou #### Additional requirements for GitLab Geo -If you're using [GitLab Geo](../administration/geo/index.md): - -- We strongly recommend running Omnibus-managed instances as they are actively - developed and tested. We aim to be compatible with most external (not managed - by Omnibus) databases (for example, [AWS Relational Database Service (RDS)](https://aws.amazon.com/rds/)) but we don't guarantee compatibility. +If you're using [GitLab Geo](../administration/geo/index.md), we strongly +recommend running Omnibus GitLab-managed instances, as we actively develop and +test based on those. We try to be compatible with most external (not managed by +Omnibus GitLab) databases (for example, [AWS Relational Database Service (RDS)](https://aws.amazon.com/rds/)), +but we can't guarantee compatibility. ## Puma settings -- cgit v1.2.1