51 lines
1.4 KiB
YAML
51 lines
1.4 KiB
YAML
---
|
|
- name: Install basic development packages
|
|
ansible.builtin.apt:
|
|
name:
|
|
# Development tools
|
|
- git
|
|
# Build tools
|
|
- build-essential
|
|
- python3
|
|
- python3-pip
|
|
state: present
|
|
become: true
|
|
|
|
- name: Check if NodeSource Node.js is installed
|
|
ansible.builtin.command: node --version
|
|
register: node_version_check
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: Add NodeSource GPG key
|
|
ansible.builtin.get_url:
|
|
url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
|
|
dest: /etc/apt/keyrings/nodesource.asc
|
|
mode: '0644'
|
|
become: true
|
|
when: node_version_check.rc != 0 or not node_version_check.stdout.startswith('v2')
|
|
|
|
- name: Add NodeSource repository
|
|
ansible.builtin.apt_repository:
|
|
repo: "deb [signed-by=/etc/apt/keyrings/nodesource.asc] https://deb.nodesource.com/node_22.x nodistro main"
|
|
state: present
|
|
update_cache: true
|
|
become: true
|
|
when: node_version_check.rc != 0 or not node_version_check.stdout.startswith('v2')
|
|
|
|
- name: Install Node.js 22 from NodeSource
|
|
ansible.builtin.apt:
|
|
name: nodejs
|
|
state: present
|
|
become: true
|
|
when: node_version_check.rc != 0 or not node_version_check.stdout.startswith('v2')
|
|
|
|
- name: Verify Node.js installation
|
|
ansible.builtin.command: node --version
|
|
register: final_node_version
|
|
changed_when: false
|
|
|
|
- name: Display Node.js version
|
|
ansible.builtin.debug:
|
|
msg: "Node.js version installed: {{ final_node_version.stdout }}"
|