From f647f3b058feaa9a14db404ef5e10fd69bf616ed Mon Sep 17 00:00:00 2001 From: Kazunori Kimura Date: Sat, 15 Jun 2024 11:59:49 +0900 Subject: [PATCH 1/6] Upgrade nodejs apt source repo from 18.x to 20.x Required version is updated from v18.16.x to v20.13.x with GitLab v17.0.0 release. Documentation: - "Bump required Node.js version to 20 in installation guide" https://gitlab.com/gitlab-org/gitlab/-/merge_requests/154523 .tool-versions: - "Update .tool-versions and .nvmrc to use nodejs v20.12.2" https://gitlab.com/gitlab-org/gitlab/-/merge_requests/149615 - Set distro to "nodistro" for nodejs to get later updates GitLab v17.0.0 or later requires (grants) nodejs v20.13.x or later, but nodejs v20.5.1 is installed for focal even later LTS are released. To avoid this issue, official installer script uses "nodistro" instead of specific distribution. See: https://github.com/nodesource/distributions/blob/83867e0fdde8ebb17f5f83644f00c4bb180a4568/scripts/deb/setup_20.x#L74 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a746c875..f4ef7822 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,7 +37,7 @@ RUN set -ex && \ && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && echo 'deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main' > /etc/apt/sources.list.d/pgdg.list \ && wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo 'deb https://deb.nodesource.com/node_18.x focal main' > /etc/apt/sources.list.d/nodesource.list \ + && echo 'deb https://deb.nodesource.com/node_20.x nodistro main' > /etc/apt/sources.list.d/nodesource.list \ && wget --quiet -O - https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && echo 'deb https://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list \ && set -ex \ From d3501eb023527966873893ea819e398ee7a23ec9 Mon Sep 17 00:00:00 2001 From: Kazunori Kimura Date: Fri, 21 Jun 2024 19:44:29 +0900 Subject: [PATCH 2/6] Update gpg key source for nodejs as original one caused following error: W: GPG error: https://deb.nodesource.com/node_20.x nodistro InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 2F59B5F99B1BE0B4 E: The repository 'https://deb.nodesource.com/node_20.x nodistro InRelease' is not signed. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f4ef7822..392bc49b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,7 +36,7 @@ RUN set -ex && \ && echo "deb http://ppa.launchpad.net/nginx/stable/ubuntu focal main" >> /etc/apt/sources.list \ && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && echo 'deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main' > /etc/apt/sources.list.d/pgdg.list \ - && wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ + && wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | apt-key add - \ && echo 'deb https://deb.nodesource.com/node_20.x nodistro main' > /etc/apt/sources.list.d/nodesource.list \ && wget --quiet -O - https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && echo 'deb https://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list \ From 3c0be758cb3aed0b9f1ac2e8f7eea30fa7aaef21 Mon Sep 17 00:00:00 2001 From: Kazunori Kimura Date: Sat, 15 Jun 2024 11:59:25 +0900 Subject: [PATCH 3/6] Add ENV RUBYGEMS_VERSION and set to latest 3.5.x that is GitLab v17.0 recommendation MR that updates docs/install/installation.md: - "Bump version of rubygems in installation instructions" https://gitlab.com/gitlab-org/gitlab/-/merge_requests/149976 There is no entry in .tools-version --- Dockerfile | 1 + assets/build/install.sh | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index a746c875..a29ea804 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ ARG VERSION=17.0.2 ENV GITLAB_VERSION=${VERSION} \ RUBY_VERSION=3.2.4 \ RUBY_SOURCE_SHA256SUM="c72b3c5c30482dca18b0f868c9075f3f47d8168eaf626d4e682ce5b59c858692" \ + RUBYGEMS_VERSION=3.5.14 \ GOLANG_VERSION=1.22.4 \ GITLAB_SHELL_VERSION=14.35.0 \ GITLAB_PAGES_VERSION=17.0.2 \ diff --git a/assets/build/install.sh b/assets/build/install.sh index 31a23b69..47fc4620 100755 --- a/assets/build/install.sh +++ b/assets/build/install.sh @@ -56,6 +56,9 @@ make -j"$(nproc)" make install cd "$PWD_ORG" && rm -rf /tmp/ruby +# upgrade rubygems on demand +gem update --no-document --system "${RUBYGEMS_VERSION}" + # PaX-mark ruby # Applying the mark late here does make the build usable on PaX kernels, but # still the build itself must be executed on a non-PaX kernel. It's done here From eeedd79a003ded408cd3bd84633cb01dd6c6614c Mon Sep 17 00:00:00 2001 From: Steven Achilles Date: Fri, 21 Jun 2024 21:18:51 +0200 Subject: [PATCH 4/6] Upgrade GitLab CE to 17.1.0 --- Changelog.md | 7 ++++ Dockerfile | 8 ++-- README.md | 54 ++++++++++++------------- VERSION | 2 +- contrib/docker-swarm/docker-compose.yml | 2 +- docker-compose.swarm.yml | 2 +- docker-compose.yml | 2 +- docs/container_registry.md | 10 ++--- docs/docker-compose-keycloak.yml | 2 +- docs/docker-compose-registry.yml | 2 +- kubernetes/gitlab-rc.yml | 2 +- 11 files changed, 50 insertions(+), 43 deletions(-) diff --git a/Changelog.md b/Changelog.md index 2065b58e..3d0bdfdc 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,13 @@ This file only reflects the changes that are made in this image. Please refer to the upstream GitLab [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-foss/blob/master/CHANGELOG.md) for the list of changes in GitLab. +**17.1.0** + +- gitlab: upgrade CE to v17.1.0 +- gitaly: upgrade to v17.1.0 +- gitlab-pages: upgrade to v17.1.0 +- gitlab-shell: upgrade to v14.36.0 + **17.0.2** - gitlab: upgrade CE to v17.0.2 diff --git a/Dockerfile b/Dockerfile index ae245443..2d919ba2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,15 @@ FROM ubuntu:focal-20240530 -ARG VERSION=17.0.2 +ARG VERSION=17.1.0 ENV GITLAB_VERSION=${VERSION} \ RUBY_VERSION=3.2.4 \ RUBY_SOURCE_SHA256SUM="c72b3c5c30482dca18b0f868c9075f3f47d8168eaf626d4e682ce5b59c858692" \ RUBYGEMS_VERSION=3.5.14 \ GOLANG_VERSION=1.22.4 \ - GITLAB_SHELL_VERSION=14.35.0 \ - GITLAB_PAGES_VERSION=17.0.2 \ - GITALY_SERVER_VERSION=17.0.2 \ + GITLAB_SHELL_VERSION=14.36.0 \ + GITLAB_PAGES_VERSION=17.1.0 \ + GITALY_SERVER_VERSION=17.1.0 \ GITLAB_USER="git" \ GITLAB_HOME="/home/git" \ GITLAB_LOG_DIR="/var/log/gitlab" \ diff --git a/README.md b/README.md index f46aa79d..66dc6b3d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# sameersbn/gitlab:17.0.2 +# sameersbn/gitlab:17.1.0 [![CircleCI](https://circleci.com/gh/sameersbn/docker-gitlab/tree/master.svg?style=svg)](https://circleci.com/gh/sameersbn/docker-gitlab/tree/master) @@ -126,7 +126,7 @@ Your docker host needs to have 1GB or more of available RAM to run GitLab. Pleas Automated builds of the image are available on [Dockerhub](https://hub.docker.com/r/sameersbn/gitlab) and is the recommended method of installation. ```bash -docker pull sameersbn/gitlab:17.0.2 +docker pull sameersbn/gitlab:17.1.0 ``` You can also pull the `latest` tag which is built from the repository *HEAD* @@ -197,7 +197,7 @@ docker run --name gitlab -d \ --env 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \ --env 'GITLAB_SECRETS_ENCRYPTED_SETTINGS_KEY_BASE=long-and-random-alpha-numeric-string' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` *Please refer to [Available Configuration Parameters](#available-configuration-parameters) to understand `GITLAB_PORT` and other configuration options* @@ -232,7 +232,7 @@ Volumes can be mounted in docker by specifying the `-v` option in the docker run ```bash docker run --name gitlab -d \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` ### Database @@ -290,7 +290,7 @@ docker run --name gitlab -d \ --env 'DB_NAME=gitlabhq_production' \ --env 'DB_USER=gitlab' --env 'DB_PASS=password' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` ##### Linking to PostgreSQL Container @@ -334,7 +334,7 @@ We are now ready to start the GitLab application. ```bash docker run --name gitlab -d --link gitlab-postgresql:postgresql \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` Here the image will also automatically fetch the `DB_NAME`, `DB_USER` and `DB_PASS` variables from the postgresql container as they are specified in the `docker run` command for the postgresql container. This is made possible using the magic of docker links and works with the following images: @@ -373,7 +373,7 @@ The image can be configured to use an external redis server. The configuration s ```bash docker run --name gitlab -it --rm \ --env 'REDIS_HOST=192.168.1.100' --env 'REDIS_PORT=6379' \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` #### Linking to Redis Container @@ -400,7 +400,7 @@ We are now ready to start the GitLab application. ```bash docker run --name gitlab -d --link gitlab-redis:redisio \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` #### Mail @@ -413,7 +413,7 @@ If you are using Gmail then all you need to do is: docker run --name gitlab -d \ --env 'SMTP_USER=USER@gmail.com' --env 'SMTP_PASS=PASSWORD' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` Please refer the [Available Configuration Parameters](#available-configuration-parameters) section for the list of SMTP parameters that can be specified. @@ -433,7 +433,7 @@ docker run --name gitlab -d \ --env 'IMAP_USER=USER@gmail.com' --env 'IMAP_PASS=PASSWORD' \ --env 'GITLAB_INCOMING_EMAIL_ADDRESS=USER+%{key}@gmail.com' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` Please refer the [Available Configuration Parameters](#available-configuration-parameters) section for the list of IMAP parameters that can be specified. @@ -517,7 +517,7 @@ docker run --name gitlab -d \ --env 'GITLAB_SSH_PORT=10022' --env 'GITLAB_PORT=10443' \ --env 'GITLAB_HTTPS=true' --env 'SSL_SELF_SIGNED=true' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` In this configuration, any requests made over the plain http protocol will automatically be redirected to use the https protocol. However, this is not optimal when using a load balancer. @@ -533,7 +533,7 @@ docker run --name gitlab -d \ --env 'GITLAB_HTTPS=true' --env 'SSL_SELF_SIGNED=true' \ --env 'NGINX_HSTS_MAXAGE=2592000' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` If you want to completely disable HSTS set `NGINX_HSTS_ENABLED` to `false`. @@ -556,7 +556,7 @@ docker run --name gitlab -d \ --env 'GITLAB_SSH_PORT=10022' --env 'GITLAB_PORT=443' \ --env 'GITLAB_HTTPS=true' --env 'SSL_SELF_SIGNED=true' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` Again, drop the `--env 'SSL_SELF_SIGNED=true'` option if you are using CA certified SSL certificates. @@ -604,7 +604,7 @@ Let's assume we want to deploy our application to '/git'. GitLab needs to know t docker run --name gitlab -it --rm \ --env 'GITLAB_RELATIVE_URL_ROOT=/git' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` GitLab will now be accessible at the `/git` path, e.g. `http://www.example.com/git`. @@ -786,14 +786,14 @@ Also the container processes seem to be executed as the host's user/group `1000` ```bash docker run --name gitlab -it --rm [options] \ --env "USERMAP_UID=$(id -u git)" --env "USERMAP_GID=$(id -g git)" \ - sameersbn/gitlab:17.0.2 + sameersbn/gitlab:17.1.0 ``` When changing this mapping, all files and directories in the mounted data volume `/home/git/data` have to be re-owned by the new ids. This can be achieved automatically using the following command: ```bash docker run --name gitlab -d [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:sanitize + sameersbn/gitlab:17.1.0 app:sanitize ``` #### Piwik @@ -2536,7 +2536,7 @@ Execute the rake task to create a backup. ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:backup:create + sameersbn/gitlab:17.1.0 app:rake gitlab:backup:create ``` A backup will be created in the backups folder of the [Data Store](#data-store). You can change the location of the backups using the `GITLAB_BACKUP_DIR` configuration parameter. @@ -2571,14 +2571,14 @@ you need to prepare the database: ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake db:setup + sameersbn/gitlab:17.1.0 app:rake db:setup ``` Execute the rake task to restore a backup. Make sure you run the container in interactive mode `-it`. ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:backup:restore + sameersbn/gitlab:17.1.0 app:rake gitlab:backup:restore ``` The list of all available backups will be displayed in reverse chronological order. Select the backup you want to restore and continue. @@ -2587,7 +2587,7 @@ To avoid user interaction in the restore operation, specify the timestamp, date ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:backup:restore BACKUP=1515629493_2020_12_06_13.0.6 + sameersbn/gitlab:17.1.0 app:rake gitlab:backup:restore BACKUP=1515629493_2020_12_06_13.0.6 ``` When using `docker-compose` you may use the following command to execute the restore. @@ -2636,7 +2636,7 @@ The `app:rake` command allows you to run gitlab rake tasks. To run a rake task s ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:env:info + sameersbn/gitlab:17.1.0 app:rake gitlab:env:info ``` You can also use `docker exec` to run raketasks on running gitlab instance. For example, @@ -2649,7 +2649,7 @@ Similarly, to import bare repositories into GitLab project instance ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:import:repos + sameersbn/gitlab:17.1.0 app:rake gitlab:import:repos ``` Or @@ -2680,7 +2680,7 @@ Copy all the **bare** git repositories to the `repositories/` directory of the [ ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:import:repos + sameersbn/gitlab:17.1.0 app:rake gitlab:import:repos ``` Watch the logs and your repositories should be available into your new gitlab container. @@ -2704,12 +2704,12 @@ To upgrade to newer gitlab releases, simply follow this 4 step upgrade procedure > **Note** > -> Upgrading to `sameersbn/gitlab:17.0.2` from `sameersbn/gitlab:7.x.x` can cause issues. It is therefore required that you first upgrade to `sameersbn/gitlab:8.0.5-1` before upgrading to `sameersbn/gitlab:8.1.0` or higher. +> Upgrading to `sameersbn/gitlab:17.1.0` from `sameersbn/gitlab:7.x.x` can cause issues. It is therefore required that you first upgrade to `sameersbn/gitlab:8.0.5-1` before upgrading to `sameersbn/gitlab:8.1.0` or higher. - **Step 1**: Update the docker image. ```bash -docker pull sameersbn/gitlab:17.0.2 +docker pull sameersbn/gitlab:17.1.0 ``` - **Step 2**: Stop and remove the currently running image @@ -2735,7 +2735,7 @@ Replace `x.x.x` with the version you are upgrading from. For example, if you are > **Note**: Since Gitlab 13.7 you need to provide the `GITLAB_SECRETS_ENCRYPTED_SETTINGS_KEY_BASE` parameter while starting the image. If not provided, the key will be generated by gitlab. So you can start the image without setting this parameter. But you will lose the key when you shutting down the container without taking a backup of `secrets.yml`. ```bash -docker run --name gitlab -d [OPTIONS] sameersbn/gitlab:17.0.2 +docker run --name gitlab -d [OPTIONS] sameersbn/gitlab:17.1.0 ``` ### Shell Access @@ -2773,7 +2773,7 @@ version: '2.3' services: gitlab: - image: sameersbn/gitlab:17.0.2 + image: sameersbn/gitlab:17.1.0 healthcheck: test: ["CMD", "/usr/local/sbin/healthcheck"] interval: 1m diff --git a/VERSION b/VERSION index c57cf9a9..d9e58927 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -17.0.2 +17.1.0 diff --git a/contrib/docker-swarm/docker-compose.yml b/contrib/docker-swarm/docker-compose.yml index b5d8fbdd..5337b9fd 100644 --- a/contrib/docker-swarm/docker-compose.yml +++ b/contrib/docker-swarm/docker-compose.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:17.0.2 + image: sameersbn/gitlab:17.1.0 depends_on: - redis - postgresql diff --git a/docker-compose.swarm.yml b/docker-compose.swarm.yml index 05a250b0..6384484f 100644 --- a/docker-compose.swarm.yml +++ b/docker-compose.swarm.yml @@ -63,7 +63,7 @@ services: - traefik-public gitlab: - image: sameersbn/gitlab:17.0.2 + image: sameersbn/gitlab:17.1.0 depends_on: - redis - postgresql diff --git a/docker-compose.yml b/docker-compose.yml index 7be086aa..c0e52676 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:17.0.2 + image: sameersbn/gitlab:17.1.0 depends_on: - redis - postgresql diff --git a/docs/container_registry.md b/docs/container_registry.md index 35c99848..8e0f232e 100644 --- a/docs/container_registry.md +++ b/docs/container_registry.md @@ -289,7 +289,7 @@ docker stop registry gitlab && docker rm registry gitlab Execute the rake task with a removeable container. ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:backup:create + sameersbn/gitlab:17.1.0 app:rake gitlab:backup:create ``` ## Restoring Backups @@ -305,7 +305,7 @@ Execute the rake task to restore a backup. Make sure you run the container in in ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:backup:restore + sameersbn/gitlab:17.1.0 app:rake gitlab:backup:restore ``` The list of all available backups will be displayed in reverse chronological order. Select the backup you want to restore and continue. @@ -314,7 +314,7 @@ To avoid user interaction in the restore operation, specify the timestamp of the ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.0.2 app:rake gitlab:backup:restore BACKUP=1417624827 + sameersbn/gitlab:17.1.0 app:rake gitlab:backup:restore BACKUP=1417624827 ``` # Upgrading from an existing GitLab installation @@ -325,7 +325,7 @@ If you want enable this feature for an existing instance of GitLab you need to d - **Step 1**: Update the docker image. ```bash -docker pull sameersbn/gitlab:17.0.2 +docker pull sameersbn/gitlab:17.1.0 ``` - **Step 2**: Stop and remove the currently running image @@ -378,7 +378,7 @@ docker run --name gitlab -d [PREVIOUS_OPTIONS] \ --env 'GITLAB_REGISTRY_CERT_PATH=/certs/registry-auth.crt' \ --env 'GITLAB_REGISTRY_KEY_PATH=/certs/registry-auth.key' \ --link registry:registry -sameersbn/gitlab:17.0.2 +sameersbn/gitlab:17.1.0 ``` diff --git a/docs/docker-compose-keycloak.yml b/docs/docker-compose-keycloak.yml index cf868d3c..3e36dd0c 100644 --- a/docs/docker-compose-keycloak.yml +++ b/docs/docker-compose-keycloak.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:17.0.2 + image: sameersbn/gitlab:17.1.0 depends_on: - redis - postgresql diff --git a/docs/docker-compose-registry.yml b/docs/docker-compose-registry.yml index f7fc213e..2a2640ea 100644 --- a/docs/docker-compose-registry.yml +++ b/docs/docker-compose-registry.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:17.0.2 + image: sameersbn/gitlab:17.1.0 volumes: - gitlab-data:/home/git/data:Z - gitlab-logs:/var/log/gitlab diff --git a/kubernetes/gitlab-rc.yml b/kubernetes/gitlab-rc.yml index eaa4097d..f550ddfa 100644 --- a/kubernetes/gitlab-rc.yml +++ b/kubernetes/gitlab-rc.yml @@ -14,7 +14,7 @@ spec: spec: containers: - name: gitlab - image: sameersbn/gitlab:17.0.2 + image: sameersbn/gitlab:17.1.0 env: - name: TZ value: Asia/Kolkata From a5ef262bf0dcaae8af598aaa50b010b37a1bdf78 Mon Sep 17 00:00:00 2001 From: Patrick Remy Date: Thu, 27 Jun 2024 08:39:51 +0200 Subject: [PATCH 5/6] Upgrade GitLab CE to 17.1.1 --- Changelog.md | 6 +++ Dockerfile | 6 +-- README.md | 72 ++++++++++++------------- VERSION | 2 +- contrib/docker-swarm/docker-compose.yml | 2 +- docker-compose.swarm.yml | 2 +- docker-compose.yml | 2 +- docs/container_registry.md | 10 ++-- docs/docker-compose-keycloak.yml | 2 +- docs/docker-compose-registry.yml | 2 +- kubernetes/gitlab-rc.yml | 2 +- 11 files changed, 57 insertions(+), 51 deletions(-) diff --git a/Changelog.md b/Changelog.md index 3d0bdfdc..24409abc 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,12 @@ This file only reflects the changes that are made in this image. Please refer to the upstream GitLab [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-foss/blob/master/CHANGELOG.md) for the list of changes in GitLab. +**17.1.1** + +- gitlab: upgrade CE to v17.1.1 +- gitaly: upgrade to v17.1.1 +- gitlab-pages: upgrade to v17.1.1 + **17.1.0** - gitlab: upgrade CE to v17.1.0 diff --git a/Dockerfile b/Dockerfile index 2d919ba2..41a7e0e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:focal-20240530 -ARG VERSION=17.1.0 +ARG VERSION=17.1.1 ENV GITLAB_VERSION=${VERSION} \ RUBY_VERSION=3.2.4 \ @@ -8,8 +8,8 @@ ENV GITLAB_VERSION=${VERSION} \ RUBYGEMS_VERSION=3.5.14 \ GOLANG_VERSION=1.22.4 \ GITLAB_SHELL_VERSION=14.36.0 \ - GITLAB_PAGES_VERSION=17.1.0 \ - GITALY_SERVER_VERSION=17.1.0 \ + GITLAB_PAGES_VERSION=17.1.1 \ + GITALY_SERVER_VERSION=17.1.1 \ GITLAB_USER="git" \ GITLAB_HOME="/home/git" \ GITLAB_LOG_DIR="/var/log/gitlab" \ diff --git a/README.md b/README.md index 66dc6b3d..2a3d4feb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# sameersbn/gitlab:17.1.0 +# sameersbn/gitlab:17.1.1 [![CircleCI](https://circleci.com/gh/sameersbn/docker-gitlab/tree/master.svg?style=svg)](https://circleci.com/gh/sameersbn/docker-gitlab/tree/master) @@ -126,7 +126,7 @@ Your docker host needs to have 1GB or more of available RAM to run GitLab. Pleas Automated builds of the image are available on [Dockerhub](https://hub.docker.com/r/sameersbn/gitlab) and is the recommended method of installation. ```bash -docker pull sameersbn/gitlab:17.1.0 +docker pull sameersbn/gitlab:17.1.1 ``` You can also pull the `latest` tag which is built from the repository *HEAD* @@ -197,7 +197,7 @@ docker run --name gitlab -d \ --env 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \ --env 'GITLAB_SECRETS_ENCRYPTED_SETTINGS_KEY_BASE=long-and-random-alpha-numeric-string' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` *Please refer to [Available Configuration Parameters](#available-configuration-parameters) to understand `GITLAB_PORT` and other configuration options* @@ -232,7 +232,7 @@ Volumes can be mounted in docker by specifying the `-v` option in the docker run ```bash docker run --name gitlab -d \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` ### Database @@ -290,7 +290,7 @@ docker run --name gitlab -d \ --env 'DB_NAME=gitlabhq_production' \ --env 'DB_USER=gitlab' --env 'DB_PASS=password' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` ##### Linking to PostgreSQL Container @@ -334,7 +334,7 @@ We are now ready to start the GitLab application. ```bash docker run --name gitlab -d --link gitlab-postgresql:postgresql \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` Here the image will also automatically fetch the `DB_NAME`, `DB_USER` and `DB_PASS` variables from the postgresql container as they are specified in the `docker run` command for the postgresql container. This is made possible using the magic of docker links and works with the following images: @@ -373,7 +373,7 @@ The image can be configured to use an external redis server. The configuration s ```bash docker run --name gitlab -it --rm \ --env 'REDIS_HOST=192.168.1.100' --env 'REDIS_PORT=6379' \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` #### Linking to Redis Container @@ -400,7 +400,7 @@ We are now ready to start the GitLab application. ```bash docker run --name gitlab -d --link gitlab-redis:redisio \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` #### Mail @@ -413,7 +413,7 @@ If you are using Gmail then all you need to do is: docker run --name gitlab -d \ --env 'SMTP_USER=USER@gmail.com' --env 'SMTP_PASS=PASSWORD' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` Please refer the [Available Configuration Parameters](#available-configuration-parameters) section for the list of SMTP parameters that can be specified. @@ -433,7 +433,7 @@ docker run --name gitlab -d \ --env 'IMAP_USER=USER@gmail.com' --env 'IMAP_PASS=PASSWORD' \ --env 'GITLAB_INCOMING_EMAIL_ADDRESS=USER+%{key}@gmail.com' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` Please refer the [Available Configuration Parameters](#available-configuration-parameters) section for the list of IMAP parameters that can be specified. @@ -517,7 +517,7 @@ docker run --name gitlab -d \ --env 'GITLAB_SSH_PORT=10022' --env 'GITLAB_PORT=10443' \ --env 'GITLAB_HTTPS=true' --env 'SSL_SELF_SIGNED=true' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` In this configuration, any requests made over the plain http protocol will automatically be redirected to use the https protocol. However, this is not optimal when using a load balancer. @@ -533,7 +533,7 @@ docker run --name gitlab -d \ --env 'GITLAB_HTTPS=true' --env 'SSL_SELF_SIGNED=true' \ --env 'NGINX_HSTS_MAXAGE=2592000' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` If you want to completely disable HSTS set `NGINX_HSTS_ENABLED` to `false`. @@ -556,7 +556,7 @@ docker run --name gitlab -d \ --env 'GITLAB_SSH_PORT=10022' --env 'GITLAB_PORT=443' \ --env 'GITLAB_HTTPS=true' --env 'SSL_SELF_SIGNED=true' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` Again, drop the `--env 'SSL_SELF_SIGNED=true'` option if you are using CA certified SSL certificates. @@ -604,7 +604,7 @@ Let's assume we want to deploy our application to '/git'. GitLab needs to know t docker run --name gitlab -it --rm \ --env 'GITLAB_RELATIVE_URL_ROOT=/git' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` GitLab will now be accessible at the `/git` path, e.g. `http://www.example.com/git`. @@ -786,14 +786,14 @@ Also the container processes seem to be executed as the host's user/group `1000` ```bash docker run --name gitlab -it --rm [options] \ --env "USERMAP_UID=$(id -u git)" --env "USERMAP_GID=$(id -g git)" \ - sameersbn/gitlab:17.1.0 + sameersbn/gitlab:17.1.1 ``` When changing this mapping, all files and directories in the mounted data volume `/home/git/data` have to be re-owned by the new ids. This can be achieved automatically using the following command: ```bash docker run --name gitlab -d [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:sanitize + sameersbn/gitlab:17.1.1 app:sanitize ``` #### Piwik @@ -808,10 +808,10 @@ These options should contain something like: In this section, we talk about feature flags that administrators can change the state (See ). If you are looking for documentation for "Feature flags" that configured on project deploy settings, see -GitLab adopted feature flags strategies to deploy features in an early stage of development so that they can be incrementally rolled out. GitLab administrators with access to the [Rails console](https://docs.gitlab.com/ee/administration/feature_flags.html#how-to-enable-and-disable-features-behind-flags) or the [Feature flags API](https://docs.gitlab.com/ee/api/features.html) can control them (note that `sameersbn/gitlab` is a container image that provides GitLab installations from the source). -You can see all feature flags in GitLab at corresponding version of documentation: +GitLab adopted feature flags strategies to deploy features in an early stage of development so that they can be incrementally rolled out. GitLab administrators with access to the [Rails console](https://docs.gitlab.com/ee/administration/feature_flags.html#how-to-enable-and-disable-features-behind-flags) or the [Feature flags API](https://docs.gitlab.com/ee/api/features.html) can control them (note that `sameersbn/gitlab` is a container image that provides GitLab installations from the source). +You can see all feature flags in GitLab at corresponding version of documentation: -For `sameersbn/gitlab`, you can control them via environment parameter [`GITLAB_FEATURE_FLAGS_DISABLE_TARGETS`](#gitlab_feature_flags_disable_targets) and [`GITLAB_FEATURE_FLAGS_ENABLE_TARGETS`](#gitlab_feature_flags_enable_targets) in addition to the above methods. +For `sameersbn/gitlab`, you can control them via environment parameter [`GITLAB_FEATURE_FLAGS_DISABLE_TARGETS`](#gitlab_feature_flags_disable_targets) and [`GITLAB_FEATURE_FLAGS_ENABLE_TARGETS`](#gitlab_feature_flags_enable_targets) in addition to the above methods. This image searches yml files in [`${GITLAB_INSTALL_DIR}/config/feature_flags`](https://gitlab.com/gitlab-org/gitlab-foss/-/tree/master/config/feature_flags) (typically `/home/git/gitlab/config/feature_flags/`) recursively and use the file list as a source of active feature flags. Here is a part of example `docker-compose.yml`: @@ -825,7 +825,7 @@ services: - GITLAB_FEATURE_FLAGS_ENABLE_TARGETS=git_push_create_all_pipelines,build_service_proxy ```` -Once the container up, you can see following messages in container log like below. +Once the container up, you can see following messages in container log like below. ````sh ... @@ -1674,9 +1674,9 @@ The value of the `report-uri` directive in the `Content-Security-Policy` header ##### `GITLAB_FEATURE_FLAGS_DISABLE_TARGETS` -Comma separated list of feature flag names to be disabled. No whitespace is allowed. -You can see all feature flags in GitLab at corresponding version of documentation: -Feature flags name and its statement will be appear to container log. Note that some of the feature flags are implicitly enabled or disabled by GitLab itself, and are not appear to container log. +Comma separated list of feature flag names to be disabled. No whitespace is allowed. +You can see all feature flags in GitLab at corresponding version of documentation: +Feature flags name and its statement will be appear to container log. Note that some of the feature flags are implicitly enabled or disabled by GitLab itself, and are not appear to container log. No defaults. ##### `GITLAB_FEATURE_FLAGS_ENABLE_TARGETS` @@ -2457,8 +2457,8 @@ Enable/disable rack middleware for blocking & throttling abusive requests Defaul ##### `RACK_ATTACK_WHITELIST` -Always allow requests from whitelisted host. -This should be a valid yaml sequence of host address. Each host address string must be a valid IP address that can be passed to `IPAddr.new` of ruby. See [ruby-lang reference](https://docs.ruby-lang.org/en/3.0/IPAddr.html#method-c-new) for detail. +Always allow requests from whitelisted host. +This should be a valid yaml sequence of host address. Each host address string must be a valid IP address that can be passed to `IPAddr.new` of ruby. See [ruby-lang reference](https://docs.ruby-lang.org/en/3.0/IPAddr.html#method-c-new) for detail. If you need to set multiple hosts, set this parameter like `["1.1.1.1","192.168.0.0/24"]` for example. In docker-compose.yml, you have to quote whole value like below: ````yaml @@ -2536,7 +2536,7 @@ Execute the rake task to create a backup. ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:backup:create + sameersbn/gitlab:17.1.1 app:rake gitlab:backup:create ``` A backup will be created in the backups folder of the [Data Store](#data-store). You can change the location of the backups using the `GITLAB_BACKUP_DIR` configuration parameter. @@ -2571,14 +2571,14 @@ you need to prepare the database: ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake db:setup + sameersbn/gitlab:17.1.1 app:rake db:setup ``` Execute the rake task to restore a backup. Make sure you run the container in interactive mode `-it`. ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:backup:restore + sameersbn/gitlab:17.1.1 app:rake gitlab:backup:restore ``` The list of all available backups will be displayed in reverse chronological order. Select the backup you want to restore and continue. @@ -2587,7 +2587,7 @@ To avoid user interaction in the restore operation, specify the timestamp, date ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:backup:restore BACKUP=1515629493_2020_12_06_13.0.6 + sameersbn/gitlab:17.1.1 app:rake gitlab:backup:restore BACKUP=1515629493_2020_12_06_13.0.6 ``` When using `docker-compose` you may use the following command to execute the restore. @@ -2636,7 +2636,7 @@ The `app:rake` command allows you to run gitlab rake tasks. To run a rake task s ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:env:info + sameersbn/gitlab:17.1.1 app:rake gitlab:env:info ``` You can also use `docker exec` to run raketasks on running gitlab instance. For example, @@ -2649,7 +2649,7 @@ Similarly, to import bare repositories into GitLab project instance ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:import:repos + sameersbn/gitlab:17.1.1 app:rake gitlab:import:repos ``` Or @@ -2680,7 +2680,7 @@ Copy all the **bare** git repositories to the `repositories/` directory of the [ ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:import:repos + sameersbn/gitlab:17.1.1 app:rake gitlab:import:repos ``` Watch the logs and your repositories should be available into your new gitlab container. @@ -2704,12 +2704,12 @@ To upgrade to newer gitlab releases, simply follow this 4 step upgrade procedure > **Note** > -> Upgrading to `sameersbn/gitlab:17.1.0` from `sameersbn/gitlab:7.x.x` can cause issues. It is therefore required that you first upgrade to `sameersbn/gitlab:8.0.5-1` before upgrading to `sameersbn/gitlab:8.1.0` or higher. +> Upgrading to `sameersbn/gitlab:17.1.1` from `sameersbn/gitlab:7.x.x` can cause issues. It is therefore required that you first upgrade to `sameersbn/gitlab:8.0.5-1` before upgrading to `sameersbn/gitlab:8.1.0` or higher. - **Step 1**: Update the docker image. ```bash -docker pull sameersbn/gitlab:17.1.0 +docker pull sameersbn/gitlab:17.1.1 ``` - **Step 2**: Stop and remove the currently running image @@ -2735,7 +2735,7 @@ Replace `x.x.x` with the version you are upgrading from. For example, if you are > **Note**: Since Gitlab 13.7 you need to provide the `GITLAB_SECRETS_ENCRYPTED_SETTINGS_KEY_BASE` parameter while starting the image. If not provided, the key will be generated by gitlab. So you can start the image without setting this parameter. But you will lose the key when you shutting down the container without taking a backup of `secrets.yml`. ```bash -docker run --name gitlab -d [OPTIONS] sameersbn/gitlab:17.1.0 +docker run --name gitlab -d [OPTIONS] sameersbn/gitlab:17.1.1 ``` ### Shell Access @@ -2773,7 +2773,7 @@ version: '2.3' services: gitlab: - image: sameersbn/gitlab:17.1.0 + image: sameersbn/gitlab:17.1.1 healthcheck: test: ["CMD", "/usr/local/sbin/healthcheck"] interval: 1m diff --git a/VERSION b/VERSION index d9e58927..6f9c209b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -17.1.0 +17.1.1 diff --git a/contrib/docker-swarm/docker-compose.yml b/contrib/docker-swarm/docker-compose.yml index 5337b9fd..0a867c4d 100644 --- a/contrib/docker-swarm/docker-compose.yml +++ b/contrib/docker-swarm/docker-compose.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:17.1.0 + image: sameersbn/gitlab:17.1.1 depends_on: - redis - postgresql diff --git a/docker-compose.swarm.yml b/docker-compose.swarm.yml index 6384484f..245cc23f 100644 --- a/docker-compose.swarm.yml +++ b/docker-compose.swarm.yml @@ -63,7 +63,7 @@ services: - traefik-public gitlab: - image: sameersbn/gitlab:17.1.0 + image: sameersbn/gitlab:17.1.1 depends_on: - redis - postgresql diff --git a/docker-compose.yml b/docker-compose.yml index c0e52676..85f1dc82 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:17.1.0 + image: sameersbn/gitlab:17.1.1 depends_on: - redis - postgresql diff --git a/docs/container_registry.md b/docs/container_registry.md index 8e0f232e..74d881c9 100644 --- a/docs/container_registry.md +++ b/docs/container_registry.md @@ -289,7 +289,7 @@ docker stop registry gitlab && docker rm registry gitlab Execute the rake task with a removeable container. ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:backup:create + sameersbn/gitlab:17.1.1 app:rake gitlab:backup:create ``` ## Restoring Backups @@ -305,7 +305,7 @@ Execute the rake task to restore a backup. Make sure you run the container in in ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:backup:restore + sameersbn/gitlab:17.1.1 app:rake gitlab:backup:restore ``` The list of all available backups will be displayed in reverse chronological order. Select the backup you want to restore and continue. @@ -314,7 +314,7 @@ To avoid user interaction in the restore operation, specify the timestamp of the ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:17.1.0 app:rake gitlab:backup:restore BACKUP=1417624827 + sameersbn/gitlab:17.1.1 app:rake gitlab:backup:restore BACKUP=1417624827 ``` # Upgrading from an existing GitLab installation @@ -325,7 +325,7 @@ If you want enable this feature for an existing instance of GitLab you need to d - **Step 1**: Update the docker image. ```bash -docker pull sameersbn/gitlab:17.1.0 +docker pull sameersbn/gitlab:17.1.1 ``` - **Step 2**: Stop and remove the currently running image @@ -378,7 +378,7 @@ docker run --name gitlab -d [PREVIOUS_OPTIONS] \ --env 'GITLAB_REGISTRY_CERT_PATH=/certs/registry-auth.crt' \ --env 'GITLAB_REGISTRY_KEY_PATH=/certs/registry-auth.key' \ --link registry:registry -sameersbn/gitlab:17.1.0 +sameersbn/gitlab:17.1.1 ``` diff --git a/docs/docker-compose-keycloak.yml b/docs/docker-compose-keycloak.yml index 3e36dd0c..50982b02 100644 --- a/docs/docker-compose-keycloak.yml +++ b/docs/docker-compose-keycloak.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:17.1.0 + image: sameersbn/gitlab:17.1.1 depends_on: - redis - postgresql diff --git a/docs/docker-compose-registry.yml b/docs/docker-compose-registry.yml index 2a2640ea..cc28f497 100644 --- a/docs/docker-compose-registry.yml +++ b/docs/docker-compose-registry.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:17.1.0 + image: sameersbn/gitlab:17.1.1 volumes: - gitlab-data:/home/git/data:Z - gitlab-logs:/var/log/gitlab diff --git a/kubernetes/gitlab-rc.yml b/kubernetes/gitlab-rc.yml index f550ddfa..05e54ddf 100644 --- a/kubernetes/gitlab-rc.yml +++ b/kubernetes/gitlab-rc.yml @@ -14,7 +14,7 @@ spec: spec: containers: - name: gitlab - image: sameersbn/gitlab:17.1.0 + image: sameersbn/gitlab:17.1.1 env: - name: TZ value: Asia/Kolkata From 882ab1eac23fac10e1890fb68aa7ed13b82d439a Mon Sep 17 00:00:00 2001 From: Kazunori Kimura Date: Sat, 29 Jun 2024 00:31:48 +0900 Subject: [PATCH 6/6] CI: bump jobs.release.executor to go/default:1.22 sameersbn/docker-gitlab#2962 --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a048814b..b72efbda 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -269,12 +269,12 @@ jobs: release: executor: name: go/default - tag: '1.14' + tag: '1.22' steps: - checkout - run: name: Installing github-release tool - command: go get github.com/meterup/github-release + command: go install github.com/meterup/github-release@latest - run: name: Creating github release command: |