e188ce71ca
We removed the default value, because having a default value actually makes no sense at all. To be helpful for any transitions, add a runtime check that the variable is set. Also, while we're at it, update the docs to indicate that the parameter is required. Change-Id: I1e18ea51d9d56561608ff241d71b63965c4f78bd
69 lines
1.8 KiB
YAML
69 lines
1.8 KiB
YAML
- name: Ensure we know what version of node to install
|
|
assert:
|
|
that: node_version is defined
|
|
|
|
- name: Update apt cache
|
|
apt:
|
|
update_cache: yes
|
|
become: yes
|
|
|
|
- name: Install prereqs
|
|
package:
|
|
name: apt-transport-https
|
|
state: present
|
|
become: yes
|
|
|
|
- name: Pin nodejs installs to nodesource
|
|
copy:
|
|
src: 00-nodesource.pref
|
|
dest: /etc/apt/preferences.d/00-nodesource.pref
|
|
mode: 0644
|
|
become: yes
|
|
|
|
- name: Add all repositories
|
|
include_role:
|
|
name: ensure-package-repositories
|
|
vars:
|
|
repositories_keys:
|
|
- url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
|
|
repositories_list:
|
|
- repo: deb-src https://deb.nodesource.com/node_{{ node_version }}.x {{ ansible_distribution_release }} main
|
|
- repo: deb https://deb.nodesource.com/node_{{ node_version }}.x {{ ansible_distribution_release }} main
|
|
when: node_version | int < 16
|
|
|
|
- name: Add all repositories
|
|
include_role:
|
|
name: ensure-package-repositories
|
|
vars:
|
|
repositories_keys:
|
|
- url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key
|
|
repositories_list:
|
|
- repo: deb https://deb.nodesource.com/node_{{ node_version }}.x nodistro main
|
|
when: node_version | int >= 16
|
|
|
|
# Use template so that we can easily update this in the future to be able to
|
|
# use a mirror location.
|
|
- name: Pin NodeJS to nodesource apt repository
|
|
become: yes
|
|
template:
|
|
dest: /etc/apt/preferences.d/nodejs.pref
|
|
group: root
|
|
mode: 0644
|
|
owner: root
|
|
src: nodejs.pref.j2
|
|
|
|
- name: Install NodeJS from nodesource
|
|
package:
|
|
name: nodejs
|
|
state: latest
|
|
become: yes
|
|
tags:
|
|
# Ignore ANSIBLE0010: We really want latest version
|
|
- skip_ansible_lint
|
|
|
|
- name: Output node version
|
|
command: node --version
|
|
|
|
- name: Output npm version
|
|
command: npm --version
|