From 54171e33f78caa9fff3d4625f0f1d6f329e9a3c1 Mon Sep 17 00:00:00 2001 From: Pirate Praveen Date: Fri, 19 Feb 2021 14:12:52 +0530 Subject: [PATCH] Regenerate Gemfile.lock before gitlab-sidekiq service start --- debian/gitlab-update-gemfile-lock.sh | 16 ++++++++++++++++ debian/gitlab.gitlab-sidekiq.service | 2 ++ debian/gitlab.install | 1 + debian/gitlab.links | 1 + debian/rake-tasks.sh | 4 ++++ 5 files changed, 24 insertions(+) create mode 100755 debian/gitlab-update-gemfile-lock.sh diff --git a/debian/gitlab-update-gemfile-lock.sh b/debian/gitlab-update-gemfile-lock.sh new file mode 100755 index 0000000000..1782895d74 --- /dev/null +++ b/debian/gitlab-update-gemfile-lock.sh @@ -0,0 +1,16 @@ +#! /bin/sh + +set -e + +# Read debian specific configuration +. /etc/gitlab-common/gitlab-common.conf +. /etc/gitlab/gitlab-debian.conf +export DB RAILS_ENV + +cd /usr/share/gitlab + +# Remove all lines from Gemfile.lock +runuser -u ${gitlab_user} -- sh -c "touch ${gitlab_data_dir}/Gemfile.lock && \ +truncate -s 0 ${gitlab_data_dir}/Gemfile.lock" +# Regenerate Gemfile.lock +runuser -u ${gitlab_user} -- sh -c '/usr/bin/bundle install --local' diff --git a/debian/gitlab.gitlab-sidekiq.service b/debian/gitlab.gitlab-sidekiq.service index 2ac84d965d..001ad44670 100644 --- a/debian/gitlab.gitlab-sidekiq.service +++ b/debian/gitlab.gitlab-sidekiq.service @@ -12,6 +12,8 @@ Type=simple WorkingDirectory=/usr/share/gitlab EnvironmentFile=/etc/gitlab/gitlab-debian.conf SyslogIdentifier=gitlab-sidekiq +ExecStartPre=truncate -s 0 Gemfile.lock +ExecStartPre=/usr/bin/bundle install --local ExecStart=/usr/bin/bundle exec sidekiq \ -C /etc/gitlab/sidekiq_queues.yml \ -e $RAILS_ENV diff --git a/debian/gitlab.install b/debian/gitlab.install index 213288414c..f7dfc51bef 100644 --- a/debian/gitlab.install +++ b/debian/gitlab.install @@ -12,6 +12,7 @@ debian/conf/nginx.ssl.conf.example usr/lib/gitlab/templates debian/rake-tasks.sh usr/lib/gitlab/scripts debian/gitlab-rake.sh usr/lib/gitlab/scripts debian/gitlab-rails-console.sh usr/lib/gitlab/scripts +debian/gitlab-update-gemfile-lock.sh usr/lib/gitlab/scripts .editorconfig usr/share/gitlab .license_encryption_key.pub usr/share/gitlab .markdownlint.json usr/share/gitlab diff --git a/debian/gitlab.links b/debian/gitlab.links index af476b0f69..90e0be6be2 100644 --- a/debian/gitlab.links +++ b/debian/gitlab.links @@ -37,3 +37,4 @@ usr/share/javascript/fuzzaldrin/fuzzaldrin-plus.js usr/share/gitlab/vendor/asset /var/lib/gitlab/Gemfile.lock /usr/share/gitlab/Gemfile.lock /usr/lib/gitlab/scripts/gitlab-rake.sh /usr/sbin/gitlab-rake /usr/lib/gitlab/scripts/gitlab-rails-console.sh /usr/sbin/gitlab-rails-console +/usr/lib/gitlab/scripts/gitlab-update-gemfile-lock.sh /usr/sbin/gitlab-update-gemfile-lock diff --git a/debian/rake-tasks.sh b/debian/rake-tasks.sh index f074560665..d500ef8269 100755 --- a/debian/rake-tasks.sh +++ b/debian/rake-tasks.sh @@ -10,6 +10,10 @@ cd /usr/share/gitlab # Workaround for #966653 /usr/bin/gem install -v 1.30.2 grpc +# Remove all lines from Gemfile.lock +runuser -u ${gitlab_user} -- sh -c "touch ${gitlab_data_dir}/Gemfile.lock && \ +truncate -s 0 ${gitlab_data_dir}/Gemfile.lock" +# Regenerate Gemfile.lock runuser -u ${gitlab_user} -- sh -c '/usr/bin/bundle install --local' # Check if the db is already present