Skip to content

Commit e1159dd

Browse files
wip
1 parent 5531210 commit e1159dd

File tree

2 files changed

+36
-8
lines changed

2 files changed

+36
-8
lines changed

defaults/main.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ runner_dir: "/opt/actions-runner"
55
# Version of the GitHub Actions Runner
66
runner_version: "2.165.2"
77

8+
# If found, replace already registered runner
9+
replace_runner: yes
10+
11+
# Do not show Ansible logs which may contain sensitive data (registration token)
12+
hide_sensitive_logs: no
13+
814
# Personal Access Token for your GitHub account
915
access_token: "{{ lookup('env', 'PERSONAL_ACCESS_TOKEN') }}"
1016

tasks/install_runner.yml

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@
1111
- install
1212

1313
- name: Download runner package version - "{{ runner_version }}"
14-
local_action:
15-
module: get_url
14+
get_url:
1615
url: "https://github.com/actions/runner/releases/download/v{{ runner_version }}/actions-runner-linux-x64-{{ runner_version }}.tar.gz"
17-
dest: ./actions-runner-linux.tar.gz
16+
dest: "./actions-runner-linux-{{ runner_version }}.tar.gz"
17+
force: no
1818
run_once: yes
19+
delegate_to: localhost
1920
when: runner_version != "latest"
2021
tags:
2122
- install
2223

2324
- name: Unarchive package
2425
unarchive:
25-
src: ./actions-runner-linux.tar.gz
26+
src: "./actions-runner-linux-{{ runner_version }}.tar.gz"
2627
dest: "{{ runner_dir }}/"
2728
owner: "{{ runner_user }}"
2829
tags:
@@ -58,14 +59,24 @@
5859

5960
- name: Check service facts
6061
service_facts:
62+
tags:
63+
- install
64+
- uninstall
65+
66+
- name: Combine Github account and repo names
67+
set_fact:
68+
svc_name: "{{ github_account }}-{{ github_repo }}"
6169

6270
- name: Build service name
6371
set_fact:
64-
runner_service: "actions.runner.{{ github_account }}-{{ github_repo }}.{{ ansible_hostname }}"
72+
runner_service: "actions.runner.{{ svc_name[:45] }}.{{ ansible_hostname }}.service"
73+
74+
- debug:
75+
var: services
6576

6677
- name: Stop and disable GitHub Actions Runner service
6778
systemd:
68-
name: "actions.runner.{{ github_account }}-{{ github_repo }}.{{ ansible_hostname }}"
79+
name: "{{ runner_service }}"
6980
state: stopped
7081
enabled: no
7182
when: runner_service in services
@@ -75,13 +86,24 @@
7586
- name: Unregister runner from the GitHub
7687
command: "{{ runner_dir }}/./config.sh remove --token {{ registration.json.token }} --unattended"
7788
become_user: "{{ runner_user }}"
78-
when: ansible_hostname in registered_runners.json.name
89+
no_log: "{{ hide_sensitive_logs }}"
90+
when: ansible_hostname in registered_runners.json.runners|map(attribute='name')|list
7991
tags:
8092
- uninstall
8193

8294
- name: Register runner
8395
command: "{{ runner_dir }}/config.sh --url {{ github_server }}/{{ github_account }}/{{ github_repo }} --token {{ registration.json.token }} --unattended"
8496
become_user: "{{ runner_user }}"
97+
no_log: "{{ hide_sensitive_logs }}"
98+
when: ansible_hostname not in registered_runners.json.runners|map(attribute='name')|list
99+
tags:
100+
- install
101+
102+
- name: Replace registered runner
103+
command: "{{ runner_dir }}/config.sh --url {{ github_server }}/{{ github_account }}/{{ github_repo }} --token {{ registration.json.token }} --unattended --replace"
104+
become_user: "{{ runner_user }}"
105+
no_log: "{{ hide_sensitive_logs }}"
106+
when: replace_runner and ansible_hostname in registered_runners.json.runners|map(attribute='name')|list
85107
tags:
86108
- install
87109

@@ -92,7 +114,7 @@
92114

93115
- name: Start and enable Github Actions Runner service
94116
systemd:
95-
name: "actions.runner.{{ github_account }}-{{ github_repo }}.{{ ansible_hostname }}"
117+
name: "{{ runner_service }}"
96118
state: started
97119
enabled: yes
98120
tags:

0 commit comments

Comments
 (0)