|
| 1 | +- name: Add an agent user group |
| 2 | + ansible.builtin.group: |
| 3 | + name: "{{ az_devops_agent_group }}" |
| 4 | + state: present |
| 5 | + become: true |
| 6 | + |
1 | 7 | - name: Add an agent user
|
2 |
| - user: |
| 8 | + ansible.builtin.user: |
3 | 9 | name: "{{ az_devops_agent_user }}"
|
4 | 10 | group: "{{ az_devops_agent_group }}"
|
5 | 11 | uid: "{{ az_devops_agent_uid|default(omit) }}"
|
|
8 | 14 | become: true
|
9 | 15 |
|
10 | 16 | - name: Create directories
|
11 |
| - file: |
| 17 | + ansible.bulitin.file: |
12 | 18 | state: directory
|
13 | 19 | path: "{{ item }}"
|
14 | 20 | owner: "{{ az_devops_agent_user }}"
|
|
19 | 25 | - "{{ az_devops_work_folder }}"
|
20 | 26 | become: true
|
21 | 27 |
|
| 28 | +- name: Install Legacy dependencies |
| 29 | + ansible.builtin.apt: |
| 30 | + name: "{{ az_devops_agent_legacy_dependencies }}" |
| 31 | + state: present |
| 32 | + become: true |
| 33 | + when: ansible_os_family == "Debian" |
| 34 | + |
| 35 | +- name: Patch openssl config when using legacy ssl 1 on modern system |
| 36 | + ansible.builtin.lineinfile: |
| 37 | + dest: /etc/ssl/openssl.cnf |
| 38 | + regexp: '^openssl_conf =' |
| 39 | + line: '# openssl_conf =' |
| 40 | + when: az_devops_agent_legacy_dependencies | length>0 |
| 41 | + |
22 | 42 | - name: Install dependencies
|
23 |
| - package: |
| 43 | + ansible.builtin.package: |
24 | 44 | name: "{{ az_devops_agent_dependencies }}"
|
25 | 45 | state: present
|
26 | 46 | become: true
|
27 | 47 |
|
28 | 48 | - name: Check if svc.sh exists
|
29 |
| - stat: |
| 49 | + ansible.builtin.stat: |
30 | 50 | path: "{{ '/'.join((az_devops_agent_folder, 'svc.sh')) }}"
|
31 | 51 | register: svc_sh
|
32 | 52 | become: true
|
33 | 53 | changed_when: false
|
34 | 54 | check_mode: no
|
35 | 55 |
|
36 | 56 | - name: Check service status
|
37 |
| - command: ./svc.sh status |
| 57 | + ansible.builtin.command: ./svc.sh status |
38 | 58 | become: true
|
39 | 59 | args:
|
40 | 60 | chdir: "{{ az_devops_agent_folder }}"
|
|
44 | 64 | when: svc_sh.stat.exists
|
45 | 65 |
|
46 | 66 | - name: Check if bin/Agent.Listener exists
|
47 |
| - stat: |
| 67 | + ansible.builtin.stat: |
48 | 68 | path: "{{ '/'.join((az_devops_agent_folder, 'bin/Agent.Listener')) }}"
|
49 | 69 | register: bin_agent_listener
|
50 | 70 | become: true
|
51 | 71 | changed_when: false
|
52 | 72 | check_mode: no
|
53 | 73 |
|
54 | 74 | - name: Check agent version
|
55 |
| - command: ./bin/Agent.Listener --version |
| 75 | + ansible.builtin.command: ./bin/Agent.Listener --version |
56 | 76 | become: true
|
57 | 77 | args:
|
58 | 78 | chdir: "{{ az_devops_agent_folder }}"
|
|
62 | 82 | when: bin_agent_listener.stat.exists
|
63 | 83 |
|
64 | 84 | - name: Set agent config facts
|
65 |
| - set_fact: |
| 85 | + ansible.builtin.set_fact: |
66 | 86 | agent_cmd_args:
|
67 | 87 | - "./config.sh"
|
68 | 88 | - "--unattended"
|
|
89 | 109 | is_requested_version: "{{ bin_agent_listener.stat.exists and agent_listener_version.stdout is defined and agent_listener_version.stdout == az_devops_agent_version }}"
|
90 | 110 |
|
91 | 111 | - name: Determine if the agent should be reconfigured or replaced
|
92 |
| - set_fact: |
| 112 | + ansible.builtin.set_fact: |
93 | 113 | reconfigure_or_replace: "{{ az_devops_reconfigure_agent or az_devops_agent_replace_existing or not is_requested_version }}"
|
94 | 114 |
|
95 | 115 | - name: Add deployment group tags
|
96 |
| - set_fact: |
| 116 | + ansible.builtin.set_fact: |
97 | 117 | deployment_agent_cmd_args: "{{ deployment_agent_cmd_args }} +
|
98 | 118 | ['--addDeploymentGroupTags', '--deploymentGroupTags \\'{{ az_devops_deployment_group_tags }}\\'']"
|
99 | 119 | when:
|
100 | 120 | - az_devops_deployment_group_tags is defined
|
101 | 121 |
|
102 | 122 | - name: Set proxy
|
103 |
| - set_fact: |
| 123 | + ansible.builtin.set_fact: |
104 | 124 | agent_cmd_args: "{{ agent_cmd_args }} + ['--proxyurl \\'{{ az_devops_proxy_url }}\\'', '--proxyusername \\'{{ az_devops_proxy_username }}\\'', '--proxypassword \\'{{ az_devops_proxy_password }}\\'']"
|
105 | 125 | when:
|
106 | 126 | - az_devops_proxy_url is defined
|
107 | 127 |
|
108 | 128 | - name: Download and unarchive
|
109 |
| - unarchive: |
| 129 | + ansible.builtin.unarchive: |
110 | 130 | src: "{{ az_devops_agent_package_url }}"
|
111 | 131 | dest: "{{ az_devops_agent_folder }}"
|
112 | 132 | remote_src: yes
|
|
117 | 137 | - (not service_is_installed) or reconfigure_or_replace
|
118 | 138 |
|
119 | 139 | - name: Uninstall agent service
|
120 |
| - command: ./svc.sh uninstall |
| 140 | + ansible.builtin.command: ./svc.sh uninstall |
121 | 141 | become: true
|
122 | 142 | args:
|
123 | 143 | chdir: "{{ az_devops_agent_folder }}"
|
|
127 | 147 | - reconfigure_or_replace
|
128 | 148 |
|
129 | 149 | - name: Unconfigure agent
|
130 |
| - command: "./config.sh remove --auth PAT --token {{ az_devops_accesstoken }}" |
| 150 | + ansible.builtin.command: "./config.sh remove --auth PAT --token {{ az_devops_accesstoken }}" |
131 | 151 | args:
|
132 | 152 | chdir: "{{ az_devops_agent_folder }}"
|
133 | 153 | removes: "{{ az_devops_agent_folder }}/.agent"
|
|
138 | 158 | - reconfigure_or_replace
|
139 | 159 |
|
140 | 160 | - name: Add '--replace' configuration argument
|
141 |
| - set_fact: |
| 161 | + ansible.builtin.set_fact: |
142 | 162 | build_agent_cmd_args: "{{ build_agent_cmd_args }} + ['--replace']"
|
143 | 163 | deployment_agent_cmd_args: "{{ build_agent_cmd_args }} + ['--replace']"
|
144 | 164 | resource_agent_cmd_args: "{{ resource_agent_cmd_args }} + ['--replace']"
|
145 | 165 | when:
|
146 | 166 | - az_devops_agent_replace_existing
|
147 | 167 |
|
148 | 168 | - name: Configure agent as a build server
|
149 |
| - command: "{{ (agent_cmd_args + build_agent_cmd_args) | join(' ') }}" |
| 169 | + ansible.builtin.command: "{{ (agent_cmd_args + build_agent_cmd_args) | join(' ') }}" |
150 | 170 | args:
|
151 | 171 | chdir: "{{ az_devops_agent_folder }}"
|
152 | 172 | creates: "{{ az_devops_agent_folder }}/.agent"
|
|
157 | 177 | - (not service_is_installed) or reconfigure_or_replace
|
158 | 178 |
|
159 | 179 | - name: Configure agent as a deployment server
|
160 |
| - command: "{{ (agent_cmd_args + deployment_agent_cmd_args) | join(' ') }}" |
| 180 | + ansible.builtin.command: "{{ (agent_cmd_args + deployment_agent_cmd_args) | join(' ') }}" |
161 | 181 | args:
|
162 | 182 | chdir: "{{ az_devops_agent_folder }}"
|
163 | 183 | creates: "{{ az_devops_agent_folder }}/.agent"
|
|
168 | 188 | - (not service_is_installed) or reconfigure_or_replace
|
169 | 189 |
|
170 | 190 | - name: Configure agent as an environment resource
|
171 |
| - command: "{{ (agent_cmd_args + resource_agent_cmd_args) | join(' ') }}" |
| 191 | + ansible.builtin.command: "{{ (agent_cmd_args + resource_agent_cmd_args) | join(' ') }}" |
172 | 192 | args:
|
173 | 193 | chdir: "{{ az_devops_agent_folder }}"
|
174 | 194 | creates: "{{ az_devops_agent_folder }}/.agent"
|
|
191 | 211 | become: true
|
192 | 212 |
|
193 | 213 | - name: Install agent service
|
194 |
| - command: ./svc.sh install {{ az_devops_agent_user }} |
| 214 | + ansible.builtin.command: ./svc.sh install {{ az_devops_agent_user }} |
195 | 215 | become: true
|
196 | 216 | args:
|
197 | 217 | chdir: "{{ az_devops_agent_folder }}"
|
198 | 218 | when:
|
199 | 219 | - (not service_is_installed) or reconfigure_or_replace
|
200 | 220 |
|
201 | 221 | - name: Start agent service
|
202 |
| - command: ./svc.sh start |
| 222 | + ansible.builtin.command: ./svc.sh start |
203 | 223 | become: true
|
204 | 224 | args:
|
205 | 225 | chdir: "{{ az_devops_agent_folder }}"
|
|
0 commit comments