-
Notifications
You must be signed in to change notification settings - Fork 281
/
Copy pathinstall-windows.yml
68 lines (59 loc) · 2.66 KB
/
install-windows.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
- name: (Windows) PRE-CHECK GitLab Runner exists
block:
- name: (Windows) Check gitlab-runner executable exists
ansible.windows.win_stat:
path: "{{ gitlab_runner_executable }}"
register: gitlab_runner_exists
- name: (Windows) Set fact -> gitlab_runner_exists
ansible.builtin.set_fact:
gitlab_runner_exists: "{{ gitlab_runner_exists.stat.exists }}"
- name: (Windows) Get existing version
ansible.windows.win_shell: "{{ gitlab_runner_executable }} --version | Select-String 'Version:' -CaseSensitive | %{ $_.Line.Split(' ')[-1].Trim(); }"
register: existing_version_shell
failed_when: false
check_mode: false
changed_when: false
- name: (Windows) Set fact -> gitlab_runner_existing_version
ansible.builtin.set_fact:
gitlab_runner_existing_version: "{{ existing_version_shell.stdout | trim if existing_version_shell.rc == 0 else '0' }}"
- name: (Windows) INSTALL GitLab Runner for Windows
when: (not gitlab_runner_exists)
block:
- name: (Windows) Ensure install directory exists
ansible.windows.win_file:
path: "{{ gitlab_runner_install_directory }}"
state: directory
- name: (Windows) Download GitLab Runner
ansible.windows.win_get_url:
url: "{{ gitlab_runner_download_url }}"
dest: "{{ gitlab_runner_executable }}"
force: true
- name: (Windows) Install GitLab Runner
ansible.windows.win_command: "{{ gitlab_runner_executable }} install"
args:
chdir: "{{ gitlab_runner_config_file_location }}"
when: (gitlab_runner_windows_service_user | length == 0) or (gitlab_runner_windows_service_password | length == 0)
- name: (Windows) Install GitLab Runner
ansible.windows.win_command: '{{ gitlab_runner_executable }} install --user "{{ gitlab_runner_windows_service_user }}" --password
"{{ gitlab_runner_windows_service_password }}"'
args:
chdir: "{{ gitlab_runner_config_file_location }}"
when:
- gitlab_runner_windows_service_user | length > 0
- gitlab_runner_windows_service_password | length > 0
- name: (Windows) Make sure runner is stopped
ansible.windows.win_command: "{{ gitlab_runner_executable }} stop"
failed_when: false
when:
- gitlab_runner_exists
- name: (Windows) UPGRADE GitLab Runner for Windows
when:
- gitlab_runner_exists
- gitlab_runner_existing_version != gitlab_runner_wanted_version or gitlab_runner_wanted_version == 'latest'
block:
- name: (Windows) Download GitLab Runner
ansible.windows.win_get_url:
url: "{{ gitlab_runner_download_url }}"
dest: "{{ gitlab_runner_executable }}"
force: true