49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
---
|
|
# file: roles/nodejs/tasks/main.yml
|
|
|
|
- name: "make sure /etc/apt/keyrings exists"
|
|
file:
|
|
path: "/etc/apt/keyrings"
|
|
state: directory
|
|
tags: nodejs
|
|
|
|
- name: "download modern signature key"
|
|
get_url:
|
|
url: "https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key"
|
|
dest: "/dev/shm/nodesource-repo.gpg.key"
|
|
changed_when: false
|
|
tags: nodejs
|
|
|
|
- name: "install modern signature key"
|
|
shell:
|
|
cmd: "cat /dev/shm/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg"
|
|
creates: "/etc/apt/keyrings/nodesource.gpg"
|
|
tags: nodejs
|
|
|
|
- name: "repository file"
|
|
copy:
|
|
content: "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_{{ nodejs_version }}.x nodistro main\n"
|
|
dest: "/etc/apt/sources.list.d/nodesource.list"
|
|
register: repo
|
|
tags: nodejs
|
|
|
|
- name: "refresh apt if repo was modified"
|
|
apt:
|
|
update_cache: yes
|
|
when: repo.changed
|
|
tags: nodejs
|
|
|
|
- name: "/etc/apt/preferences.d/"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "/etc/apt/preferences.d/{{ item }}"
|
|
loop:
|
|
- 91_nodejs
|
|
- 92_nsolid
|
|
tags: nodejs
|
|
|
|
- name: "apt install nodejs (includes npm)"
|
|
apt:
|
|
name:
|
|
- nodejs
|
|
tags: nodejs
|