|
1 |
| -- name: Add an agent user group |
| 1 | +--- |
| 2 | +- name: Add an agent group {{ az_devops_agent_group }} |
2 | 3 | ansible.builtin.group:
|
3 | 4 | name: "{{ az_devops_agent_group }}"
|
| 5 | + gid: "{{ az_devops_agent_gid | default(omit) }}" |
4 | 6 | state: present
|
5 |
| - become: true |
6 | 7 |
|
7 | 8 | - name: Add an agent user
|
8 | 9 | ansible.builtin.user:
|
9 | 10 | name: "{{ az_devops_agent_user }}"
|
10 | 11 | group: "{{ az_devops_agent_group }}"
|
11 |
| - uid: "{{ az_devops_agent_uid|default(omit) }}" |
| 12 | + uid: "{{ az_devops_agent_uid | default(omit) }}" |
12 | 13 | comment: "Azure DevOps Agent"
|
13 | 14 | shell: /bin/bash
|
14 | 15 | become: true
|
15 | 16 |
|
16 | 17 | - name: Create directories
|
17 |
| - ansible.bulitin.file: |
| 18 | + ansible.builtin.file: |
18 | 19 | state: directory
|
19 | 20 | path: "{{ item }}"
|
20 | 21 | owner: "{{ az_devops_agent_user }}"
|
|
27 | 28 |
|
28 | 29 | - name: Install Legacy dependencies
|
29 | 30 | ansible.builtin.apt:
|
30 |
| - name: "{{ az_devops_agent_legacy_dependencies }}" |
| 31 | + deb: "{{ item }}" |
31 | 32 | state: present
|
| 33 | + loop: "{{ az_devops_agent_legacy_dependencies }}" |
32 | 34 | become: true
|
33 | 35 | when: ansible_os_family == "Debian"
|
34 | 36 |
|
|
51 | 53 | register: svc_sh
|
52 | 54 | become: true
|
53 | 55 | changed_when: false
|
54 |
| - check_mode: no |
| 56 | + check_mode: false |
55 | 57 |
|
56 | 58 | - name: Check service status
|
57 | 59 | ansible.builtin.command: ./svc.sh status
|
|
60 | 62 | chdir: "{{ az_devops_agent_folder }}"
|
61 | 63 | register: svc_status
|
62 | 64 | changed_when: false
|
63 |
| - check_mode: no |
| 65 | + check_mode: false |
64 | 66 | when: svc_sh.stat.exists
|
65 | 67 |
|
66 | 68 | - name: Check if bin/Agent.Listener exists
|
|
69 | 71 | register: bin_agent_listener
|
70 | 72 | become: true
|
71 | 73 | changed_when: false
|
72 |
| - check_mode: no |
| 74 | + check_mode: false |
73 | 75 |
|
74 | 76 | - name: Check agent version
|
75 | 77 | ansible.builtin.command: ./bin/Agent.Listener --version
|
|
78 | 80 | chdir: "{{ az_devops_agent_folder }}"
|
79 | 81 | register: agent_listener_version
|
80 | 82 | changed_when: false
|
81 |
| - check_mode: no |
| 83 | + check_mode: false |
82 | 84 | when: bin_agent_listener.stat.exists
|
83 | 85 |
|
84 | 86 | - name: Set agent config facts
|
|
114 | 116 |
|
115 | 117 | - name: Add deployment group tags
|
116 | 118 | ansible.builtin.set_fact:
|
117 |
| - deployment_agent_cmd_args: "{{ deployment_agent_cmd_args }} + |
118 |
| - ['--addDeploymentGroupTags', '--deploymentGroupTags \\'{{ az_devops_deployment_group_tags }}\\'']" |
| 119 | + deployment_agent_cmd_args: "{{ deployment_agent_cmd_args + ['--addDeploymentGroupTags', '--deploymentGroupTags', az_devops_deployment_group_tags] }}" |
119 | 120 | when:
|
120 |
| - - az_devops_deployment_group_tags is defined |
| 121 | + - az_devops_deployment_group_tags is defined and az_devops_deployment_group_tags != None |
121 | 122 |
|
122 |
| -- name: Set proxy |
| 123 | +- name: Set proxy url |
123 | 124 | ansible.builtin.set_fact:
|
124 |
| - agent_cmd_args: "{{ agent_cmd_args }} + ['--proxyurl \\'{{ az_devops_proxy_url }}\\'', '--proxyusername \\'{{ az_devops_proxy_username }}\\'', '--proxypassword \\'{{ az_devops_proxy_password }}\\'']" |
| 125 | + agent_cmd_args: "{{ agent_cmd_args + ['--proxyurl', az_devops_proxy_url] }}" |
125 | 126 | when:
|
126 |
| - - az_devops_proxy_url is defined |
| 127 | + - az_devops_proxy_url is defined and az_devops_proxy_url != None |
127 | 128 |
|
128 |
| -- name: Download and unarchive |
| 129 | +- name: Set proxy user and password |
| 130 | + ansible.builtin.set_fact: |
| 131 | + agent_cmd_args: "{{ agent_cmd_args + ['--proxyusername', az_devops_proxy_username, '--proxypassword', az_devops_proxy_password] }}" |
| 132 | + when: |
| 133 | + - az_devops_proxy_url is defined and az_devops_proxy_url != None and az_devops_proxy_username != None and az_devops_proxy_password != None |
| 134 | + |
| 135 | +- name: Download {{ az_devops_agent_package_url }} |
| 136 | + ansible.builtin.get_url: |
| 137 | + url: "{{ az_devops_agent_package_url }}" |
| 138 | + dest: "/tmp/az_devops_agent_package.tar.gz" |
| 139 | + mode: "0644" |
| 140 | + |
| 141 | +- name: Unarchive /tmp/az_devops_agent_package.tar.gz |
129 | 142 | ansible.builtin.unarchive:
|
130 |
| - src: "{{ az_devops_agent_package_url }}" |
| 143 | + src: "/tmp/az_devops_agent_package.tar.gz" |
131 | 144 | dest: "{{ az_devops_agent_folder }}"
|
132 |
| - remote_src: yes |
| 145 | + remote_src: true |
133 | 146 | owner: "{{ az_devops_agent_user }}"
|
134 | 147 | group: "{{ az_devops_agent_group }}"
|
135 | 148 | become: true
|
|
159 | 172 |
|
160 | 173 | - name: Add '--replace' configuration argument
|
161 | 174 | ansible.builtin.set_fact:
|
162 |
| - build_agent_cmd_args: "{{ build_agent_cmd_args }} + ['--replace']" |
163 |
| - deployment_agent_cmd_args: "{{ build_agent_cmd_args }} + ['--replace']" |
164 |
| - resource_agent_cmd_args: "{{ resource_agent_cmd_args }} + ['--replace']" |
| 175 | + build_agent_cmd_args: "{{ build_agent_cmd_args + ['--replace'] }}" |
| 176 | + deployment_agent_cmd_args: "{{ build_agent_cmd_args + ['--replace'] }}" |
| 177 | + resource_agent_cmd_args: "{{ resource_agent_cmd_args + ['--replace'] }}" |
165 | 178 | when:
|
166 | 179 | - az_devops_agent_replace_existing
|
167 | 180 |
|
|
204 | 217 | section: null
|
205 | 218 | option: "{{ item.key }}"
|
206 | 219 | value: "{{ item.value }}"
|
207 |
| - no_extra_spaces: yes |
| 220 | + no_extra_spaces: true |
208 | 221 | owner: "{{ az_devops_agent_user }}"
|
209 | 222 | group: "{{ az_devops_agent_group }}"
|
| 223 | + mode: "0640" |
210 | 224 | loop: "{{ az_devops_agent_user_capabilities | default({}) | dict2items }}"
|
211 | 225 | become: true
|
212 | 226 |
|
213 | 227 | - name: Install agent service
|
214 | 228 | ansible.builtin.command: ./svc.sh install {{ az_devops_agent_user }}
|
| 229 | + register: agent_install |
| 230 | + failed_when: agent_install.rc != 0 |
| 231 | + changed_when: agent_install.rc == 0 |
215 | 232 | become: true
|
216 | 233 | args:
|
217 | 234 | chdir: "{{ az_devops_agent_folder }}"
|
|
220 | 237 |
|
221 | 238 | - name: Start agent service
|
222 | 239 | ansible.builtin.command: ./svc.sh start
|
| 240 | + register: agent_start |
| 241 | + failed_when: agent_start.rc != 0 |
| 242 | + changed_when: agent_start.rc == 0 |
223 | 243 | become: true
|
224 | 244 | args:
|
225 | 245 | chdir: "{{ az_devops_agent_folder }}"
|
226 | 246 | when:
|
227 | 247 | - (not service_is_running) or reconfigure_or_replace
|
| 248 | +... |
0 commit comments