diff --git a/defaults/main.yml b/defaults/main.yml index 3f2f49cc4b128f6b6af21af8bfa72d612129db38..951897ed08a31850ae7438d46c04245512d8b8b5 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 0000000000000000000000000000000000000000..b6f284102e702e2459d6df48268853ba4013bdf5 --- /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 0000000000000000000000000000000000000000..2f3500cd53f66c1a7c74e36db1e3643786e68ec1 --- /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 271996f829e209cd18da8edb22aa8dec69d2b7f7..d08afac84a8ac7b79f905b6ee355cbe8b63e01de 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 783b78231a9f0fa0a2d8ff199cfcecb805e4f1b5..c44bf3f44b3fd6383788c5e99794946d662f2f8c 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 }}'