diff options
author | Achilleas Pipinellis <axil@gitlab.com> | 2019-06-07 07:09:50 +0000 |
---|---|---|
committer | John Jarvis <jarv@gitlab.com> | 2019-06-10 09:39:46 +0200 |
commit | 9c3713a968e3cd3b086267d05d35a86c60cc7dc7 (patch) | |
tree | fa82fca5fcd9de7031a14c8011be82edc6c27212 | |
parent | a1ada784b16c082dbdeb4b65e067125f8429bbaf (diff) | |
download | gitlab-ce-11-11-stable-patch-3.tar.gz |
Merge branch 'update_source_#62187' into 'master'11-11-stable-patch-3
Add git 2.21 install from update_source
See merge request gitlab-org/gitlab-ce!28836
-rw-r--r-- | doc/development/architecture.md | 92 | ||||
-rw-r--r-- | doc/update/upgrading_from_source.md | 60 |
2 files changed, 142 insertions, 10 deletions
diff --git a/doc/development/architecture.md b/doc/development/architecture.md index ddfbd449c20..1f4d40fedfd 100644 --- a/doc/development/architecture.md +++ b/doc/development/architecture.md @@ -462,3 +462,95 @@ Note: It is recommended to log into the `git` user using `sudo -i -u git` or `su ## GitLab.com We've also detailed [our architecture of GitLab.com](https://about.gitlab.com/handbook/engineering/infrastructure/production-architecture/) but this is probably over the top unless you have millions of users. + +[alertmanager-omnibus]: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template +[alertmanager-charts]: https://github.com/helm/charts/tree/master/stable/prometheus +[nginx-omnibus]: https://docs.gitlab.com/omnibus/settings/ +[nginx-charts]: https://docs.gitlab.com/charts/charts/nginx/ +[nginx-source]: ../install/installation.md#9-nginx +[unicorn-omnibus]: https://docs.gitlab.com/omnibus/settings/unicorn.html +[unicorn-charts]: https://docs.gitlab.com/charts/charts/gitlab/unicorn/ +[unicorn-source]: ../install/installation.md#configure-it +[gitlab-yml]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/gitlab.yml.example +[sidekiq-omnibus]: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template +[sidekiq-charts]: https://docs.gitlab.com/charts/charts/gitlab/sidekiq/ +[gitaly-omnibus]: ../administration/gitaly/index.md +[gitaly-charts]: https://docs.gitlab.com/charts/charts/gitlab/gitaly/ +[gitaly-source]: ../install/installation.md#install-gitaly +[workhorse-omnibus]: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template +[workhorse-charts]: https://docs.gitlab.com/charts/charts/gitlab/unicorn/ +[workhorse-source]: ../install/installation.md#install-gitlab-workhorse +[shell-omnibus]: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template +[shell-charts]: https://docs.gitlab.com/charts/charts/gitlab/gitlab-shell/ +[shell-source]: ../install/installation.md#install-gitlab-shell +[pages-omnibus]: ../administration/pages/index.md +[pages-charts]: https://gitlab.com/charts/gitlab/issues/37 +[pages-source]: ../install/installation.md#install-gitlab-pages +[pages-gdk]: https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/pages.md +[registry-omnibus]: ../administration/container_registry.md#container-registry-domain-configuration +[registry-charts]: https://docs.gitlab.com/charts/charts/registry/ +[registry-source]: ../administration/container_registry.md#enable-the-container-registry +[registry-gdk]: https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/registry.md +[redis-omnibus]: https://docs.gitlab.com/omnibus/settings/redis.html +[redis-charts]: https://docs.gitlab.com/charts/charts/redis/ +[redis-source]: ../install/installation.md#7-redis +[postgres-omnibus]: https://docs.gitlab.com/omnibus/settings/database.html +[postgres-charts]: https://github.com/helm/charts/tree/master/stable/postgresql +[postgres-source]: ../install/installation.md#6-database +[pgbouncer-omnibus]: ../administration/high_availability/pgbouncer.md +[pgbouncer-charts]: https://docs.gitlab.com/charts/installation/deployment.html#postgresql +[consul-omnibus]: ../administration/high_availability/consul.md +[consul-charts]: https://docs.gitlab.com/charts/installation/deployment.html#postgresql +[prometheus-omnibus]: ../administration/monitoring/prometheus/index.md +[prometheus-charts]: https://github.com/helm/charts/tree/master/stable/prometheus +[grafana-omnibus]: ../administration/monitoring/performance/grafana_configuration.md +[grafana-charts]: https://github.com/helm/charts/tree/master/stable/grafana +[sentry-omnibus]: https://docs.gitlab.com/omnibus/settings/configuration.html#error-reporting-and-logging-with-sentry +[sentry-charts]: https://gitlab.com/charts/gitlab/issues/1319 +[jaeger-omnibus]: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4104 +[jaeger-charts]: https://gitlab.com/charts/gitlab/issues/1320 +[jaeger-source]: ../development/distributed_tracing.md#enabling-distributed-tracing +[jaeger-gdk]: ../development/distributed_tracing.html#using-jaeger-in-the-gitlab-development-kit +[redis-exporter-omnibus]: ../administration/monitoring/prometheus/redis_exporter.md +[redis-exporter-charts]: https://docs.gitlab.com/charts/charts/redis/ +[postgres-exporter-omnibus]: ../administration/monitoring/prometheus/postgres_exporter.md +[postgres-exporter-charts]: https://github.com/helm/charts/tree/master/stable/postgresql +[pgbouncer-exporter-omnibus]: ../administration/monitoring/prometheus/pgbouncer_exporter.md +[pgbouncer-exporter-charts]: https://docs.gitlab.com/charts/installation/deployment.html#postgresql +[gitlab-monitor-omnibus]: ../administration/monitoring/prometheus/gitlab_monitor_exporter.md +[gitab-monitor-charts]: https://gitlab.com/charts/gitlab/issues/319 +[node-exporter-omnibus]: ../administration/monitoring/prometheus/node_exporter.md +[node-exporter-charts]: https://gitlab.com/charts/gitlab/issues/1332 +[mattermost-omnibus]: https://docs.gitlab.com/omnibus/gitlab-mattermost/ +[mattermost-charts]: https://docs.mattermost.com/install/install-mmte-helm-gitlab-helm.html +[minio-omnibus]: https://min.io/download +[minio-charts]: https://docs.gitlab.com/charts/charts/minio/ +[minio-gdk]: https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/object_storage.md +[runner-omnibus]: https://docs.gitlab.com/runner/ +[runner-charts]: https://docs.gitlab.com/runner/install/kubernetes.html +[runner-source]: https://docs.gitlab.com/runner/ +[runner-gdk]: https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/runner.md +[database-migrations-omnibus]: https://docs.gitlab.com/omnibus/settings/database.html#disabling-automatic-database-migration +[database-migrations-charts]: https://docs.gitlab.com/charts/charts/gitlab/migrations/ +[database-migrations-source]: ../update/upgrading_from_source.md#14-install-libs-migrations-etc +[certificate-management-omnibus]: https://docs.gitlab.com/omnibus/settings/ssl.html +[certificate-management-charts]: https://docs.gitlab.com/charts/installation/tls.html +[certificate-management-source]: ../install/installation.md#using-https +[certificate-management-gdk]: https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/https.md +[geo-omnibus]: ../administration/geo/replication/index.md#setup-instructions +[geo-charts]: https://gitlab.com/charts/gitlab/issues/8 +[geo-gdk]: https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/geo.md +[ldap-omnibus]: ../administration/auth/ldap.md +[ldap-charts]: https://docs.gitlab.com/charts/charts/globals.html#ldap +[ldap-gdk]: https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/ldap.md +[outbound-email-omnibus]: https://docs.gitlab.com/omnibus/settings/smtp.html +[outbound-email-charts]: https://docs.gitlab.com/charts/installation/command-line-options.html#outgoing-email-configuration +[inbound-email-omnibus]: ../administration/incoming_email.md +[inbound-email-charts]: https://docs.gitlab.com/charts/installation/command-line-options.html#incoming-email-configuration +[elasticsearch-omnibus]: ../integration/elasticsearch.md +[elasticsearch-charts]: ../integration/elasticsearch.md +[elasticsearch-source]: ../integration/elasticsearch.md +[elasticsearch-gdk]: https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/elasticsearch.md +[sentry-integration]: ../user/project/operations/error_tracking.md +[jaeger-integration]: ../user/project/operations/tracing.md +[managed-k8s-apps]: ../user/project/clusters/index.md#installing-applications diff --git a/doc/update/upgrading_from_source.md b/doc/update/upgrading_from_source.md index fea89669831..199fbe92f4c 100644 --- a/doc/update/upgrading_from_source.md +++ b/doc/update/upgrading_from_source.md @@ -114,7 +114,47 @@ sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/ rm go1.10.5.linux-amd64.tar.gz ``` -### 6. Get latest code +### 6. Update git + +NOTE: **Note:** +GitLab 11.11 and higher only supports Git 2.21.x and newer, and +[dropped support for older versions](https://gitlab.com/gitlab-org/gitlab-ce/issues/54255). +Be sure to upgrade your installation if necessary. + +```bash +# Make sure Git is version 2.21.0 or higher +git --version + +# Remove packaged Git +sudo apt-get remove git-core + +# Install dependencies +sudo apt-get install -y libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev build-essential + +# Download and compile pcre2 from source +curl --silent --show-error --location https://ftp.pcre.org/pub/pcre/pcre2-10.33.tar.gz --output pcre2.tar.gz +tar -xzf pcre2.tar.gz +cd pcre2-10.33 +chmod +x configure +./configure --prefix=/usr --enable-jit +make +make install + +# Download and compile from source +cd /tmp +curl --remote-name --location --progress https://www.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz +echo '85eca51c7404da75e353eba587f87fea9481ba41e162206a6f70ad8118147bee git-2.21.0.tar.gz' | shasum -a256 -c - && tar -xzf git-2.21.0.tar.gz +cd git-2.21.0/ +./configure --with-libpcre +make prefix=/usr/local all + +# Install into /usr/local/bin +sudo make prefix=/usr/local install + +# You should edit config/gitlab.yml, change the git -> bin_path to /usr/local/bin/git +``` + +### 7. Get latest code ```bash cd /home/git/gitlab @@ -142,7 +182,7 @@ cd /home/git/gitlab sudo -u git -H git checkout BRANCH-ee ``` -### 7. Update gitlab-shell +### 8. Update gitlab-shell ```bash cd /home/git/gitlab-shell @@ -152,7 +192,7 @@ sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_SHELL_VERSION) sudo -u git -H bin/compile ``` -### 8. Update gitlab-workhorse +### 9. Update gitlab-workhorse Install and compile gitlab-workhorse. GitLab-Workhorse uses [GNU Make](https://www.gnu.org/software/make/). @@ -167,7 +207,7 @@ sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_WORKHORSE_VERSION) sudo -u git -H make ``` -### 9. Update Gitaly +### 10. Update Gitaly #### Compile Gitaly @@ -178,7 +218,7 @@ sudo -u git -H git checkout v$(</home/git/gitlab/GITALY_SERVER_VERSION) sudo -u git -H make ``` -### 10. Update gitlab-pages +### 11. Update gitlab-pages #### Only needed if you use GitLab Pages @@ -195,7 +235,7 @@ sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_PAGES_VERSION) sudo -u git -H make ``` -### 11. Update MySQL permissions +### 12. Update MySQL permissions If you are using MySQL you need to grant the GitLab user the necessary permissions on the database: @@ -217,7 +257,7 @@ You can make this setting permanent by adding it to your `my.cnf`: log_bin_trust_function_creators=1 ``` -### 12. Update configuration files +### 13. Update configuration files #### New configuration options for `gitlab.yml` @@ -291,7 +331,7 @@ For Ubuntu 16.04.1 LTS: sudo systemctl daemon-reload ``` -### 13. Install libs, migrations, etc. +### 14. Install libs, migrations, etc. ```bash cd /home/git/gitlab @@ -323,14 +363,14 @@ sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production **MySQL installations**: Run through the `MySQL strings limits` and `Tables and data conversion to utf8mb4` [tasks](../install/database_mysql.md). -### 14. Start application +### 15. Start application ```bash sudo service gitlab start sudo service nginx restart ``` -### 15. Check application status +### 16. Check application status Check if GitLab and its environment are configured correctly: |