Sha256: f5a743cf1ce5ffc82ab708db25f01c55b87089c567a47beedf2c90f2d3d927ab

Contents?: true

Size: 1.16 KB

Versions: 25

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

module Gitlab
  module QA
    module Support
      module ConfigScripts
        # Add a git server hooks with a custom error message
        # See https://docs.gitlab.com/ee/administration/server_hooks.html for details
        def self.add_git_server_hooks(docker, name)
          global_server_prereceive_hook = <<~SCRIPT
            #!/usr/bin/env bash

            if [[ \\\$GL_PROJECT_PATH =~ 'reject-prereceive' ]]; then
              echo 'GL-HOOK-ERR: Custom error message rejecting prereceive hook for projects with GL_PROJECT_PATH matching pattern reject-prereceive'
              exit 1
            fi
          SCRIPT

          [
            docker.exec(name, 'mkdir -p /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d'),
            docker.write_files(name) do |f|
              f.write(
                '/opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d/pre-receive.d',
                global_server_prereceive_hook, false
              )
            end,
            docker.exec(name, 'chmod +x /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d/*')
          ]
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
gitlab-qa-10.3.0.1 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-11.3.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-11.2.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-11.1.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-11.0.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.6.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.5.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.4.1 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.4.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.3.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.2.2 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.2.1 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.2.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.1.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-10.0.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-9.1.2 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-9.1.1 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-9.1.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-9.0.0 lib/gitlab/qa/support/config_scripts.rb
gitlab-qa-8.15.3 lib/gitlab/qa/support/config_scripts.rb