diff --git a/defaults/main.yml b/defaults/main.yml index ec7929a410614c80b55c58d0e6f0d119f2ec944d..3f2f49cc4b128f6b6af21af8bfa72d612129db38 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -33,3 +33,7 @@ gitlab_runner_ssh_password: '' gitlab_runner_ssh_identity_file: '' # Runner Locked gitlab_runner_locked: 'false' + +# Runner machine +gitlab_runner_machine_idle_nodes: 0 +gitlab_runner_machine_idle_time: 60 diff --git a/tasks/global-setup.yml b/tasks/global-setup.yml index 403e175eeec09fe2cd02710d5995ff30f9d668c2..0844ff52c829f1d5bae6c5352495072d493fcf13 100644 --- a/tasks/global-setup.yml +++ b/tasks/global-setup.yml @@ -16,4 +16,3 @@ state: present backrefs: yes notify: restart_gitlab_runner - diff --git a/tasks/main.yml b/tasks/main.yml index afd14acd65e6e3a1ed54a2fd10c3158e878320bb..271996f829e209cd18da8edb22aa8dec69d2b7f7 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -7,9 +7,9 @@ import_tasks: install-redhat.yml when: ansible_os_family == 'RedHat' -- name: Set global options - import_tasks: global-setup.yml - - name: Register GitLab Runner import_tasks: register-runner.yml when: gitlab_runner_registration_token != '' + +- name: Set global options + import_tasks: global-setup.yml diff --git a/tasks/register-runner.yml b/tasks/register-runner.yml index 04d187f56a8ff87a5967a8303a516f3e76b1efa7..783b78231a9f0fa0a2d8ff199cfcecb805e4f1b5 100644 --- a/tasks/register-runner.yml +++ b/tasks/register-runner.yml @@ -30,7 +30,17 @@ --cache-s3-access-key '{{ gitlab_runner_cache_s3_access_key }}' --cache-s3-secret-key '{{ gitlab_runner_cache_s3_secret_key }}' --cache-s3-bucket-name '{{ gitlab_runner_cache_s3_bucket_name }}' - --cache-s3-insecure '{{ gitlab_runner_cache_s3_insecure }}' - --cache-cache-shared '{{ gitlab_runner_cache_cache_shared }}' + --cache-s3-insecure='{{ gitlab_runner_cache_s3_insecure }}' + --cache-cache-shared='{{ gitlab_runner_cache_cache_shared }}' {% endif %} + --machine-idle-nodes '{{ gitlab_runner_machine_idle_nodes }}' + --machine-idle-time '{{ gitlab_runner_machine_idle_time }}' + --machine-machine-driver 'digitalocean' + --machine-machine-name 'gitlab-runner-autoscale-%s' + --machine-machine-options 'digitalocean-image=coreos-stable' + --machine-machine-options 'digitalocean-ssh-user=core' + --machine-machine-options 'digitalocean-access-token={{ gitlab_runner_digital_ocean_token }}' + --machine-machine-options 'digitalocean-region={{ gitlab_runner_digital_ocean_region }}' + --machine-machine-options 'digitalocean-size={{ gitlab_runner_digital_ocean_size }}' + --machine-machine-options 'digitalocean-private-networking' when: configured_runners.stderr.find('\n' + gitlab_runner_description) == -1