From 20479d3784a900127fcd5d74146052f5e0976604 Mon Sep 17 00:00:00 2001 From: Erick Hitter <git-contrib@ethitter.com> Date: Sun, 5 Aug 2018 01:22:20 -0700 Subject: [PATCH] Working Docker Machine support See #15 --- defaults/main.yml | 6 +++++- tasks/install-docker-machine.yml | 10 ++++++++++ tasks/install-docker.yml | 16 ++++++++++++++++ tasks/main.yml | 6 ++++++ tasks/register-runner.yml | 2 +- 5 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 tasks/install-docker-machine.yml create mode 100644 tasks/install-docker.yml diff --git a/defaults/main.yml b/defaults/main.yml index 3f2f49c..951897e 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -36,4 +36,8 @@ gitlab_runner_locked: 'false' # Runner machine gitlab_runner_machine_idle_nodes: 0 -gitlab_runner_machine_idle_time: 60 +gitlab_runner_machine_idle_time: 2 + +# Docker Machine +docker_machine_version: 'v0.15.0' +docker_machine_binary_dest: /usr/local/bin/docker-machine diff --git a/tasks/install-docker-machine.yml b/tasks/install-docker-machine.yml new file mode 100644 index 0000000..b6f2841 --- /dev/null +++ b/tasks/install-docker-machine.yml @@ -0,0 +1,10 @@ +--- + +- name: Get Docker Machine + get_url: + url: "https://github.com/docker/machine/releases/download/{{ docker_machine_version }}/docker-machine-{{ ansible_system }}-{{ ansible_architecture }}" + dest: /tmp/docker-machine + +- name: Install Docker Machine + command: 'install /tmp/docker-machine {{ docker_machine_binary_dest }}' + become: true diff --git a/tasks/install-docker.yml b/tasks/install-docker.yml new file mode 100644 index 0000000..2f3500c --- /dev/null +++ b/tasks/install-docker.yml @@ -0,0 +1,16 @@ +--- +- name: Add Docker signing key + apt_key: + url: https://download.docker.com/linux/debian/gpg + state: present + +- name: Add Docker repo + apt_repository: + repo: 'deb [arch=amd64] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable' + state: present + filename: 'docker' + +- name: Install Docker + apt: + pkg: docker-ce + update_cache: true diff --git a/tasks/main.yml b/tasks/main.yml index 271996f..d08afac 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -7,6 +7,12 @@ import_tasks: install-redhat.yml when: ansible_os_family == 'RedHat' +- name: Install Docker + import_tasks: install-docker.yml + +- name: Install Docker Machine + import_tasks: install-docker-machine.yml + - name: Register GitLab Runner import_tasks: register-runner.yml when: gitlab_runner_registration_token != '' diff --git a/tasks/register-runner.yml b/tasks/register-runner.yml index 783b782..c44bf3f 100644 --- a/tasks/register-runner.yml +++ b/tasks/register-runner.yml @@ -36,7 +36,7 @@ --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-name 'gitlab-%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 }}' -- GitLab