- name: Install Docker dependencies apt: name: [ 'ca-certificates', 'curl', 'gnupg', 'lsb-release' ] state: latest update_cache: yes - name: Add Docker GPG key apt_key: url: https://download.docker.com/linux/debian/gpg state: present - name: Add Docker repository apt_repository: repo: deb https://download.docker.com/linux/debian buster stable state: present - name: Install Docker apt: name: [ 'docker-ce', 'docker-ce-cli', 'containerd.io' ] state: latest update_cache: yes - name: Start Docker service: name: docker state: started enabled: yes - name: Add GitLab repository shell: cmd: curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | bash creates: /etc/apt/sources.list.d/runner_gitlab-runner.list - name: Pin gitlab-runner package copy: dest: /etc/apt/preferences.d/pin-gitlab-runner.pref content: | Explanation: Prefer GitLab provided packages over the Debian native ones Package: gitlab-runner Pin: origin packages.gitlab.com Pin-Priority: 1001 - name: Install GitLab Runner apt: name: gitlab-runner state: latest update_cache: yes - name: Register runner with GitLab command: cmd: > gitlab-runner register --non-interactive --url "https://git.vimium.com" --executor "docker" --docker-image alpine:latest --description "docker-runner" --tag-list "docker,hetzner" --run-untagged="true" --locked="false" --access-level="not_protected" --registration-token '{{ gitlab_runner_registration_token }}' && touch /etc/gitlab-runner-registered creates: /etc/gitlab-runner-registered no_log: true