diff --git a/.circleci/config.yml b/.circleci/config.yml index f8fef58e1..e7a542350 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -72,7 +72,7 @@ jobs: name: Testing image command: | docker run --network container:$(docker-compose ps -q gitlab) \ - appropriate/curl --retry 15 --retry-delay 5 --retry-connrefused http://localhost/explore + appropriate/curl --ipv4 --retry 15 --retry-delay 5 --retry-connrefused http://localhost/explore - run: name: Generate docker build image cache diff --git a/Changelog.md b/Changelog.md index 9d944f429..e69f0ca25 100644 --- a/Changelog.md +++ b/Changelog.md @@ -3,6 +3,76 @@ 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. +**12.7.7** +- Upgrade GitLab CE to 12.7.7 + +**12.7.6** +- gitlab: upgrade CE to v12.7.6 + +**12.7.5** +- gitlab: upgrade CE to v12.7.5 + +**12.7.4** +- Upgrade GitLab CE to 12.7.4 +- Update golang to 1.13.7 +- Update gitlab-pages to 1.15.0 +- Update gitlab-workhorse to 8.20.0 +- Update gitaly to 1.85.0 + +**12.7.2** +- Upgrade GitLab CE to 12.7.2 + +**12.7.0** +- Update gitlab-shell to 11.0.0 +- Upgrade GitLab CE to 12.7.0 +- Update golang to 1.13.6 +- Update gitaly to 1.83.0 +- Update gitlab-pages to 1.14.0 +- Update gitlab-workhorse to 8.19.0 + +**12.6.4** +- gitlab: upgrade CE to v12.6.4 + +**12.6.3** +- gitlab: upgrade CE to v12.6.3 + +**12.6.2** +- gitlab: upgrade CE to v12.6.2 + +**12.6.1** +- gitlab: upgrade CE to v12.6.1 + +**12.6.0** +- gitlab: upgrade CE to v12.6.0 + +**12.5.7** +- gitlab: upgrade CE to v12.5.7 + +**12.5.6** +- gitlab: upgrade CE to v12.5.6 + +**12.5.5** +- gitlab: upgrade CE to v12.5.5 + +**12.5.4** +- gitlab: upgrade CE to v12.5.4 +- Update golang to 1.12.14 + +**12.5.3** +- gitlab: upgrade CE to v12.5.3 + +**12.5.2** +- gitlab: upgrade CE to v12.5.2 + +**12.5.1** +- gitlab: upgrade CE to v12.5.1 + +**12.5.0** +- gitlab: upgrade CE to v12.5.0 + +**12.4.3** +- gitlab: upgrade CE to v12.4.3 + **12.4.2** - gitlab: upgrade CE to v12.4.2 diff --git a/Dockerfile b/Dockerfile index 01d7a7274..8fb6cca53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,16 @@ -FROM ubuntu:bionic-20191010 +FROM ubuntu:bionic-20191202 ARG BUILD_DATE ARG VCS_REF -ARG VERSION=12.4.2 +ARG VERSION=12.7.7 ENV GITLAB_VERSION=${VERSION} \ RUBY_VERSION=2.6 \ - GOLANG_VERSION=1.12.12 \ - GITLAB_SHELL_VERSION=10.2.0 \ - GITLAB_WORKHORSE_VERSION=8.14.0 \ - GITLAB_PAGES_VERSION=1.11.0 \ - GITALY_SERVER_VERSION=1.67.0 \ + GOLANG_VERSION=1.13.7 \ + GITLAB_SHELL_VERSION=11.0.0 \ + GITLAB_WORKHORSE_VERSION=8.20.0 \ + GITLAB_PAGES_VERSION=1.12.0 \ + GITALY_SERVER_VERSION=1.83.0 \ GITLAB_USER="git" \ GITLAB_HOME="/home/git" \ GITLAB_LOG_DIR="/var/log/gitlab" \ diff --git a/README.md b/README.md index d4d3d7c2c..12947824f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [![Docker Repository on Quay.io](https://quay.io/repository/sameersbn/gitlab/status "Docker Repository on Quay.io")](https://quay.io/repository/sameersbn/gitlab) [![](https://images.microbadger.com/badges/image/sameersbn/gitlab.svg)](http://microbadger.com/images/sameersbn/gitlab "Get your own image badge on microbadger.com") -# sameersbn/gitlab:12.4.2 +# sameersbn/gitlab:12.7.7 - [Introduction](#introduction) - [Changelog](Changelog.md) @@ -124,7 +124,7 @@ Automated builds of the image are available on [Dockerhub](https://hub.docker.co > **Note**: Builds are also available on [Quay.io](https://quay.io/repository/sameersbn/gitlab) ```bash -docker pull sameersbn/gitlab:12.4.2 +docker pull sameersbn/gitlab:12.7.7 ``` You can also pull the `latest` tag which is built from the repository *HEAD* @@ -193,7 +193,7 @@ docker run --name gitlab -d \ --env 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \ --env 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ - sameersbn/gitlab:12.4.2 + sameersbn/gitlab:12.7.7 ``` *Please refer to [Available Configuration Parameters](#available-configuration-parameters) to understand `GITLAB_PORT` and other configuration options* @@ -228,7 +228,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` ## Database @@ -239,6 +239,10 @@ GitLab uses a database backend to store its data. You can configure this image t ### PostgreSQL +*NOTE:* PostgreSQL version 10 is highly recommended. + +While the GitLab will most likely work with even latest version of PostgreSQL, it is recommended to use version 10.x.x., because this docker image includes some PostgreSQL tools from release 10. These tools are used for backups and other database maintenance tasks. + #### External PostgreSQL Server The image also supports using an external PostgreSQL Server. This is also controlled via environment variables. @@ -261,7 +265,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` #### Linking to PostgreSQL Container @@ -305,7 +309,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` 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: @@ -332,7 +336,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` ### Linking to Redis Container @@ -359,7 +363,7 @@ We are now ready to start the GitLab application. ```bash docker run --name gitlab -d --link gitlab-redis:redisio \ - sameersbn/gitlab:12.4.2 + sameersbn/gitlab:12.7.7 ``` ### Mail @@ -372,7 +376,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` Please refer the [Available Configuration Parameters](#available-configuration-parameters) section for the list of SMTP parameters that can be specified. @@ -392,7 +396,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` Please refer the [Available Configuration Parameters](#available-configuration-parameters) section for the list of IMAP parameters that can be specified. @@ -469,7 +473,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` 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. @@ -485,7 +489,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` If you want to completely disable HSTS set `NGINX_HSTS_ENABLED` to `false`. @@ -508,7 +512,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` Again, drop the `--env 'SSL_SELF_SIGNED=true'` option if you are using CA certified SSL certificates. @@ -556,7 +560,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` GitLab will now be accessible at the `/git` path, e.g. `http://www.example.com/git`. @@ -729,14 +733,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:12.4.2 + sameersbn/gitlab:12.7.7 ``` 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:12.4.2 app:sanitize + sameersbn/gitlab:12.7.7 app:sanitize ``` ### Piwik @@ -1102,7 +1106,7 @@ Execute the rake task to create a backup. ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:12.4.2 app:rake gitlab:backup:create + sameersbn/gitlab:12.7.7 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. @@ -1137,14 +1141,14 @@ you need to prepare the database: ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:12.4.2 app:rake db:setup + sameersbn/gitlab:12.7.7 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:12.4.2 app:rake gitlab:backup:restore + sameersbn/gitlab:12.7.7 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. @@ -1153,7 +1157,7 @@ To avoid user interaction in the restore operation, specify the timestamp of the ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:12.4.2 app:rake gitlab:backup:restore BACKUP=1417624827 + sameersbn/gitlab:12.7.7 app:rake gitlab:backup:restore BACKUP=1417624827 ``` When using `docker-compose` you may use the following command to execute the restore. @@ -1203,7 +1207,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:12.4.2 app:rake gitlab:env:info + sameersbn/gitlab:12.7.7 app:rake gitlab:env:info ``` You can also use `docker exec` to run raketasks on running gitlab instance. For example, @@ -1216,7 +1220,7 @@ Similarly, to import bare repositories into GitLab project instance ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:12.4.2 app:rake gitlab:import:repos + sameersbn/gitlab:12.7.7 app:rake gitlab:import:repos ``` Or @@ -1247,7 +1251,7 @@ Copy all the **bare** git repositories to the `repositories/` directory of the [ ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:12.4.2 app:rake gitlab:import:repos + sameersbn/gitlab:12.7.7 app:rake gitlab:import:repos ``` Watch the logs and your repositories should be available into your new gitlab container. @@ -1269,12 +1273,12 @@ To upgrade to newer gitlab releases, simply follow this 4 step upgrade procedure > **Note** > -> Upgrading to `sameersbn/gitlab:12.4.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:12.7.7` 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:12.4.2 +docker pull sameersbn/gitlab:12.7.7 ``` - **Step 2**: Stop and remove the currently running image @@ -1300,7 +1304,7 @@ Replace `x.x.x` with the version you are upgrading from. For example, if you are > **Note**: Since GitLab `8.11.0` you need to provide the `GITLAB_SECRETS_SECRET_KEY_BASE` and `GITLAB_SECRETS_OTP_KEY_BASE` parameters while starting the image. These should initially both have the same value as the contents of the `/home/git/data/.secret` file. See [Available Configuration Parameters](#available-configuration-parameters) for more information on these parameters. ```bash -docker run --name gitlab -d [OPTIONS] sameersbn/gitlab:12.4.2 +docker run --name gitlab -d [OPTIONS] sameersbn/gitlab:12.7.7 ``` ## Shell Access diff --git a/VERSION b/VERSION index efcb73eed..5660ff109 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -12.4.2 +12.7.7 diff --git a/assets/build/install.sh b/assets/build/install.sh index b69018d6b..8eb05a1e5 100755 --- a/assets/build/install.sh +++ b/assets/build/install.sh @@ -88,12 +88,10 @@ chown -R ${GITLAB_USER}: ${GITLAB_SHELL_INSTALL_DIR} cd ${GITLAB_SHELL_INSTALL_DIR} exec_as_git cp -a config.yml.example config.yml -if [[ -x ./bin/compile ]]; then - echo "Compiling gitlab-shell golang executables..." - ./bin/compile - rm -rf go_build -fi -./bin/install + +echo "Compiling gitlab-shell golang executables..." +exec_as_git bundle install -j"$(nproc)" --deployment --with development test +exec_as_git "PATH=$PATH" make verify setup # remove unused repositories directory created by gitlab-shell install rm -rf ${GITLAB_HOME}/repositories diff --git a/docker-compose.yml b/docker-compose.yml index bf9639fa1..2948d98f0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ services: gitlab: restart: always - image: sameersbn/gitlab:12.4.2 + image: sameersbn/gitlab:12.7.7 depends_on: - redis - postgresql diff --git a/docs/container_registry.md b/docs/container_registry.md index ec066237f..174df05c3 100644 --- a/docs/container_registry.md +++ b/docs/container_registry.md @@ -284,7 +284,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:12.4.2 app:rake gitlab:backup:create + sameersbn/gitlab:12.7.7 app:rake gitlab:backup:create ``` ## Restoring Backups @@ -300,7 +300,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:12.4.2 app:rake gitlab:backup:restore + sameersbn/gitlab:12.7.7 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. @@ -309,7 +309,7 @@ To avoid user interaction in the restore operation, specify the timestamp of the ```bash docker run --name gitlab -it --rm [OPTIONS] \ - sameersbn/gitlab:12.4.2 app:rake gitlab:backup:restore BACKUP=1417624827 + sameersbn/gitlab:12.7.7 app:rake gitlab:backup:restore BACKUP=1417624827 ``` # Upgrading from an existing GitLab installation @@ -320,7 +320,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:12.4.2 +docker pull sameersbn/gitlab:12.7.7 ``` - **Step 2**: Stop and remove the currently running image @@ -373,7 +373,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:12.4.2 +sameersbn/gitlab:12.7.7 ``` diff --git a/kubernetes/gitlab-rc.yml b/kubernetes/gitlab-rc.yml index cb8655475..7b483b43e 100644 --- a/kubernetes/gitlab-rc.yml +++ b/kubernetes/gitlab-rc.yml @@ -14,7 +14,7 @@ spec: spec: containers: - name: gitlab - image: sameersbn/gitlab:12.4.2 + image: sameersbn/gitlab:12.7.7 env: - name: TZ value: Asia/Kolkata