darkwizard242.nodejs
Rol de Ansible: nodejs
Rol para instalar (por defecto) el paquete nodejs o desinstalar (si se pasa como variable) en sistemas basados en Debian y sistemas basados en EL. nodejs es un entorno de ejecución de JavaScript. npm y npx también se instalan como parte de este rol. La versión por defecto se establece para instalar la versión 18.x
de NodeJS, a menos que se especifique explícitamente para instalar otra versión específica, ya que la fuente del repositorio se basa en eso.
Requisitos
Ninguno.
Variables del Rol
Las variables disponibles se enumeran a continuación (ubicadas en defaults/main.yml
):
Lista de Variables:
nodejs_app: nodejs
nodejs_app_desired_state: present
nodejs_version: 18.x
# Basada en la familia de Debian
nodejs_debian_pre_reqs:
- apt-transport-https
- gnupg
nodejs_debian_pre_reqs_desired_state: present
nodejs_repo_debian_gpg_key: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
nodejs_repo_debian: "deb https://deb.nodesource.com/node_{{ nodejs_version }} {{ ansible_lsb['codename'] }} main"
nodejs_repo_debian_filename: "{{ nodejs_app }}"
nodejs_repo_debian_desired_state: present
# Basada en la familia de EL
nodejs_repo_el: "https://rpm.nodesource.com/pub_{{ nodejs_version }}/el/{{ ansible_distribution_major_version }}/$basearch"
nodejs_repo_el_name: nodesource
nodejs_repo_el_description: Repositorio EL de Node.js
nodejs_repo_el_gpgkey: https://rpm.nodesource.com/pub/el/NODESOURCE-GPG-SIGNING-KEY-EL
nodejs_repo_el_gpgcheck: yes
nodejs_repo_el_enabled: yes
nodejs_repo_el_filename: "{{ nodejs_app }}"
nodejs_repo_el_desired_state: present
Tabla de Variables:
Variable | Descripción |
---|---|
nodejs_app | Nombre del paquete de la aplicación nodejs que se requiere instalar, es decir, nodejs |
nodejs_app_desired_state | Estado del paquete nodejs_app. Si debe instalarse, verificar si está disponible o desinstalarse (es decir, valores del módulo apt de ansible: present , latest o absent ) |
nodejs_version | Versión de NodeJS a instalar. |
nodejs_debian_pre_reqs | NodeJS recomienda la instalación de ambos paquetes en sistemas de la familia Debian y, por lo tanto, se consideran requisitos previos. |
nodejs_debian_pre_reqs_desired_state | Estado deseado para las aplicaciones previas de NodeJS en sistemas de la familia Debian. |
nodejs_repo_debian_gpg_key | Clave GPG de NodeJS requerida en sistemas de la familia Debian |
nodejs_repo_debian | URL del repositorio de NodeJS para sistemas de la familia Debian. Se utilizan hechos como ansible_lsb['codename'] . |
nodejs_repo_debain_filename | Nombre del archivo del repositorio que se almacenará en /etc/apt/sources.list.d/ en sistemas basados en Debian. |
nodejs_repo_debian_desired_state | present indica que se debe crear el archivo del repositorio si no existe en sistemas basados en Debian. La alternativa es absent (no recomendado ya que evitará la instalación del paquete nodejs). |
nodejs_repo_el | baseurl del repositorio para NodeJS en sistemas basados en EL. Utiliza el hecho ansible_distribution_major_version para establecer la versión apropiada del sistema EL. |
nodejs_repo_el_name | Nombre del repositorio para NodeJS en sistemas basados en EL. |
nodejs_repo_el_description | Descripción a agregar en el archivo de repositorio EL para NodeJS. |
nodejs_repo_el_gpgkey | Clave GPG de NodeJS requerida en sistemas de la familia EL |
nodejs_repo_el_gpgcheck | Booleano para determinar si se debe realizar la verificación GPG contra NodeJS en sistemas basados en EL. |
nodejs_repo_el_enabled | Booleano que indica si el repositorio de NodeJS está habilitado en sistemas basados en EL. |
nodejs_repo_el_filename | Nombre del archivo del repositorio que se almacenará en /yum/sources.list.d/nodejs.repo en sistemas basados en EL. |
nodejs_repo_el_desired_state | present indica que se debe crear el archivo del repositorio si no existe en sistemas basados en EL. La alternativa es absent (no recomendado ya que evitará la instalación del paquete nodejs). |
Dependencias
Ninguna
Ejemplo de Playbook
Para el comportamiento predeterminado del rol (es decir, instalación del paquete nodejs) en playbooks de ansible.
- hosts: servers
roles:
- darkwizard242.nodejs
Para personalizar el comportamiento del rol (es decir, instalar la versión 12.x de nodejs como ejemplo) en playbooks de ansible.
- hosts: servers
roles:
- darkwizard242.nodejs
vars:
nodejs_version: 14.x
Para personalizar el comportamiento del rol (es decir, desinstalar el paquete nodejs) en playbooks de ansible.
- hosts: servers
roles:
- darkwizard242.nodejs
vars:
nodejs_apps_desired_state: absent
Licencia
Información del Autor
Este rol fue creado por Ali Muhammad.
Installs/Uninstalls 'nodejs'. A JavaScript runtime environment.
ansible-galaxy install darkwizard242.nodejs