diff --git a/defaults/main.yml b/defaults/main.yml index 5cc044e8321849c11b710a6529eedbfca78eea3d..6355f21478cf1ddbdd3e19c717ad0c9292099248 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -19,4 +19,15 @@ gitlab_runner_docker_image: '' gitlab_runner_tags: [] # Docker privileged mode gitlab_runner_docker_privileged: false - +# Runner SSH user +gitlab_runner_ssh_user: '' +# Runner SSH host +gitlab_runner_ssh_host: '' +# Runner SSH port +gitlab_runner_ssh_port: '' +# Runner SSH password +gitlab_runner_ssh_password: '' +# Runner SSH identity file +gitlab_runner_ssh_identity_file: '' +# Runner Locked +gitlab_runner_locked: 'false' \ No newline at end of file diff --git a/handlers/main.yml b/handlers/main.yml index 84f1e43ec964baf9ca8f49caa70123684e669405..efc884cacedcfa3db75d437c665eaa42974e18c3 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,3 +1,4 @@ --- - name: restart_gitlab_runner service: name=gitlab-runner state=restarted + become: yes diff --git a/tasks/main.yml b/tasks/main.yml index 6d964db158b6d53516312870fc85002fce194ac4..afd14acd65e6e3a1ed54a2fd10c3158e878320bb 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,15 +1,15 @@ --- - name: Install GitLab Runner (Debian) - include: install-debian.yml + import_tasks: install-debian.yml when: ansible_os_family == 'Debian' - name: Install GitLab Runner (RedHat) - include: install-redhat.yml + import_tasks: install-redhat.yml when: ansible_os_family == 'RedHat' - name: Set global options - include: global-setup.yml + import_tasks: global-setup.yml - name: Register GitLab Runner - include: register-runner.yml + import_tasks: register-runner.yml when: gitlab_runner_registration_token != '' diff --git a/tasks/register-runner.yml b/tasks/register-runner.yml index cc72280338dadc0b2c242555609e81ab25df5757..94cce9c50291a7499aaefe74d49b1b26968e8410 100644 --- a/tasks/register-runner.yml +++ b/tasks/register-runner.yml @@ -12,11 +12,14 @@ --description '{{ gitlab_runner_description }}' --tag-list '{{ gitlab_runner_tags | join(",") }}' --executor '{{ gitlab_runner_executor }}' + --locked='{{gitlab_runner_locked}}' --docker-image '{{ gitlab_runner_docker_image }}' - --docker-volumes [ "{{ gitlab_runner_docker_volumes | join('", "') }}" ] - --ssh-user '{{gitlab_runner_ssh_user}}' - --ssh-host '{{gitlab_runner_ssh_host}}' - --ssh-port '{{gitlab_runner_ssh_port}}' - --ssh-password '{{gitlab_runner_ssh_password}}' - --ssh-identity-file '{{gitlab_runner_ssh_identity_file}}' - when: configured_runners.stderr.find('\n{{ gitlab_runner_description }}') == -1 + {% if gitlab_runner_docker_volumes is defined %} + --docker-volumes "{{ gitlab_runner_docker_volumes | join('" "') }}" + {% endif %} + --ssh-user '{{ gitlab_runner_ssh_user }}' + --ssh-host '{{ gitlab_runner_ssh_host }}' + --ssh-port '{{ gitlab_runner_ssh_port }}' + --ssh-password '{{ gitlab_runner_ssh_password }}' + --ssh-identity-file '{{ gitlab_runner_ssh_identity_file }}' + when: configured_runners.stderr.find('\n' + gitlab_runner_description) == -1