diff options
author | Eugenia Grieff <egrieff@gitlab.com> | 2019-09-04 09:52:06 +0100 |
---|---|---|
committer | Eugenia Grieff <egrieff@gitlab.com> | 2019-09-04 09:52:06 +0100 |
commit | a3b4d920ba7791739300a9dcde0d18897b13afcb (patch) | |
tree | 52433c6cb061d1999ec8e40546718ea182593ba2 /qa/qa/service/runner.rb | |
parent | 9039a937661ea7190d1615b9b0141504afbb75dc (diff) | |
parent | fb9e8646bdb9f3f1382a86da890ff509f1b4549c (diff) | |
download | gitlab-ce-60372-milestone-link-prevent-delete-issue-after-move-it-to-another-project-2.tar.gz |
Merge branch 'master' into 60372-milestone-link-prevent-delete-issue-after-move-it-to-another-project-260372-milestone-link-prevent-delete-issue-after-move-it-to-another-project-2
Diffstat (limited to 'qa/qa/service/runner.rb')
-rw-r--r-- | qa/qa/service/runner.rb | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/qa/qa/service/runner.rb b/qa/qa/service/runner.rb index 03b234f7a56..6fc5984b12a 100644 --- a/qa/qa/service/runner.rb +++ b/qa/qa/service/runner.rb @@ -7,13 +7,25 @@ module QA class Runner include Service::Shellout - attr_accessor :token, :address, :tags, :image + attr_accessor :token, :address, :tags, :image, :run_untagged + attr_writer :config def initialize(name) @image = 'gitlab/gitlab-runner:alpine' @name = name || "qa-runner-#{SecureRandom.hex(4)}" @network = Runtime::Scenario.attributes[:network] || 'test' @tags = %w[qa test] + @run_untagged = false + end + + def config + @config ||= <<~END + concurrent = 1 + check_interval = 0 + + [session_server] + session_timeout = 1800 + END end def network @@ -32,19 +44,30 @@ module QA shell <<~CMD.tr("\n", ' ') docker run -d --rm --entrypoint=/bin/sh --network #{network} --name #{@name} + -p 8093:8093 -e CI_SERVER_URL=#{@address} -e REGISTER_NON_INTERACTIVE=true -e REGISTRATION_TOKEN=#{@token} -e RUNNER_EXECUTOR=shell -e RUNNER_TAG_LIST=#{@tags.join(',')} -e RUNNER_NAME=#{@name} - #{@image} -c 'gitlab-runner register && gitlab-runner run' + #{@image} -c "#{register_command}" CMD end def remove! shell "docker rm -f #{@name}" end + + private + + def register_command + <<~CMD + printf '#{config.chomp.gsub(/\n/, "\\n").gsub('"', '\"')}' > /etc/gitlab-runner/config.toml && + gitlab-runner register --run-untagged=#{@run_untagged} && + gitlab-runner run + CMD + end end end end |