From 72f4307ebbb3e041d3241f0a5a39f2d06741e0d5 Mon Sep 17 00:00:00 2001 From: Erick Hitter <git-contrib@ethitter.com> Date: Sat, 4 Aug 2018 23:39:22 -0700 Subject: [PATCH] Add support for Docker Machine with Digital Ocean driver --- defaults/main.yml | 4 ++++ tasks/global-setup.yml | 1 - tasks/main.yml | 6 +++--- tasks/register-runner.yml | 14 ++++++++++++-- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index ec7929a..3f2f49c 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 403e175..0844ff5 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 afd14ac..271996f 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 04d187f..783b782 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 -- GitLab